1 /* Do not modify this file. */
2 /* It is created automatically by the ASN.1 to Wireshark dissector compiler */
4 /* ../../tools/asn2wrs.py -b -e -p camel -c camel.cnf -s packet-camel-template camel.asn */
6 /* Input file: packet-camel-template.c */
8 #line 1 "packet-camel-template.c"
9 /* packet-camel-template.c
11 * Copyright 2004, Tim Endean <endeant@hotmail.com>
12 * Copyright 2005, Olivier Jacques <olivier.jacques@hp.com>
13 * Copyright 2005, Javier AcuÇña <javier.acuna@sixbell.com>
14 * Updated to ETSI TS 129 078 V6.4.0 (2004-3GPP TS 29.078 version 6.4.0 Release 6 1 12)
15 * Copyright 2005-2006, Anders Broman <anders.broman@ericsson.com>
16 * Built from the gsm-map dissector Copyright 2004, Anders Broman <anders.broman@ericsson.com>
20 * Wireshark - Network traffic analyzer
21 * By Gerald Combs <gerald@wireshark.org>
22 * Copyright 1998 Gerald Combs
24 * This program is free software; you can redistribute it and/or
25 * modify it under the terms of the GNU General Public License
26 * as published by the Free Software Foundation; either version 2
27 * of the License, or (at your option) any later version.
29 * This program is distributed in the hope that it will be useful,
30 * but WITHOUT ANY WARRANTY; without even the implied warranty of
31 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
32 * GNU General Public License for more details.
34 * You should have received a copy of the GNU General Public License
35 * along with this program; if not, write to the Free Software
36 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
37 * References: ETSI 300 374
40 * Indentation logic: this file is indented with 2 spaces indentation.
48 #include <epan/packet.h>
49 #include <epan/prefs.h>
50 #include <epan/conversation.h>
51 #include <epan/oid_resolv.h>
57 #include "packet-ber.h"
58 #include "packet-camel.h"
59 #include "packet-q931.h"
60 #include "packet-e164.h"
61 #include "packet-isup.h"
62 #include "packet-gsm_map.h"
63 #include "packet-gsm_a.h"
64 #include "packet-tcap.h"
67 #define PSNAME "CAMEL"
68 #define PFNAME "camel"
70 /* Initialize the protocol and registered fields */
72 int date_format = 1; /*assume european date format */
73 static int hf_digit = -1;
74 static int hf_camel_invokeCmd = -1; /* Opcode */
75 static int hf_camel_invokeid = -1; /* INTEGER */
76 static int hf_camel_linkedID = -1; /* INTEGER */
77 static int hf_camel_absent = -1; /* NULL */
78 static int hf_camel_invokeId = -1; /* InvokeId */
79 static int hf_camel_invoke = -1; /* InvokePDU */
80 static int hf_camel_returnResult = -1; /* InvokePDU */
81 static int hf_camel_returnResult_result = -1;
82 static int hf_camel_getPassword = -1;
83 static int hf_camel_currentPassword = -1;
84 static int hf_camel_nature_of_number = -1;
85 static int hf_camel_number_plan = -1;
86 static int hf_camel_imsi_digits = -1;
87 static int hf_camel_addr_extension = -1;
88 static int hf_camel_addr_natureOfAddressIndicator = -1;
89 static int hf_camel_addr_nature_of_number = -1;
90 static int hf_camel_addr_numberingPlanInd = -1;
91 static int hf_camel_addr_digits = -1;
92 static int hf_camel_cause_indicator = -1;
93 static int hf_camel_PDPTypeNumber_etsi = -1;
94 static int hf_camel_PDPTypeNumber_ietf = -1;
95 static int hf_camel_PDPAddress_IPv4 = -1;
96 static int hf_camel_PDPAddress_IPv6 = -1;
97 static int hf_camel_cellGlobalIdOrServiceAreaIdFixedLength = -1;
99 /*--- Included file: packet-camel-hf.c ---*/
100 #line 1 "packet-camel-hf.c"
101 static int hf_camel_reserved = -1; /* INTEGER */
102 static int hf_camel_aoc = -1; /* INTEGER */
103 static int hf_camel_standardPartEnd = -1; /* INTEGER */
104 static int hf_camel_genOfVoiceAnn = -1; /* INTEGER */
105 static int hf_camel_voiceInfo2 = -1; /* INTEGER */
106 static int hf_camel_voiceInfo1 = -1; /* INTEGER */
107 static int hf_camel_voiceBack1 = -1; /* INTEGER */
108 static int hf_camel_iPRoutAdd = -1; /* INTEGER */
109 static int hf_camel_bilateralPart = -1; /* OCTET_STRING_SIZE_0_3 */
110 static int hf_camel_extension = -1; /* INTEGER_1 */
111 static int hf_camel_natureOfAddressIndicator = -1; /* INTEGER */
112 static int hf_camel_numberingPlanInd = -1; /* INTEGER */
113 static int hf_camel_digits1 = -1; /* OCTET_STRING_SIZE_0_19 */
114 static int hf_camel_digits2 = -1; /* OCTET_STRING_SIZE_0_8 */
115 static int hf_camel_typeOfShape = -1; /* INTEGER */
116 static int hf_camel_spare3 = -1; /* INTEGER */
117 static int hf_camel_degreesOfLatitude = -1; /* OCTET_STRING_SIZE_3 */
118 static int hf_camel_degreesOfLongitude = -1; /* OCTET_STRING_SIZE_3 */
119 static int hf_camel_uncertaintyCode = -1; /* OCTET_STRING_SIZE_1 */
120 static int hf_camel_typeOfAddress = -1; /* INTEGER */
121 static int hf_camel_addressLength = -1; /* INTEGER_4_16 */
122 static int hf_camel_address = -1; /* OCTET_STRING_SIZE_4_16 */
123 static int hf_camel_originalReasons = -1; /* INTEGER */
124 static int hf_camel_spare4 = -1; /* INTEGER_0 */
125 static int hf_camel_indicator = -1; /* INTEGER */
126 static int hf_camel_reason = -1; /* INTEGER */
127 static int hf_camel_spare2 = -1; /* INTEGER_0 */
128 static int hf_camel_counter = -1; /* INTEGER */
129 static int hf_camel_oddEven = -1; /* INTEGER */
130 static int hf_camel_innInd = -1; /* INTEGER */
131 static int hf_camel_spare5 = -1; /* INTEGER_0 */
132 static int hf_camel_digits3 = -1; /* OCTET_STRING_SIZE_0_16 */
133 static int hf_camel_niInd = -1; /* INTEGER */
134 static int hf_camel_presentInd = -1; /* INTEGER */
135 static int hf_camel_screening = -1; /* INTEGER */
136 static int hf_camel_digits4 = -1; /* OCTET_STRING_SIZE_0_8 */
137 static int hf_camel_spare6 = -1; /* INTEGER_0 */
138 static int hf_camel_digits5 = -1; /* OCTET_STRING_SIZE_1_10 */
139 static int hf_camel_o1ext = -1; /* INTEGER_1 */
140 static int hf_camel_codingStandard = -1; /* INTEGER */
141 static int hf_camel_spare77 = -1; /* INTEGER_0 */
142 static int hf_camel_location = -1; /* INTEGER */
143 static int hf_camel_o2ext = -1; /* INTEGER_1 */
144 static int hf_camel_causeValue = -1; /* INTEGER */
145 static int hf_camel_diagnostics = -1; /* OCTET_STRING_SIZE_0_30 */
146 static int hf_camel_numberQualifierIndicator = -1; /* INTEGER */
147 static int hf_camel_digits6 = -1; /* OCTET_STRING_SIZE_0_8 */
148 static int hf_camel_digits7 = -1; /* OCTET_STRING_SIZE_0_8 */
149 static int hf_camel_ext = -1; /* INTEGER */
150 static int hf_camel_typeOfNumber = -1; /* T_typeOfNumber */
151 static int hf_camel_digits8 = -1; /* OCTET_STRING_SIZE_0_40 */
152 static int hf_camel_actimeDurationCharging = -1; /* T_actimeDurationCharging */
153 static int hf_camel_maxCallPeriodDuration = -1; /* INTEGER_1_864000 */
154 static int hf_camel_releaseIfdurationExceeded = -1; /* BOOLEAN */
155 static int hf_camel_tariffSwitchInterval = -1; /* INTEGER_1_86400 */
156 static int hf_camel_actone = -1; /* BOOLEAN */
157 static int hf_camel_extensions = -1; /* ExtensionsArray */
158 static int hf_camel_legID = -1; /* LegID */
159 static int hf_camel_srfConnection = -1; /* CallSegmentID */
160 static int hf_camel_aOCInitial = -1; /* CAI_Gsm0224 */
161 static int hf_camel_aOCSubsequent = -1; /* AOCSubsequent */
162 static int hf_camel_cAI_GSM0224 = -1; /* CAI_Gsm0224 */
163 static int hf_camel_tone = -1; /* BOOLEAN */
164 static int hf_camel_burstList = -1; /* BurstList */
165 static int hf_camel_conferenceTreatmentIndicator = -1; /* OCTET_STRING_SIZE_1 */
166 static int hf_camel_callCompletionTreatmentIndicator = -1; /* OCTET_STRING_SIZE_1 */
167 static int hf_camel_calledAddressValue = -1; /* Digits */
168 static int hf_camel_gapOnService = -1; /* GapOnService */
169 static int hf_camel_calledAddressAndService = -1; /* T_calledAddressAndService */
170 static int hf_camel_serviceKey = -1; /* ServiceKey */
171 static int hf_camel_callingAddressAndService = -1; /* T_callingAddressAndService */
172 static int hf_camel_callingAddressValue = -1; /* Digits */
173 static int hf_camel_eventTypeBCSM = -1; /* EventTypeBCSM */
174 static int hf_camel_monitorMode = -1; /* MonitorMode */
175 static int hf_camel_legID6 = -1; /* LegID */
176 static int hf_camel_dpSpecificCriteria = -1; /* DpSpecificCriteria */
177 static int hf_camel_automaticRearm = -1; /* NULL */
178 static int hf_camel_cause = -1; /* Cause */
179 static int hf_camel_bearerCap = -1; /* BearerCap */
180 static int hf_camel_numberOfBursts = -1; /* INTEGER_1_3 */
181 static int hf_camel_burstInterval = -1; /* INTEGER_1_1200 */
182 static int hf_camel_numberOfTonesInBurst = -1; /* INTEGER_1_3 */
183 static int hf_camel_toneDuration = -1; /* INTEGER_1_20 */
184 static int hf_camel_toneInterval = -1; /* INTEGER_1_20 */
185 static int hf_camel_warningPeriod = -1; /* INTEGER_1_1200 */
186 static int hf_camel_bursts = -1; /* Burst */
187 static int hf_camel_e1 = -1; /* INTEGER_0_8191 */
188 static int hf_camel_e2 = -1; /* INTEGER_0_8191 */
189 static int hf_camel_e3 = -1; /* INTEGER_0_8191 */
190 static int hf_camel_e4 = -1; /* INTEGER_0_8191 */
191 static int hf_camel_e5 = -1; /* INTEGER_0_8191 */
192 static int hf_camel_e6 = -1; /* INTEGER_0_8191 */
193 static int hf_camel_e7 = -1; /* INTEGER_0_8191 */
194 static int hf_camel_callSegmentID = -1; /* CallSegmentID */
195 static int hf_camel_invokeID = -1; /* InvokeID */
196 static int hf_camel_timeDurationCharging = -1; /* T_timeDurationCharging */
197 static int hf_camel_audibleIndicator = -1; /* AudibleIndicator */
198 static int hf_camel_timeDurationChargingResult = -1; /* T_timeDurationChargingResult */
199 static int hf_camel_partyToCharge = -1; /* ReceivingSideID */
200 static int hf_camel_timeInformation = -1; /* TimeInformation */
201 static int hf_camel_legActive = -1; /* BOOLEAN */
202 static int hf_camel_callLegReleasedAtTcpExpiry = -1; /* NULL */
203 static int hf_camel_extensions1 = -1; /* Extensions */
204 static int hf_camel_aChChargingAddress = -1; /* AChChargingAddress */
205 static int hf_camel_fCIBCCCAMELsequence1 = -1; /* T_fCIBCCCAMELsequence1 */
206 static int hf_camel_freeFormatData = -1; /* FreeFormatData */
207 static int hf_camel_partyToCharge4 = -1; /* SendingSideID */
208 static int hf_camel_appendFreeFormatData = -1; /* AppendFreeFormatData */
209 static int hf_camel_fCIBCCCAMELsequence2 = -1; /* T_fCIBCCCAMELsequence2 */
210 static int hf_camel_pDPID = -1; /* PDPId */
211 static int hf_camel_fCIBCCCAMELsequence3 = -1; /* T_fCIBCCCAMELsequence3 */
212 static int hf_camel_aOCBeforeAnswer = -1; /* AOCBeforeAnswer */
213 static int hf_camel_aOCAfterAnswer = -1; /* AOCSubsequent */
214 static int hf_camel_aOC_extension = -1; /* CAMEL_SCIBillingChargingCharacteristicsAlt */
215 static int hf_camel_aOCGPRS = -1; /* AOCGprs */
216 static int hf_camel_ChangeOfPositionControlInfo_item = -1; /* ChangeOfLocation */
217 static int hf_camel_cellGlobalId = -1; /* CellGlobalIdOrServiceAreaIdFixedLength */
218 static int hf_camel_serviceAreaId = -1; /* CellGlobalIdOrServiceAreaIdFixedLength */
219 static int hf_camel_locationAreaId = -1; /* LAIFixedLength */
220 static int hf_camel_inter_SystemHandOver = -1; /* NULL */
221 static int hf_camel_inter_PLMNHandOver = -1; /* NULL */
222 static int hf_camel_inter_MSCHandOver = -1; /* NULL */
223 static int hf_camel_changeOfLocationAlt = -1; /* ChangeOfLocationAlt */
224 static int hf_camel_maxTransferredVolume = -1; /* INTEGER_1_2147483647 */
225 static int hf_camel_maxElapsedTime = -1; /* INTEGER_1_86400 */
226 static int hf_camel_transferredVolume = -1; /* TransferredVolume */
227 static int hf_camel_elapsedTime = -1; /* ElapsedTime */
228 static int hf_camel_transferredVolumeRollOver = -1; /* TransferredVolumeRollOver */
229 static int hf_camel_elapsedTimeRollOver = -1; /* ElapsedTimeRollOver */
230 static int hf_camel_minimumNbOfDigits = -1; /* INTEGER_1_30 */
231 static int hf_camel_maximumNbOfDigits = -1; /* INTEGER_1_30 */
232 static int hf_camel_endOfReplyDigit = -1; /* OCTET_STRING_SIZE_1_2 */
233 static int hf_camel_cancelDigit = -1; /* OCTET_STRING_SIZE_1_2 */
234 static int hf_camel_startDigit = -1; /* OCTET_STRING_SIZE_1_2 */
235 static int hf_camel_firstDigitTimeOut = -1; /* INTEGER_1_127 */
236 static int hf_camel_interDigitTimeOut = -1; /* INTEGER_1_127 */
237 static int hf_camel_errorTreatment = -1; /* ErrorTreatment */
238 static int hf_camel_interruptableAnnInd = -1; /* BOOLEAN */
239 static int hf_camel_voiceInformation = -1; /* BOOLEAN */
240 static int hf_camel_voiceBack = -1; /* BOOLEAN */
241 static int hf_camel_collectedDigits = -1; /* CollectedDigits */
242 static int hf_camel_basicGapCriteria = -1; /* BasicGapCriteria */
243 static int hf_camel_scfID = -1; /* ScfID */
244 static int hf_camel_DestinationRoutingAddress_item = -1; /* CalledPartyNumber */
245 static int hf_camel_applicationTimer = -1; /* ApplicationTimer */
246 static int hf_camel_midCallControlInfo = -1; /* MidCallControlInfo */
247 static int hf_camel_dpSpecificCriteriaAlt = -1; /* DpSpecificCriteriaAlt */
248 static int hf_camel_changeOfPositionControlInfo = -1; /* ChangeOfPositionControlInfo */
249 static int hf_camel_oServiceChangeSpecificInfo = -1; /* T_oServiceChangeSpecificInfo */
250 static int hf_camel_ext_basicServiceCode = -1; /* Ext_BasicServiceCode */
251 static int hf_camel_tServiceChangeSpecificInfo = -1; /* T_tServiceChangeSpecificInfo */
252 static int hf_camel_timeGPRSIfNoTariffSwitch = -1; /* INTEGER_0_86400 */
253 static int hf_camel_timeGPRSIfTariffSwitch = -1; /* T_timeGPRSIfTariffSwitch */
254 static int hf_camel_timeGPRSSinceLastTariffSwitch = -1; /* INTEGER_0_86400 */
255 static int hf_camel_timeGPRSTariffSwitchInterval = -1; /* INTEGER_0_86400 */
256 static int hf_camel_rOTimeGPRSIfNoTariffSwitch = -1; /* INTEGER_0_255 */
257 static int hf_camel_rOTimeGPRSIfTariffSwitch = -1; /* T_rOTimeGPRSIfTariffSwitch */
258 static int hf_camel_rOTimeGPRSSinceLastTariffSwitch = -1; /* INTEGER_0_255 */
259 static int hf_camel_rOTimeGPRSTariffSwitchInterval = -1; /* INTEGER_0_255 */
260 static int hf_camel_pDPTypeOrganization = -1; /* OCTET_STRING_SIZE_1 */
261 static int hf_camel_pDPTypeNumber = -1; /* OCTET_STRING_SIZE_1 */
262 static int hf_camel_pDPAddress = -1; /* OCTET_STRING_SIZE_1_63 */
263 static int hf_camel_routeSelectFailureSpecificInfo = -1; /* T_routeSelectFailureSpecificInfo */
264 static int hf_camel_failureCause = -1; /* Cause */
265 static int hf_camel_oCalledPartyBusySpecificInfo = -1; /* T_oCalledPartyBusySpecificInfo */
266 static int hf_camel_busyCause = -1; /* Cause */
267 static int hf_camel_oNoAnswerSpecificInfo = -1; /* T_oNoAnswerSpecificInfo */
268 static int hf_camel_oAnswerSpecificInfo = -1; /* T_oAnswerSpecificInfo */
269 static int hf_camel_destinationAddress = -1; /* CalledPartyNumber */
270 static int hf_camel_or_Call = -1; /* NULL */
271 static int hf_camel_forwardedCall = -1; /* NULL */
272 static int hf_camel_chargeIndicator = -1; /* ChargeIndicator */
273 static int hf_camel_ext_basicServiceCode2 = -1; /* Ext_BasicServiceCode */
274 static int hf_camel_oMidCallSpecificInfo = -1; /* T_oMidCallSpecificInfo */
275 static int hf_camel_midCallEvents = -1; /* T_midCallEvents */
276 static int hf_camel_dTMFDigitsCompleted = -1; /* Digits */
277 static int hf_camel_dTMFDigitsTimeOut = -1; /* Digits */
278 static int hf_camel_oDisconnectSpecificInfo = -1; /* T_oDisconnectSpecificInfo */
279 static int hf_camel_releaseCause = -1; /* Cause */
280 static int hf_camel_tBusySpecificInfo = -1; /* T_tBusySpecificInfo */
281 static int hf_camel_callForwarded = -1; /* NULL */
282 static int hf_camel_routeNotPermitted = -1; /* NULL */
283 static int hf_camel_forwardingDestinationNumber = -1; /* CalledPartyNumber */
284 static int hf_camel_tNoAnswerSpecificInfo = -1; /* T_tNoAnswerSpecificInfo */
285 static int hf_camel_tAnswerSpecificInfo = -1; /* T_tAnswerSpecificInfo */
286 static int hf_camel_tMidCallSpecificInfo = -1; /* T_tMidCallSpecificInfo */
287 static int hf_camel_midCallEvents1 = -1; /* T_midCallEvents1 */
288 static int hf_camel_tDisconnectSpecificInfo = -1; /* T_tDisconnectSpecificInfo */
289 static int hf_camel_oTermSeizedSpecificInfo = -1; /* T_oTermSeizedSpecificInfo */
290 static int hf_camel_locationInformation = -1; /* LocationInformation */
291 static int hf_camel_callAcceptedSpecificInfo = -1; /* T_callAcceptedSpecificInfo */
292 static int hf_camel_oAbandonSpecificInfo = -1; /* T_oAbandonSpecificInfo */
293 static int hf_camel_oChangeOfPositionSpecificInfo = -1; /* T_oChangeOfPositionSpecificInfo */
294 static int hf_camel_metDPCriteriaList = -1; /* MetDPCriteriaList */
295 static int hf_camel_tChangeOfPositionSpecificInfo = -1; /* T_tChangeOfPositionSpecificInfo */
296 static int hf_camel_dpSpecificInfoAlt = -1; /* DpSpecificInfoAlt */
297 static int hf_camel_o_smsFailureSpecificInfo = -1; /* T_o_smsFailureSpecificInfo */
298 static int hf_camel_smsfailureCause = -1; /* MO_SMSCause */
299 static int hf_camel_o_smsSubmittedSpecificInfo = -1; /* T_o_smsSubmittedSpecificInfo */
300 static int hf_camel_foo = -1; /* INTEGER_0 */
301 static int hf_camel_t_smsFailureSpecificInfo = -1; /* T_t_smsFailureSpecificInfo */
302 static int hf_camel_failureCause1 = -1; /* MT_SMSCause */
303 static int hf_camel_t_smsDeliverySpecificInfo = -1; /* T_t_smsDeliverySpecificInfo */
304 static int hf_camel_Extensions_item = -1; /* ExtensionField */
305 static int hf_camel_callDiversionTreatmentIndicator = -1; /* OCTET_STRING_SIZE_1 */
306 static int hf_camel_callingPartyRestrictionIndicator = -1; /* OCTET_STRING_SIZE_1 */
307 static int hf_camel_compoundGapCriteria = -1; /* CompoundCriteria */
308 static int hf_camel_duration1 = -1; /* Duration */
309 static int hf_camel_gapInterval = -1; /* Interval */
310 static int hf_camel_informationToSend = -1; /* InformationToSend */
311 static int hf_camel_GenericNumbers_item = -1; /* GenericNumber */
312 static int hf_camel_short_QoS_format = -1; /* QoS_Subscribed */
313 static int hf_camel_long_QoS_format = -1; /* Ext_QoS_Subscribed */
314 static int hf_camel_supplement_to_long_QoS_format = -1; /* Ext2_QoS_Subscribed */
315 static int hf_camel_gPRSEventType = -1; /* GPRSEventType */
316 static int hf_camel_attachChangeOfPositionSpecificInformation = -1; /* T_attachChangeOfPositionSpecificInformation */
317 static int hf_camel_locationInformationGPRS = -1; /* LocationInformationGPRS */
318 static int hf_camel_pdp_ContextchangeOfPositionSpecificInformation = -1; /* T_pdp_ContextchangeOfPositionSpecificInformation */
319 static int hf_camel_accessPointName = -1; /* AccessPointName */
320 static int hf_camel_chargingID = -1; /* GPRSChargingID */
321 static int hf_camel_pDPType = -1; /* PDPType */
322 static int hf_camel_qualityOfService = -1; /* QualityOfService */
323 static int hf_camel_timeAndTimeZone = -1; /* TimeAndTimezone */
324 static int hf_camel_gGSNAddress = -1; /* GSN_Address */
325 static int hf_camel_detachSpecificInformation = -1; /* T_detachSpecificInformation */
326 static int hf_camel_inititatingEntity = -1; /* InitiatingEntity */
327 static int hf_camel_routeingAreaUpdate = -1; /* NULL */
328 static int hf_camel_disconnectSpecificInformation = -1; /* T_disconnectSpecificInformation */
329 static int hf_camel_pDPContextEstablishmentSpecificInformation = -1; /* T_pDPContextEstablishmentSpecificInformation */
330 static int hf_camel_pDPInitiationType = -1; /* PDPInitiationType */
331 static int hf_camel_secondaryPDPContext = -1; /* NULL */
332 static int hf_camel_pDPContextEstablishmentAcknowledgementSpecificInformation = -1; /* T_pDPContextEstablishmentAcknowledgementSpecificInformation */
333 static int hf_camel_mSNetworkCapability = -1; /* MSNetworkCapability */
334 static int hf_camel_mSRadioAccessCapability = -1; /* MSRadioAccessCapability */
335 static int hf_camel_messageID = -1; /* MessageID */
336 static int hf_camel_numberOfRepetitions = -1; /* INTEGER_1_127 */
337 static int hf_camel_duration2 = -1; /* INTEGER_0_32767 */
338 static int hf_camel_interval = -1; /* INTEGER_0_32767 */
339 static int hf_camel_inbandInfo = -1; /* InbandInfo */
340 static int hf_camel_tone1 = -1; /* Tone */
341 static int hf_camel_cellGlobalIdOrServiceAreaIdOrLAI = -1; /* CellGlobalIdOrServiceAreaIdOrLAI */
342 static int hf_camel_routeingAreaIdentity = -1; /* RAIdentity */
343 static int hf_camel_geographicalInformation = -1; /* GeographicalInformation */
344 static int hf_camel_sgsn_Number = -1; /* ISDN_AddressString */
345 static int hf_camel_selectedLSAIdentity = -1; /* LSAIdentity */
346 static int hf_camel_extensionContainer = -1; /* ExtensionContainer */
347 static int hf_camel_saiPresent = -1; /* NULL */
348 static int hf_camel_elementaryMessageID = -1; /* Integer4 */
349 static int hf_camel_text = -1; /* T_text */
350 static int hf_camel_messageContent = -1; /* IA5String_SIZE_1_127 */
351 static int hf_camel_attributes = -1; /* OCTET_STRING_SIZE_2_10 */
352 static int hf_camel_elementaryMessageIDs = -1; /* SEQUENCE_SIZE_1_16_OF_Integer4 */
353 static int hf_camel_elementaryMessageIDs_item = -1; /* Integer4 */
354 static int hf_camel_variableMessage = -1; /* T_variableMessage */
355 static int hf_camel_variableParts = -1; /* VariablePartsArray */
356 static int hf_camel_MetDPCriteriaList_item = -1; /* MetDPCriterion */
357 static int hf_camel_enteringCellGlobalId = -1; /* CellGlobalIdOrServiceAreaIdFixedLength */
358 static int hf_camel_leavingCellGlobalId = -1; /* CellGlobalIdOrServiceAreaIdFixedLength */
359 static int hf_camel_enteringServiceAreaId = -1; /* CellGlobalIdOrServiceAreaIdFixedLength */
360 static int hf_camel_leavingServiceAreaId = -1; /* CellGlobalIdOrServiceAreaIdFixedLength */
361 static int hf_camel_enteringLocationAreaId = -1; /* LAIFixedLength */
362 static int hf_camel_leavingLocationAreaId = -1; /* LAIFixedLength */
363 static int hf_camel_inter_SystemHandOverToUMTS = -1; /* NULL */
364 static int hf_camel_inter_SystemHandOverToGSM = -1; /* NULL */
365 static int hf_camel_metDPCriterionAlt = -1; /* MetDPCriterionAlt */
366 static int hf_camel_minimumNumberOfDigits = -1; /* INTEGER_1_30 */
367 static int hf_camel_maximumNumberOfDigits = -1; /* INTEGER_1_30 */
368 static int hf_camel_interDigitTimeout = -1; /* INTEGER_1_127 */
369 static int hf_camel_requested_QoS = -1; /* GPRS_QoS */
370 static int hf_camel_subscribed_QoS = -1; /* GPRS_QoS */
371 static int hf_camel_negotiated_QoS = -1; /* GPRS_QoS */
372 static int hf_camel_requested_QoS_Extension = -1; /* GPRS_QoS_Extension */
373 static int hf_camel_subscribed_QoS_Extension = -1; /* GPRS_QoS_Extension */
374 static int hf_camel_negotiated_QoS_Extension = -1; /* GPRS_QoS_Extension */
375 static int hf_camel_receivingSideID = -1; /* LegType */
376 static int hf_camel_RequestedInformationList_item = -1; /* RequestedInformation */
377 static int hf_camel_RequestedInformationTypeList_item = -1; /* RequestedInformationType */
378 static int hf_camel_requestedInformationType = -1; /* RequestedInformationType */
379 static int hf_camel_requestedInformationValue = -1; /* RequestedInformationValue */
380 static int hf_camel_callAttemptElapsedTimeValue = -1; /* INTEGER_0_255 */
381 static int hf_camel_callStopTimeValue = -1; /* DateAndTime */
382 static int hf_camel_callConnectedElapsedTimeValue = -1; /* Integer4 */
383 static int hf_camel_releaseCauseValue = -1; /* Cause */
384 static int hf_camel_sendingSideID = -1; /* LegType */
385 static int hf_camel_forwardServiceInteractionInd = -1; /* ForwardServiceInteractionInd */
386 static int hf_camel_backwardServiceInteractionInd = -1; /* BackwardServiceInteractionInd */
387 static int hf_camel_bothwayThroughConnectionInd = -1; /* BothwayThroughConnectionInd */
388 static int hf_camel_connectedNumberTreatmentInd = -1; /* ConnectedNumberTreatmentInd */
389 static int hf_camel_nonCUGCall = -1; /* NULL */
390 static int hf_camel_holdTreatmentIndicator = -1; /* OCTET_STRING_SIZE_1 */
391 static int hf_camel_cwTreatmentIndicator = -1; /* OCTET_STRING_SIZE_1 */
392 static int hf_camel_ectTreatmentIndicator = -1; /* OCTET_STRING_SIZE_1 */
393 static int hf_camel_eventTypeSMS = -1; /* EventTypeSMS */
394 static int hf_camel_timeSinceTariffSwitch = -1; /* INTEGER_0_864000 */
395 static int hf_camel_tttariffSwitchInterval = -1; /* INTEGER_1_864000 */
396 static int hf_camel_timeIfNoTariffSwitch = -1; /* TimeIfNoTariffSwitch */
397 static int hf_camel_timeIfTariffSwitch = -1; /* TimeIfTariffSwitch */
398 static int hf_camel_toneID = -1; /* Integer4 */
399 static int hf_camel_duration3 = -1; /* Integer4 */
400 static int hf_camel_volumeIfNoTariffSwitch = -1; /* INTEGER_0_2147483647 */
401 static int hf_camel_volumeIfTariffSwitch = -1; /* T_volumeIfTariffSwitch */
402 static int hf_camel_volumeSinceLastTariffSwitch = -1; /* INTEGER_0_2147483647 */
403 static int hf_camel_volumeTariffSwitchInterval = -1; /* INTEGER_0_2147483647 */
404 static int hf_camel_rOVolumeIfNoTariffSwitch = -1; /* INTEGER_0_255 */
405 static int hf_camel_rOVolumeIfTariffSwitch = -1; /* T_rOVolumeIfTariffSwitch */
406 static int hf_camel_rOVolumeSinceLastTariffSwitch = -1; /* INTEGER_0_255 */
407 static int hf_camel_rOVolumeTariffSwitchInterval = -1; /* INTEGER_0_255 */
408 static int hf_camel_integer = -1; /* Integer4 */
409 static int hf_camel_number = -1; /* Digits */
410 static int hf_camel_time = -1; /* OCTET_STRING_SIZE_2 */
411 static int hf_camel_date = -1; /* OCTET_STRING_SIZE_4 */
412 static int hf_camel_price = -1; /* OCTET_STRING_SIZE_4 */
413 static int hf_camel_pDPTypeOrganization1 = -1; /* PDPTypeOrganization */
414 static int hf_camel_pDPTypeNumber1 = -1; /* PDPTypeNumber */
415 static int hf_camel_pDPAddress1 = -1; /* PDPAddress */
416 static int hf_camel_local = -1; /* INTEGER */
417 static int hf_camel_global = -1; /* OBJECT_IDENTIFIER */
418 static int hf_camel_messageType = -1; /* T_messageType */
419 static int hf_camel_firstExtensionExtensionType = -1; /* NULL */
420 static int hf_camel_extId = -1; /* ExtensionSetextensionId */
421 static int hf_camel_callresultOctet = -1; /* CallresultoctetPDU */
422 static int hf_camel_allRequests = -1; /* NULL */
423 static int hf_camel_callSegmentToCancel = -1; /* CallSegmentToCancel */
424 static int hf_camel_digitsResponse = -1; /* Digits */
425 static int hf_camel_pdpID = -1; /* PDPId */
426 static int hf_camel_gPRSCause = -1; /* GPRSCause */
427 static int hf_camel_gprsCause = -1; /* GPRSCause */
428 static int hf_camel_gPRSEvent = -1; /* GPRSEventArray */
429 static int hf_camel_GPRSEventArray_item = -1; /* GPRSEvent */
430 static int hf_camel_sCIGPRSBillingChargingCharacteristics = -1; /* SCIGPRSBillingChargingCharacteristics */
431 static int hf_camel_assumedIdle = -1; /* NULL */
432 static int hf_camel_camelBusy = -1; /* NULL */
433 static int hf_camel_netDetNotReachable = -1; /* NotReachableReason */
434 static int hf_camel_notProvidedFromVLR = -1; /* NULL */
435 static int hf_camel_PrivateExtensionList_item = -1; /* PrivateExtension */
436 static int hf_camel_cellIdFixedLength = -1; /* CellIdFixedLength */
437 static int hf_camel_laiFixedLength = -1; /* LAIFixedLength */
438 static int hf_camel_VariablePartsArray_item = -1; /* VariablePart */
439 static int hf_camel_gmscAddress = -1; /* ISDN_AddressString */
440 static int hf_camel_ms_Classmark2 = -1; /* MS_Classmark2 */
441 static int hf_camel_iMEI = -1; /* IMEI */
442 static int hf_camel_supportedCamelPhases = -1; /* SupportedCamelPhases */
443 static int hf_camel_offeredCamel4Functionalities = -1; /* OfferedCamel4Functionalities */
444 static int hf_camel_bearerCapability2 = -1; /* BearerCapability */
445 static int hf_camel_highLayerCompatibility2 = -1; /* HighLayerCompatibility */
446 static int hf_camel_lowLayerCompatibility = -1; /* LowLayerCompatibility */
447 static int hf_camel_lowLayerCompatibility2 = -1; /* LowLayerCompatibility */
448 static int hf_camel_enhancedDialledServicesAllowed = -1; /* NULL */
449 static int hf_camel_uu_Data = -1; /* UU_Data */
450 static int hf_camel_destinationRoutingAddress = -1; /* DestinationRoutingAddress */
451 static int hf_camel_legToBeCreated = -1; /* LegID */
452 static int hf_camel_newCallSegment = -1; /* CallSegmentID */
453 static int hf_camel_callingPartyNumber = -1; /* CallingPartyNumber */
454 static int hf_camel_callReferenceNumber = -1; /* CallReferenceNumber */
455 static int hf_camel_gsmSCFAddress = -1; /* ISDN_AddressString */
456 static int hf_camel_suppress_T_CSI = -1; /* NULL */
457 static int hf_camel_legIDToMove = -1; /* LegID */
458 static int hf_camel_legOrCallSegment = -1; /* LegOrCallSegment */
459 static int hf_camel_miscGPRSInfo = -1; /* MiscCallInfo */
460 static int hf_camel_gPRSEventSpecificInformation = -1; /* GPRSEventSpecificInformation */
461 static int hf_camel_type = -1; /* SupportedExtensionsid */
462 static int hf_camel_criticality = -1; /* CriticalityType */
463 static int hf_camel_value = -1; /* SupportedExtensionsExtensionType */
464 static int hf_camel_aChBillingChargingCharacteristics = -1; /* AChBillingChargingCharacteristics */
465 static int hf_camel_partyToCharge1 = -1; /* SendingSideID */
466 static int hf_camel_ExtensionsArray_item = -1; /* ExtensionField */
467 static int hf_camel_correlationID = -1; /* CorrelationID */
468 static int hf_camel_iPSSPCapabilities = -1; /* IPSSPCapabilities */
469 static int hf_camel_requestedInformationTypeList = -1; /* RequestedInformationTypeList */
470 static int hf_camel_legID3 = -1; /* SendingSideID */
471 static int hf_camel_alertingPattern = -1; /* AlertingPattern */
472 static int hf_camel_originalCalledPartyID = -1; /* OriginalCalledPartyID */
473 static int hf_camel_carrier = -1; /* Carrier */
474 static int hf_camel_callingPartysCategory = -1; /* CallingPartysCategory */
475 static int hf_camel_redirectingPartyID = -1; /* RedirectingPartyID */
476 static int hf_camel_redirectionInformation = -1; /* RedirectionInformation */
477 static int hf_camel_genericNumbers = -1; /* GenericNumbers */
478 static int hf_camel_serviceInteractionIndicatorsTwo = -1; /* ServiceInteractionIndicatorsTwo */
479 static int hf_camel_chargeNumber = -1; /* ChargeNumber */
480 static int hf_camel_cug_Interlock = -1; /* CUG_Interlock */
481 static int hf_camel_cug_OutgoingAccess = -1; /* NULL */
482 static int hf_camel_suppressionOfAnnouncement = -1; /* SuppressionOfAnnouncement */
483 static int hf_camel_oCSIApplicable = -1; /* OCSIApplicable */
484 static int hf_camel_naOliInfo = -1; /* NAOliInfo */
485 static int hf_camel_bor_InterrogationRequested = -1; /* NULL */
486 static int hf_camel_resourceAddress = -1; /* T_resourceAddress */
487 static int hf_camel_ipRoutingAddress = -1; /* IPRoutingAddress */
488 static int hf_camel_none = -1; /* NULL */
489 static int hf_camel_suppress_O_CSI = -1; /* NULL */
490 static int hf_camel_continueWithArgumentArgExtension = -1; /* ContinueWithArgumentArgExtension */
491 static int hf_camel_suppress_D_CSI = -1; /* NULL */
492 static int hf_camel_suppress_N_CSI = -1; /* NULL */
493 static int hf_camel_suppressOutgoingCallBarring = -1; /* NULL */
494 static int hf_camel_legToBeReleased = -1; /* LegID */
495 static int hf_camel_callSegmentFailure = -1; /* CallSegmentFailure */
496 static int hf_camel_bCSM_Failure = -1; /* BCSM_Failure */
497 static int hf_camel_assistingSSPIPRoutingAddress = -1; /* AssistingSSPIPRoutingAddress */
498 static int hf_camel_eventSpecificInformationBCSM = -1; /* EventSpecificInformationBCSM */
499 static int hf_camel_legID4 = -1; /* ReceivingSideID */
500 static int hf_camel_miscCallInfo = -1; /* MiscCallInfo */
501 static int hf_camel_timerID = -1; /* TimerID */
502 static int hf_camel_timervalue = -1; /* TimerValue */
503 static int hf_camel_sCIBillingChargingCharacteristics = -1; /* SCIBillingChargingCharacteristics */
504 static int hf_camel_partyToCharge2 = -1; /* SendingSideID */
505 static int hf_camel_legToBeSplit = -1; /* LegID */
506 static int hf_camel_destinationReference = -1; /* Integer4 */
507 static int hf_camel_originationReference = -1; /* Integer4 */
508 static int hf_camel_eventSpecificInformationSMS = -1; /* EventSpecificInformationSMS */
509 static int hf_camel_sMSEvents = -1; /* SMSEventArray */
510 static int hf_camel_SMSEventArray_item = -1; /* SMSEvent */
511 static int hf_camel_bcsmEvents = -1; /* BCSMEventArray */
512 static int hf_camel_BCSMEventArray_item = -1; /* BCSMEvent */
513 static int hf_camel_callingPartysNumber = -1; /* ISDN_AddressString */
514 static int hf_camel_destinationSubscriberNumber = -1; /* CalledPartyBCDNumber */
515 static int hf_camel_sMSCAddress = -1; /* ISDN_AddressString */
516 static int hf_camel_requestedInformationList = -1; /* RequestedInformationList */
517 static int hf_camel_legID5 = -1; /* ReceivingSideID */
518 static int hf_camel_disconnectFromIPForbidden = -1; /* BOOLEAN */
519 static int hf_camel_requestAnnouncementComplete = -1; /* BOOLEAN */
520 static int hf_camel_collectedInfo = -1; /* CollectedInfo */
521 static int hf_camel_mSISDN = -1; /* ISDN_AddressString */
522 static int hf_camel_iMSI = -1; /* IMSI */
523 static int hf_camel_gPRSMSClass = -1; /* GPRSMSClass */
524 static int hf_camel_sGSNCapabilities = -1; /* SGSNCapabilities */
525 static int hf_camel_gapCriteria = -1; /* GapCriteria */
526 static int hf_camel_gapIndicators = -1; /* GapIndicators */
527 static int hf_camel_controlType = -1; /* ControlType */
528 static int hf_camel_gapTreatment = -1; /* GapTreatment */
529 static int hf_camel_calledPartyNumber = -1; /* CalledPartyNumber */
530 static int hf_camel_cGEncountered = -1; /* CGEncountered */
531 static int hf_camel_locationNumber = -1; /* LocationNumber */
532 static int hf_camel_highLayerCompatibility = -1; /* HighLayerCompatibility */
533 static int hf_camel_additionalCallingPartyNumber = -1; /* AdditionalCallingPartyNumber */
534 static int hf_camel_bearerCapability = -1; /* BearerCapability */
535 static int hf_camel_cug_Index = -1; /* CUG_Index */
536 static int hf_camel_subscriberState = -1; /* SubscriberState */
537 static int hf_camel_mscAddress = -1; /* ISDN_AddressString */
538 static int hf_camel_calledPartyBCDNumber = -1; /* CalledPartyBCDNumber */
539 static int hf_camel_timeAndTimezone = -1; /* TimeAndTimezone */
540 static int hf_camel_gsm_ForwardingPending = -1; /* NULL */
541 static int hf_camel_initialDPArgExtension = -1; /* InitialDPArgExtension */
542 static int hf_camel_callingPartyNumberas = -1; /* ISDN_AddressString */
543 static int hf_camel_locationInformationMSC = -1; /* LocationInformation */
544 static int hf_camel_tPShortMessageSubmissionSpecificInfo = -1; /* TPShortMessageSubmissionInfo */
545 static int hf_camel_tPProtocolIdentifier = -1; /* TPProtocolIdentifier */
546 static int hf_camel_tPDataCodingScheme = -1; /* TPDataCodingScheme */
547 static int hf_camel_tPValidityPeriod = -1; /* TPValidityPeriod */
548 static int hf_camel_smsReferenceNumber = -1; /* CallReferenceNumber */
549 static int hf_camel_sgsnNumber = -1; /* ISDN_AddressString */
550 static int hf_camel_privateExtensionList = -1; /* PrivateExtensionList */
551 static int hf_camel_pcs_Extensions = -1; /* PCS_Extensions */
552 static int hf_camel_chargingCharacteristics = -1; /* ChargingCharacteristics */
553 static int hf_camel_chargingResult = -1; /* ChargingResult */
554 static int hf_camel_active = -1; /* BOOLEAN */
555 static int hf_camel_chargingRollOver = -1; /* ChargingRollOver */
556 static int hf_camel_problem = -1; /* T_problem */
557 static int hf_camel_operation = -1; /* InvokeID */
559 static int hf_camel_SupportedCamelPhases_phase1 = -1;
560 static int hf_camel_SupportedCamelPhases_phase2 = -1;
561 static int hf_camel_SupportedCamelPhases_phase3 = -1;
562 static int hf_camel_SupportedCamelPhases_phase4 = -1;
563 static int hf_camel_OfferedCamel4Functionalities_initiateCallAttempt = -1;
564 static int hf_camel_OfferedCamel4Functionalities_splitLeg = -1;
565 static int hf_camel_OfferedCamel4Functionalities_moveLeg = -1;
566 static int hf_camel_OfferedCamel4Functionalities_disconnectLeg = -1;
567 static int hf_camel_OfferedCamel4Functionalities_entityReleased = -1;
568 static int hf_camel_OfferedCamel4Functionalities_dfc_WithArgument = -1;
569 static int hf_camel_OfferedCamel4Functionalities_playTone = -1;
570 static int hf_camel_OfferedCamel4Functionalities_dtmf_MidCall = -1;
571 static int hf_camel_OfferedCamel4Functionalities_chargingIndicator = -1;
572 static int hf_camel_OfferedCamel4Functionalities_alertingDP = -1;
573 static int hf_camel_OfferedCamel4Functionalities_locationAtAlerting = -1;
574 static int hf_camel_OfferedCamel4Functionalities_changeOfPositionDP = -1;
575 static int hf_camel_OfferedCamel4Functionalities_or_Interactions = -1;
576 static int hf_camel_OfferedCamel4Functionalities_warningToneEnhancements = -1;
577 static int hf_camel_OfferedCamel4Functionalities_cf_Enhancements = -1;
578 static int hf_camel_OfferedCamel4Functionalities_subscribedEnhancedDialledServices = -1;
579 static int hf_camel_OfferedCamel4Functionalities_servingNetworkEnhancedDialledServices = -1;
580 static int hf_camel_OfferedCamel4Functionalities_criteriaForChangeOfPositionDP = -1;
581 static int hf_camel_OfferedCamel4Functionalities_serviceChangeDP = -1;
583 /*--- End of included file: packet-camel-hf.c ---*/
584 #line 91 "packet-camel-template.c"
585 static guint global_tcap_itu_ssn = 0;
587 /* Initialize the subtree pointers */
588 static gint ett_camel = -1;
589 static gint ett_camel_InvokeId = -1;
590 static gint ett_camel_InvokePDU = -1;
591 static gint ett_camel_ReturnResultPDU = -1;
592 static gint ett_camel_ReturnResult_result = -1;
593 static gint ett_camel_camelPDU = -1;
594 static gint ett_camelisup_parameter = -1;
595 static gint ett_camel_addr = -1;
596 static gint ett_camel_isdn_address_string = -1;
597 static gint ett_camel_MSRadioAccessCapability = -1;
598 static gint ett_camel_MSNetworkCapability = -1;
599 static gint ett_camel_AccessPointName = -1;
600 static gint ett_camel_pdptypenumber = -1;
603 /*--- Included file: packet-camel-ett.c ---*/
604 #line 1 "packet-camel-ett.c"
605 static gint ett_camel_PBSGSNCapabilities = -1;
606 static gint ett_camel_PBIPSSPCapabilities = -1;
607 static gint ett_camel_PBAddressString = -1;
608 static gint ett_camel_PBISDNAddressString = -1;
609 static gint ett_camel_PBGeographicalInformation = -1;
610 static gint ett_camel_PBGSNAddress = -1;
611 static gint ett_camel_PBRedirectionInformation = -1;
612 static gint ett_camel_PBCalledPartyNumber = -1;
613 static gint ett_camel_PBCallingPartyNumber = -1;
614 static gint ett_camel_PBRedirectingNumber = -1;
615 static gint ett_camel_PBCause = -1;
616 static gint ett_camel_PBGenericNumber = -1;
617 static gint ett_camel_PBLocationNumber = -1;
618 static gint ett_camel_PBCalledPartyBCDNumber = -1;
619 static gint ett_camel_AChBillingChargingCharacteristics = -1;
620 static gint ett_camel_T_actimeDurationCharging = -1;
621 static gint ett_camel_AChChargingAddress = -1;
622 static gint ett_camel_AOCBeforeAnswer = -1;
623 static gint ett_camel_AOCGprs = -1;
624 static gint ett_camel_AOCSubsequent = -1;
625 static gint ett_camel_AudibleIndicator = -1;
626 static gint ett_camel_BackwardServiceInteractionInd = -1;
627 static gint ett_camel_BasicGapCriteria = -1;
628 static gint ett_camel_T_calledAddressAndService = -1;
629 static gint ett_camel_T_callingAddressAndService = -1;
630 static gint ett_camel_BCSMEvent = -1;
631 static gint ett_camel_BCSM_Failure = -1;
632 static gint ett_camel_BearerCapability = -1;
633 static gint ett_camel_Burst = -1;
634 static gint ett_camel_BurstList = -1;
635 static gint ett_camel_CAI_Gsm0224 = -1;
636 static gint ett_camel_CallSegmentFailure = -1;
637 static gint ett_camel_CallSegmentToCancel = -1;
638 static gint ett_camel_CAMEL_AChBillingChargingCharacteristics = -1;
639 static gint ett_camel_T_timeDurationCharging = -1;
640 static gint ett_camel_CAMEL_CallResult = -1;
641 static gint ett_camel_T_timeDurationChargingResult = -1;
642 static gint ett_camel_CAMEL_FCIBillingChargingCharacteristics = -1;
643 static gint ett_camel_T_fCIBCCCAMELsequence1 = -1;
644 static gint ett_camel_CAMEL_FCIGPRSBillingChargingCharacteristics = -1;
645 static gint ett_camel_T_fCIBCCCAMELsequence2 = -1;
646 static gint ett_camel_CAMEL_FCISMSBillingChargingCharacteristics = -1;
647 static gint ett_camel_T_fCIBCCCAMELsequence3 = -1;
648 static gint ett_camel_CAMEL_SCIBillingChargingCharacteristics = -1;
649 static gint ett_camel_CAMEL_SCIBillingChargingCharacteristicsAlt = -1;
650 static gint ett_camel_CamelSCIGPRSBillingChargingCharacteristics = -1;
651 static gint ett_camel_ChangeOfPositionControlInfo = -1;
652 static gint ett_camel_ChangeOfLocation = -1;
653 static gint ett_camel_ChangeOfLocationAlt = -1;
654 static gint ett_camel_ChargingCharacteristics = -1;
655 static gint ett_camel_ChargingResult = -1;
656 static gint ett_camel_ChargingRollOver = -1;
657 static gint ett_camel_CollectedDigits = -1;
658 static gint ett_camel_CollectedInfo = -1;
659 static gint ett_camel_CompoundCriteria = -1;
660 static gint ett_camel_DestinationRoutingAddress = -1;
661 static gint ett_camel_DpSpecificCriteria = -1;
662 static gint ett_camel_DpSpecificCriteriaAlt = -1;
663 static gint ett_camel_DpSpecificInfoAlt = -1;
664 static gint ett_camel_T_oServiceChangeSpecificInfo = -1;
665 static gint ett_camel_T_tServiceChangeSpecificInfo = -1;
666 static gint ett_camel_ElapsedTime = -1;
667 static gint ett_camel_T_timeGPRSIfTariffSwitch = -1;
668 static gint ett_camel_ElapsedTimeRollOver = -1;
669 static gint ett_camel_T_rOTimeGPRSIfTariffSwitch = -1;
670 static gint ett_camel_EndUserAddress = -1;
671 static gint ett_camel_EventSpecificInformationBCSM = -1;
672 static gint ett_camel_T_routeSelectFailureSpecificInfo = -1;
673 static gint ett_camel_T_oCalledPartyBusySpecificInfo = -1;
674 static gint ett_camel_T_oNoAnswerSpecificInfo = -1;
675 static gint ett_camel_T_oAnswerSpecificInfo = -1;
676 static gint ett_camel_T_oMidCallSpecificInfo = -1;
677 static gint ett_camel_T_midCallEvents = -1;
678 static gint ett_camel_T_oDisconnectSpecificInfo = -1;
679 static gint ett_camel_T_tBusySpecificInfo = -1;
680 static gint ett_camel_T_tNoAnswerSpecificInfo = -1;
681 static gint ett_camel_T_tAnswerSpecificInfo = -1;
682 static gint ett_camel_T_tMidCallSpecificInfo = -1;
683 static gint ett_camel_T_midCallEvents1 = -1;
684 static gint ett_camel_T_tDisconnectSpecificInfo = -1;
685 static gint ett_camel_T_oTermSeizedSpecificInfo = -1;
686 static gint ett_camel_T_callAcceptedSpecificInfo = -1;
687 static gint ett_camel_T_oAbandonSpecificInfo = -1;
688 static gint ett_camel_T_oChangeOfPositionSpecificInfo = -1;
689 static gint ett_camel_T_tChangeOfPositionSpecificInfo = -1;
690 static gint ett_camel_EventSpecificInformationSMS = -1;
691 static gint ett_camel_T_o_smsFailureSpecificInfo = -1;
692 static gint ett_camel_T_o_smsSubmittedSpecificInfo = -1;
693 static gint ett_camel_T_t_smsFailureSpecificInfo = -1;
694 static gint ett_camel_T_t_smsDeliverySpecificInfo = -1;
695 static gint ett_camel_Extensions = -1;
696 static gint ett_camel_ForwardServiceInteractionInd = -1;
697 static gint ett_camel_GapCriteria = -1;
698 static gint ett_camel_GapIndicators = -1;
699 static gint ett_camel_GapOnService = -1;
700 static gint ett_camel_GapTreatment = -1;
701 static gint ett_camel_GenericNumbers = -1;
702 static gint ett_camel_GPRS_QoS = -1;
703 static gint ett_camel_GPRS_QoS_Extension = -1;
704 static gint ett_camel_GPRSEvent = -1;
705 static gint ett_camel_GPRSEventSpecificInformation = -1;
706 static gint ett_camel_T_attachChangeOfPositionSpecificInformation = -1;
707 static gint ett_camel_T_pdp_ContextchangeOfPositionSpecificInformation = -1;
708 static gint ett_camel_T_detachSpecificInformation = -1;
709 static gint ett_camel_T_disconnectSpecificInformation = -1;
710 static gint ett_camel_T_pDPContextEstablishmentSpecificInformation = -1;
711 static gint ett_camel_T_pDPContextEstablishmentAcknowledgementSpecificInformation = -1;
712 static gint ett_camel_GPRSMSClass = -1;
713 static gint ett_camel_InbandInfo = -1;
714 static gint ett_camel_InformationToSend = -1;
715 static gint ett_camel_LegOrCallSegment = -1;
716 static gint ett_camel_LocationInformationGPRS = -1;
717 static gint ett_camel_MessageID = -1;
718 static gint ett_camel_T_text = -1;
719 static gint ett_camel_SEQUENCE_SIZE_1_16_OF_Integer4 = -1;
720 static gint ett_camel_T_variableMessage = -1;
721 static gint ett_camel_MetDPCriteriaList = -1;
722 static gint ett_camel_MetDPCriterion = -1;
723 static gint ett_camel_MetDPCriterionAlt = -1;
724 static gint ett_camel_MidCallControlInfo = -1;
725 static gint ett_camel_QualityOfService = -1;
726 static gint ett_camel_ReceivingSideID = -1;
727 static gint ett_camel_RequestedInformationList = -1;
728 static gint ett_camel_RequestedInformationTypeList = -1;
729 static gint ett_camel_RequestedInformation = -1;
730 static gint ett_camel_RequestedInformationValue = -1;
731 static gint ett_camel_SendingSideID = -1;
732 static gint ett_camel_ServiceInteractionIndicatorsTwo = -1;
733 static gint ett_camel_SMSEvent = -1;
734 static gint ett_camel_TimeIfTariffSwitch = -1;
735 static gint ett_camel_TimeInformation = -1;
736 static gint ett_camel_Tone = -1;
737 static gint ett_camel_TransferredVolume = -1;
738 static gint ett_camel_T_volumeIfTariffSwitch = -1;
739 static gint ett_camel_TransferredVolumeRollOver = -1;
740 static gint ett_camel_T_rOVolumeIfTariffSwitch = -1;
741 static gint ett_camel_VariablePart = -1;
742 static gint ett_camel_PDPType = -1;
743 static gint ett_camel_Code = -1;
744 static gint ett_camel_PCS_Extensions = -1;
745 static gint ett_camel_MiscCallInfo = -1;
746 static gint ett_camel_SupportedExtensionsExtensionType = -1;
747 static gint ett_camel_PrivateExtension = -1;
748 static gint ett_camel_ApplyChargingReportArg = -1;
749 static gint ett_camel_CancelArg = -1;
750 static gint ett_camel_ReceivedInformationArg = -1;
751 static gint ett_camel_ConnectGPRSArg = -1;
752 static gint ett_camel_EntityReleasedGPRSArg = -1;
753 static gint ett_camel_ReleaseGPRSArg = -1;
754 static gint ett_camel_RequestReportGPRSEventArg = -1;
755 static gint ett_camel_GPRSEventArray = -1;
756 static gint ett_camel_SendChargingInformationGPRSArg = -1;
757 static gint ett_camel_SubscriberState = -1;
758 static gint ett_camel_PrivateExtensionList = -1;
759 static gint ett_camel_CellIdOrLAI = -1;
760 static gint ett_camel_LegID = -1;
761 static gint ett_camel_VariablePartsArray = -1;
762 static gint ett_camel_InitialDPArgExtension = -1;
763 static gint ett_camel_InitiateCallAttemptArg = -1;
764 static gint ett_camel_InitiateCallAttemptRes = -1;
765 static gint ett_camel_MoveLegArg = -1;
766 static gint ett_camel_PlayToneArg = -1;
767 static gint ett_camel_SupportedCamelPhases = -1;
768 static gint ett_camel_OfferedCamel4Functionalities = -1;
769 static gint ett_camel_EventReportGPRSArg = -1;
770 static gint ett_camel_ExtensionField = -1;
771 static gint ett_camel_ApplyChargingArg = -1;
772 static gint ett_camel_ExtensionsArray = -1;
773 static gint ett_camel_AssistRequestInstructionsArg = -1;
774 static gint ett_camel_CallInformationRequestArg = -1;
775 static gint ett_camel_ConnectArg = -1;
776 static gint ett_camel_ConnectToResourceArg = -1;
777 static gint ett_camel_T_resourceAddress = -1;
778 static gint ett_camel_ContinueWithArgumentArg = -1;
779 static gint ett_camel_ContinueWithArgumentArgExtension = -1;
780 static gint ett_camel_DisconnectLegArg = -1;
781 static gint ett_camel_EntityReleasedArg = -1;
782 static gint ett_camel_DisconnectForwardConnectionWithArgumentArg = -1;
783 static gint ett_camel_EstablishTemporaryConnectionArg = -1;
784 static gint ett_camel_EventReportBCSMArg = -1;
785 static gint ett_camel_ResetTimerArg = -1;
786 static gint ett_camel_SendChargingInformationArg = -1;
787 static gint ett_camel_SplitLegArg = -1;
788 static gint ett_camel_CAPGPRSReferenceNumber = -1;
789 static gint ett_camel_EventReportSMSArg = -1;
790 static gint ett_camel_RequestReportSMSEventArg = -1;
791 static gint ett_camel_SMSEventArray = -1;
792 static gint ett_camel_ResetTimerSMSArg = -1;
793 static gint ett_camel_RequestReportBCSMEventArg = -1;
794 static gint ett_camel_BCSMEventArray = -1;
795 static gint ett_camel_ConnectSMSArg = -1;
796 static gint ett_camel_CallInformationReportArg = -1;
797 static gint ett_camel_PlayAnnouncementArg = -1;
798 static gint ett_camel_PromptAndCollectUserInformationArg = -1;
799 static gint ett_camel_InitialDPGPRSArg = -1;
800 static gint ett_camel_CallGapArg = -1;
801 static gint ett_camel_InitialDPArg = -1;
802 static gint ett_camel_InitialDPSMSArg = -1;
803 static gint ett_camel_ExtensionContainer = -1;
804 static gint ett_camel_ApplyChargingGPRSArg = -1;
805 static gint ett_camel_ApplyChargingReportGPRSArg = -1;
806 static gint ett_camel_CancelGPRSArg = -1;
807 static gint ett_camel_ContinueGPRSArg = -1;
808 static gint ett_camel_ResetTimerGPRSArg = -1;
809 static gint ett_camel_CancelFailedPARAM = -1;
811 /*--- End of included file: packet-camel-ett.c ---*/
812 #line 109 "packet-camel-template.c"
815 /* Preference settings default */
817 static range_t *global_ssn_range;
818 static range_t *ssn_range;
819 dissector_handle_t camel_handle;
821 /* Global variables */
823 static int application_context_version;
824 static guint8 PDPTypeOrganization;
825 static guint8 PDPTypeNumber;
828 static int dissect_invokeCmd(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset);
830 static const true_false_string camel_extension_value = {
834 #define EUROPEAN_DATE 1
835 #define AMERICAN_DATE 2
836 #define CAMEL_DATE_AND_TIME_LEN 20 /* 2*5 + 4 + 5 + 1 (HH:MM:SS;mm/dd/yyyy) */
838 static enum_val_t date_options[] = {
839 { "european", "DD/MM/YYYY", EUROPEAN_DATE },
840 { "american", "MM/DD/YYYY", AMERICAN_DATE },
844 static const value_string digit_value[] = {
862 static const value_string camel_nature_of_addr_indicator_values[] = {
864 { 0x01, "International Number" },
865 { 0x02, "National Significant Number" },
866 { 0x03, "Network Specific Number" },
867 { 0x04, "Subscriber Number" },
868 { 0x05, "Reserved" },
869 { 0x06, "Abbreviated Number" },
870 { 0x07, "Reserved for extension" },
873 static const value_string camel_number_plan_values[] = {
875 { 0x01, "ISDN/Telephony Numbering (Rec ITU-T E.164)" },
877 { 0x03, "Data Numbering (ITU-T Rec. X.121)" },
878 { 0x04, "Telex Numbering (ITU-T Rec. F.69)" },
880 { 0x06, "Land Mobile Numbering (ITU-T Rec. E.212)" },
882 { 0x08, "National Numbering" },
883 { 0x09, "Private Numbering" },
884 { 0x0f, "Reserved for extension" },
888 /* End includes from old" packet-camel.c */
891 /*--- Included file: packet-camel-fn.c ---*/
892 #line 1 "packet-camel-fn.c"
893 /*--- Fields for imported types ---*/
895 static int dissect_cellGlobalId_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
896 return dissect_gsm_map_CellGlobalIdOrServiceAreaIdFixedLength(TRUE, tvb, offset, pinfo, tree, hf_camel_cellGlobalId);
898 static int dissect_serviceAreaId_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
899 return dissect_gsm_map_CellGlobalIdOrServiceAreaIdFixedLength(TRUE, tvb, offset, pinfo, tree, hf_camel_serviceAreaId);
901 static int dissect_locationAreaId_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
902 return dissect_gsm_map_LAIFixedLength(TRUE, tvb, offset, pinfo, tree, hf_camel_locationAreaId);
904 static int dissect_ext_basicServiceCode_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
905 return dissect_gsm_map_Ext_BasicServiceCode(TRUE, tvb, offset, pinfo, tree, hf_camel_ext_basicServiceCode);
907 static int dissect_ext_basicServiceCode2_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
908 return dissect_gsm_map_Ext_BasicServiceCode(TRUE, tvb, offset, pinfo, tree, hf_camel_ext_basicServiceCode2);
910 static int dissect_locationInformation_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
911 return dissect_gsm_map_LocationInformation(TRUE, tvb, offset, pinfo, tree, hf_camel_locationInformation);
913 static int dissect_short_QoS_format_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
914 return dissect_gsm_map_QoS_Subscribed(TRUE, tvb, offset, pinfo, tree, hf_camel_short_QoS_format);
916 static int dissect_long_QoS_format_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
917 return dissect_gsm_map_Ext_QoS_Subscribed(TRUE, tvb, offset, pinfo, tree, hf_camel_long_QoS_format);
919 static int dissect_supplement_to_long_QoS_format_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
920 return dissect_gsm_map_Ext2_QoS_Subscribed(TRUE, tvb, offset, pinfo, tree, hf_camel_supplement_to_long_QoS_format);
922 static int dissect_chargingID_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
923 return dissect_gsm_map_GPRSChargingID(TRUE, tvb, offset, pinfo, tree, hf_camel_chargingID);
925 static int dissect_gGSNAddress_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
926 return dissect_gsm_map_GSN_Address(TRUE, tvb, offset, pinfo, tree, hf_camel_gGSNAddress);
928 static int dissect_routeingAreaIdentity_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
929 return dissect_gsm_map_RAIdentity(TRUE, tvb, offset, pinfo, tree, hf_camel_routeingAreaIdentity);
931 static int dissect_geographicalInformation_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
932 return dissect_gsm_map_GeographicalInformation(TRUE, tvb, offset, pinfo, tree, hf_camel_geographicalInformation);
934 static int dissect_selectedLSAIdentity_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
935 return dissect_gsm_map_LSAIdentity(TRUE, tvb, offset, pinfo, tree, hf_camel_selectedLSAIdentity);
937 static int dissect_enteringCellGlobalId_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
938 return dissect_gsm_map_CellGlobalIdOrServiceAreaIdFixedLength(TRUE, tvb, offset, pinfo, tree, hf_camel_enteringCellGlobalId);
940 static int dissect_leavingCellGlobalId_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
941 return dissect_gsm_map_CellGlobalIdOrServiceAreaIdFixedLength(TRUE, tvb, offset, pinfo, tree, hf_camel_leavingCellGlobalId);
943 static int dissect_enteringServiceAreaId_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
944 return dissect_gsm_map_CellGlobalIdOrServiceAreaIdFixedLength(TRUE, tvb, offset, pinfo, tree, hf_camel_enteringServiceAreaId);
946 static int dissect_leavingServiceAreaId_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
947 return dissect_gsm_map_CellGlobalIdOrServiceAreaIdFixedLength(TRUE, tvb, offset, pinfo, tree, hf_camel_leavingServiceAreaId);
949 static int dissect_enteringLocationAreaId_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
950 return dissect_gsm_map_LAIFixedLength(TRUE, tvb, offset, pinfo, tree, hf_camel_enteringLocationAreaId);
952 static int dissect_leavingLocationAreaId_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
953 return dissect_gsm_map_LAIFixedLength(TRUE, tvb, offset, pinfo, tree, hf_camel_leavingLocationAreaId);
955 static int dissect_laiFixedLength_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
956 return dissect_gsm_map_LAIFixedLength(TRUE, tvb, offset, pinfo, tree, hf_camel_laiFixedLength);
958 static int dissect_ms_Classmark2_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
959 return dissect_gsm_map_MS_Classmark2(TRUE, tvb, offset, pinfo, tree, hf_camel_ms_Classmark2);
961 static int dissect_iMEI_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
962 return dissect_gsm_map_IMEI(TRUE, tvb, offset, pinfo, tree, hf_camel_iMEI);
964 static int dissect_uu_Data_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
965 return dissect_gsm_map_UU_Data(TRUE, tvb, offset, pinfo, tree, hf_camel_uu_Data);
967 static int dissect_iMSI_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
968 return dissect_gsm_map_IMSI(TRUE, tvb, offset, pinfo, tree, hf_camel_iMSI);
970 static int dissect_locationInformationMSC_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
971 return dissect_gsm_map_LocationInformation(TRUE, tvb, offset, pinfo, tree, hf_camel_locationInformationMSC);
977 dissect_camel_INTEGER(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
978 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
983 static int dissect_reserved(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
984 return dissect_camel_INTEGER(FALSE, tvb, offset, pinfo, tree, hf_camel_reserved);
986 static int dissect_aoc(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
987 return dissect_camel_INTEGER(FALSE, tvb, offset, pinfo, tree, hf_camel_aoc);
989 static int dissect_standardPartEnd(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
990 return dissect_camel_INTEGER(FALSE, tvb, offset, pinfo, tree, hf_camel_standardPartEnd);
992 static int dissect_genOfVoiceAnn(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
993 return dissect_camel_INTEGER(FALSE, tvb, offset, pinfo, tree, hf_camel_genOfVoiceAnn);
995 static int dissect_voiceInfo2(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
996 return dissect_camel_INTEGER(FALSE, tvb, offset, pinfo, tree, hf_camel_voiceInfo2);
998 static int dissect_voiceInfo1(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
999 return dissect_camel_INTEGER(FALSE, tvb, offset, pinfo, tree, hf_camel_voiceInfo1);
1001 static int dissect_voiceBack1(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1002 return dissect_camel_INTEGER(FALSE, tvb, offset, pinfo, tree, hf_camel_voiceBack1);
1004 static int dissect_iPRoutAdd(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1005 return dissect_camel_INTEGER(FALSE, tvb, offset, pinfo, tree, hf_camel_iPRoutAdd);
1007 static int dissect_natureOfAddressIndicator(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1008 return dissect_camel_INTEGER(FALSE, tvb, offset, pinfo, tree, hf_camel_natureOfAddressIndicator);
1010 static int dissect_numberingPlanInd(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1011 return dissect_camel_INTEGER(FALSE, tvb, offset, pinfo, tree, hf_camel_numberingPlanInd);
1013 static int dissect_typeOfShape(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1014 return dissect_camel_INTEGER(FALSE, tvb, offset, pinfo, tree, hf_camel_typeOfShape);
1016 static int dissect_spare3(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1017 return dissect_camel_INTEGER(FALSE, tvb, offset, pinfo, tree, hf_camel_spare3);
1019 static int dissect_typeOfAddress(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1020 return dissect_camel_INTEGER(FALSE, tvb, offset, pinfo, tree, hf_camel_typeOfAddress);
1022 static int dissect_originalReasons(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1023 return dissect_camel_INTEGER(FALSE, tvb, offset, pinfo, tree, hf_camel_originalReasons);
1025 static int dissect_indicator(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1026 return dissect_camel_INTEGER(FALSE, tvb, offset, pinfo, tree, hf_camel_indicator);
1028 static int dissect_reason(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1029 return dissect_camel_INTEGER(FALSE, tvb, offset, pinfo, tree, hf_camel_reason);
1031 static int dissect_counter(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1032 return dissect_camel_INTEGER(FALSE, tvb, offset, pinfo, tree, hf_camel_counter);
1034 static int dissect_oddEven(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1035 return dissect_camel_INTEGER(FALSE, tvb, offset, pinfo, tree, hf_camel_oddEven);
1037 static int dissect_innInd(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1038 return dissect_camel_INTEGER(FALSE, tvb, offset, pinfo, tree, hf_camel_innInd);
1040 static int dissect_niInd(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1041 return dissect_camel_INTEGER(FALSE, tvb, offset, pinfo, tree, hf_camel_niInd);
1043 static int dissect_presentInd(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1044 return dissect_camel_INTEGER(FALSE, tvb, offset, pinfo, tree, hf_camel_presentInd);
1046 static int dissect_screening(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1047 return dissect_camel_INTEGER(FALSE, tvb, offset, pinfo, tree, hf_camel_screening);
1049 static int dissect_codingStandard(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1050 return dissect_camel_INTEGER(FALSE, tvb, offset, pinfo, tree, hf_camel_codingStandard);
1052 static int dissect_location(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1053 return dissect_camel_INTEGER(FALSE, tvb, offset, pinfo, tree, hf_camel_location);
1055 static int dissect_causeValue(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1056 return dissect_camel_INTEGER(FALSE, tvb, offset, pinfo, tree, hf_camel_causeValue);
1058 static int dissect_numberQualifierIndicator(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1059 return dissect_camel_INTEGER(FALSE, tvb, offset, pinfo, tree, hf_camel_numberQualifierIndicator);
1061 static int dissect_ext(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1062 return dissect_camel_INTEGER(FALSE, tvb, offset, pinfo, tree, hf_camel_ext);
1064 static int dissect_local(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1065 return dissect_camel_INTEGER(FALSE, tvb, offset, pinfo, tree, hf_camel_local);
1069 static const ber_sequence_t PBSGSNCapabilities_sequence[] = {
1070 { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_reserved },
1071 { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_aoc },
1076 dissect_camel_PBSGSNCapabilities(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1077 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
1078 PBSGSNCapabilities_sequence, hf_index, ett_camel_PBSGSNCapabilities);
1086 dissect_camel_OCTET_STRING_SIZE_0_3(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1087 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
1092 static int dissect_bilateralPart(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1093 return dissect_camel_OCTET_STRING_SIZE_0_3(FALSE, tvb, offset, pinfo, tree, hf_camel_bilateralPart);
1097 static const ber_sequence_t PBIPSSPCapabilities_sequence[] = {
1098 { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_standardPartEnd },
1099 { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_reserved },
1100 { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_genOfVoiceAnn },
1101 { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_voiceInfo2 },
1102 { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_voiceInfo1 },
1103 { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_voiceBack1 },
1104 { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_iPRoutAdd },
1105 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_bilateralPart },
1110 dissect_camel_PBIPSSPCapabilities(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1111 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
1112 PBIPSSPCapabilities_sequence, hf_index, ett_camel_PBIPSSPCapabilities);
1120 dissect_camel_INTEGER_1(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1121 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
1126 static int dissect_extension(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1127 return dissect_camel_INTEGER_1(FALSE, tvb, offset, pinfo, tree, hf_camel_extension);
1129 static int dissect_o1ext(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1130 return dissect_camel_INTEGER_1(FALSE, tvb, offset, pinfo, tree, hf_camel_o1ext);
1132 static int dissect_o2ext(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1133 return dissect_camel_INTEGER_1(FALSE, tvb, offset, pinfo, tree, hf_camel_o2ext);
1139 dissect_camel_OCTET_STRING_SIZE_0_19(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1140 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
1145 static int dissect_digits1(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1146 return dissect_camel_OCTET_STRING_SIZE_0_19(FALSE, tvb, offset, pinfo, tree, hf_camel_digits1);
1150 static const ber_sequence_t PBAddressString_sequence[] = {
1151 { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_extension },
1152 { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_natureOfAddressIndicator },
1153 { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_numberingPlanInd },
1154 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_digits1 },
1159 dissect_camel_PBAddressString(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1160 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
1161 PBAddressString_sequence, hf_index, ett_camel_PBAddressString);
1169 dissect_camel_OCTET_STRING_SIZE_0_8(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1170 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
1175 static int dissect_digits2(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1176 return dissect_camel_OCTET_STRING_SIZE_0_8(FALSE, tvb, offset, pinfo, tree, hf_camel_digits2);
1178 static int dissect_digits4(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1179 return dissect_camel_OCTET_STRING_SIZE_0_8(FALSE, tvb, offset, pinfo, tree, hf_camel_digits4);
1181 static int dissect_digits6(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1182 return dissect_camel_OCTET_STRING_SIZE_0_8(FALSE, tvb, offset, pinfo, tree, hf_camel_digits6);
1184 static int dissect_digits7(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1185 return dissect_camel_OCTET_STRING_SIZE_0_8(FALSE, tvb, offset, pinfo, tree, hf_camel_digits7);
1189 static const ber_sequence_t PBISDNAddressString_sequence[] = {
1190 { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_extension },
1191 { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_natureOfAddressIndicator },
1192 { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_numberingPlanInd },
1193 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_digits2 },
1198 dissect_camel_PBISDNAddressString(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1199 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
1200 PBISDNAddressString_sequence, hf_index, ett_camel_PBISDNAddressString);
1208 dissect_camel_OCTET_STRING_SIZE_3(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1209 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
1214 static int dissect_degreesOfLatitude(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1215 return dissect_camel_OCTET_STRING_SIZE_3(FALSE, tvb, offset, pinfo, tree, hf_camel_degreesOfLatitude);
1217 static int dissect_degreesOfLongitude(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1218 return dissect_camel_OCTET_STRING_SIZE_3(FALSE, tvb, offset, pinfo, tree, hf_camel_degreesOfLongitude);
1224 dissect_camel_OCTET_STRING_SIZE_1(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1225 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
1230 static int dissect_uncertaintyCode(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1231 return dissect_camel_OCTET_STRING_SIZE_1(FALSE, tvb, offset, pinfo, tree, hf_camel_uncertaintyCode);
1233 static int dissect_conferenceTreatmentIndicator_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1234 return dissect_camel_OCTET_STRING_SIZE_1(TRUE, tvb, offset, pinfo, tree, hf_camel_conferenceTreatmentIndicator);
1236 static int dissect_callCompletionTreatmentIndicator_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1237 return dissect_camel_OCTET_STRING_SIZE_1(TRUE, tvb, offset, pinfo, tree, hf_camel_callCompletionTreatmentIndicator);
1239 static int dissect_pDPTypeOrganization_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1240 return dissect_camel_OCTET_STRING_SIZE_1(TRUE, tvb, offset, pinfo, tree, hf_camel_pDPTypeOrganization);
1242 static int dissect_pDPTypeNumber_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1243 return dissect_camel_OCTET_STRING_SIZE_1(TRUE, tvb, offset, pinfo, tree, hf_camel_pDPTypeNumber);
1245 static int dissect_callDiversionTreatmentIndicator_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1246 return dissect_camel_OCTET_STRING_SIZE_1(TRUE, tvb, offset, pinfo, tree, hf_camel_callDiversionTreatmentIndicator);
1248 static int dissect_callingPartyRestrictionIndicator_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1249 return dissect_camel_OCTET_STRING_SIZE_1(TRUE, tvb, offset, pinfo, tree, hf_camel_callingPartyRestrictionIndicator);
1251 static int dissect_holdTreatmentIndicator_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1252 return dissect_camel_OCTET_STRING_SIZE_1(TRUE, tvb, offset, pinfo, tree, hf_camel_holdTreatmentIndicator);
1254 static int dissect_cwTreatmentIndicator_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1255 return dissect_camel_OCTET_STRING_SIZE_1(TRUE, tvb, offset, pinfo, tree, hf_camel_cwTreatmentIndicator);
1257 static int dissect_ectTreatmentIndicator_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1258 return dissect_camel_OCTET_STRING_SIZE_1(TRUE, tvb, offset, pinfo, tree, hf_camel_ectTreatmentIndicator);
1262 static const ber_sequence_t PBGeographicalInformation_sequence[] = {
1263 { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_typeOfShape },
1264 { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_spare3 },
1265 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_degreesOfLatitude },
1266 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_degreesOfLongitude },
1267 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_uncertaintyCode },
1272 dissect_camel_PBGeographicalInformation(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1273 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
1274 PBGeographicalInformation_sequence, hf_index, ett_camel_PBGeographicalInformation);
1282 dissect_camel_INTEGER_4_16(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1283 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
1288 static int dissect_addressLength(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1289 return dissect_camel_INTEGER_4_16(FALSE, tvb, offset, pinfo, tree, hf_camel_addressLength);
1295 dissect_camel_OCTET_STRING_SIZE_4_16(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1296 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
1301 static int dissect_address(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1302 return dissect_camel_OCTET_STRING_SIZE_4_16(FALSE, tvb, offset, pinfo, tree, hf_camel_address);
1306 static const ber_sequence_t PBGSNAddress_sequence[] = {
1307 { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_typeOfAddress },
1308 { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_addressLength },
1309 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_address },
1314 dissect_camel_PBGSNAddress(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1315 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
1316 PBGSNAddress_sequence, hf_index, ett_camel_PBGSNAddress);
1324 dissect_camel_INTEGER_0(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1325 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
1330 static int dissect_spare4(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1331 return dissect_camel_INTEGER_0(FALSE, tvb, offset, pinfo, tree, hf_camel_spare4);
1333 static int dissect_spare2(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1334 return dissect_camel_INTEGER_0(FALSE, tvb, offset, pinfo, tree, hf_camel_spare2);
1336 static int dissect_spare5(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1337 return dissect_camel_INTEGER_0(FALSE, tvb, offset, pinfo, tree, hf_camel_spare5);
1339 static int dissect_spare6(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1340 return dissect_camel_INTEGER_0(FALSE, tvb, offset, pinfo, tree, hf_camel_spare6);
1342 static int dissect_spare77(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1343 return dissect_camel_INTEGER_0(FALSE, tvb, offset, pinfo, tree, hf_camel_spare77);
1345 static int dissect_foo(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1346 return dissect_camel_INTEGER_0(FALSE, tvb, offset, pinfo, tree, hf_camel_foo);
1350 static const ber_sequence_t PBRedirectionInformation_sequence[] = {
1351 { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_originalReasons },
1352 { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_spare4 },
1353 { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_indicator },
1354 { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_reason },
1355 { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_spare2 },
1356 { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_counter },
1361 dissect_camel_PBRedirectionInformation(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1362 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
1363 PBRedirectionInformation_sequence, hf_index, ett_camel_PBRedirectionInformation);
1371 dissect_camel_OCTET_STRING_SIZE_0_16(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1372 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
1377 static int dissect_digits3(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1378 return dissect_camel_OCTET_STRING_SIZE_0_16(FALSE, tvb, offset, pinfo, tree, hf_camel_digits3);
1382 static const ber_sequence_t PBCalledPartyNumber_sequence[] = {
1383 { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_oddEven },
1384 { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_natureOfAddressIndicator },
1385 { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_innInd },
1386 { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_numberingPlanInd },
1387 { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_spare5 },
1388 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_digits3 },
1393 dissect_camel_PBCalledPartyNumber(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1394 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
1395 PBCalledPartyNumber_sequence, hf_index, ett_camel_PBCalledPartyNumber);
1401 static const ber_sequence_t PBCallingPartyNumber_sequence[] = {
1402 { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_oddEven },
1403 { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_natureOfAddressIndicator },
1404 { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_niInd },
1405 { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_numberingPlanInd },
1406 { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_presentInd },
1407 { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_screening },
1408 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_digits4 },
1413 dissect_camel_PBCallingPartyNumber(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1414 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
1415 PBCallingPartyNumber_sequence, hf_index, ett_camel_PBCallingPartyNumber);
1423 dissect_camel_OCTET_STRING_SIZE_1_10(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1424 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
1429 static int dissect_digits5(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1430 return dissect_camel_OCTET_STRING_SIZE_1_10(FALSE, tvb, offset, pinfo, tree, hf_camel_digits5);
1434 static const ber_sequence_t PBRedirectingNumber_sequence[] = {
1435 { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_oddEven },
1436 { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_natureOfAddressIndicator },
1437 { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_innInd },
1438 { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_numberingPlanInd },
1439 { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_spare6 },
1440 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_digits5 },
1445 dissect_camel_PBRedirectingNumber(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1446 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
1447 PBRedirectingNumber_sequence, hf_index, ett_camel_PBRedirectingNumber);
1455 dissect_camel_OCTET_STRING_SIZE_0_30(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1456 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
1461 static int dissect_diagnostics(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1462 return dissect_camel_OCTET_STRING_SIZE_0_30(FALSE, tvb, offset, pinfo, tree, hf_camel_diagnostics);
1466 static const ber_sequence_t PBCause_sequence[] = {
1467 { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_o1ext },
1468 { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_codingStandard },
1469 { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_spare77 },
1470 { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_location },
1471 { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_o2ext },
1472 { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_causeValue },
1473 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_diagnostics },
1478 dissect_camel_PBCause(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1479 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
1480 PBCause_sequence, hf_index, ett_camel_PBCause);
1486 static const ber_sequence_t PBGenericNumber_sequence[] = {
1487 { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_numberQualifierIndicator },
1488 { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_oddEven },
1489 { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_natureOfAddressIndicator },
1490 { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_niInd },
1491 { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_numberingPlanInd },
1492 { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_presentInd },
1493 { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_screening },
1494 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_digits6 },
1499 dissect_camel_PBGenericNumber(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1500 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
1501 PBGenericNumber_sequence, hf_index, ett_camel_PBGenericNumber);
1507 static const ber_sequence_t PBLocationNumber_sequence[] = {
1508 { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_oddEven },
1509 { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_natureOfAddressIndicator },
1510 { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_innInd },
1511 { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_numberingPlanInd },
1512 { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_presentInd },
1513 { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_screening },
1514 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_digits7 },
1519 dissect_camel_PBLocationNumber(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1520 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
1521 PBLocationNumber_sequence, hf_index, ett_camel_PBLocationNumber);
1527 static const value_string camel_T_typeOfNumber_vals[] = {
1529 { 1, "international" },
1531 { 3, "networkSpecific" },
1532 { 4, "dedicatedAccess" },
1535 { 7, "reservedExt" },
1541 dissect_camel_T_typeOfNumber(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1542 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
1547 static int dissect_typeOfNumber(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1548 return dissect_camel_T_typeOfNumber(FALSE, tvb, offset, pinfo, tree, hf_camel_typeOfNumber);
1554 dissect_camel_OCTET_STRING_SIZE_0_40(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1555 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
1560 static int dissect_digits8(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1561 return dissect_camel_OCTET_STRING_SIZE_0_40(FALSE, tvb, offset, pinfo, tree, hf_camel_digits8);
1565 static const ber_sequence_t PBCalledPartyBCDNumber_sequence[] = {
1566 { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_ext },
1567 { BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_typeOfNumber },
1568 { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_numberingPlanInd },
1569 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_digits8 },
1574 dissect_camel_PBCalledPartyBCDNumber(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1575 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
1576 PBCalledPartyBCDNumber_sequence, hf_index, ett_camel_PBCalledPartyBCDNumber);
1584 dissect_camel_AccessPointName(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1585 #line 323 "camel.cnf"
1587 tvbuff_t *parameter_tvb;
1589 proto_tree *subtree;
1591 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
1597 item = get_ber_last_created_item();
1598 subtree = proto_item_add_subtree(item, ett_camel_AccessPointName);
1599 de_sm_apn(parameter_tvb, subtree, 0, tvb_length_remaining(parameter_tvb,0), NULL, 0);
1606 static int dissect_accessPointName_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1607 return dissect_camel_AccessPointName(TRUE, tvb, offset, pinfo, tree, hf_camel_accessPointName);
1613 dissect_camel_INTEGER_1_864000(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1614 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
1619 static int dissect_maxCallPeriodDuration_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1620 return dissect_camel_INTEGER_1_864000(TRUE, tvb, offset, pinfo, tree, hf_camel_maxCallPeriodDuration);
1622 static int dissect_tttariffSwitchInterval_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1623 return dissect_camel_INTEGER_1_864000(TRUE, tvb, offset, pinfo, tree, hf_camel_tttariffSwitchInterval);
1629 dissect_camel_BOOLEAN(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1630 offset = dissect_ber_boolean(implicit_tag, pinfo, tree, tvb, offset, hf_index);
1634 static int dissect_releaseIfdurationExceeded_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1635 return dissect_camel_BOOLEAN(TRUE, tvb, offset, pinfo, tree, hf_camel_releaseIfdurationExceeded);
1637 static int dissect_actone_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1638 return dissect_camel_BOOLEAN(TRUE, tvb, offset, pinfo, tree, hf_camel_actone);
1640 static int dissect_tone(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1641 return dissect_camel_BOOLEAN(FALSE, tvb, offset, pinfo, tree, hf_camel_tone);
1643 static int dissect_legActive_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1644 return dissect_camel_BOOLEAN(TRUE, tvb, offset, pinfo, tree, hf_camel_legActive);
1646 static int dissect_interruptableAnnInd_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1647 return dissect_camel_BOOLEAN(TRUE, tvb, offset, pinfo, tree, hf_camel_interruptableAnnInd);
1649 static int dissect_voiceInformation_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1650 return dissect_camel_BOOLEAN(TRUE, tvb, offset, pinfo, tree, hf_camel_voiceInformation);
1652 static int dissect_voiceBack_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1653 return dissect_camel_BOOLEAN(TRUE, tvb, offset, pinfo, tree, hf_camel_voiceBack);
1655 static int dissect_disconnectFromIPForbidden_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1656 return dissect_camel_BOOLEAN(TRUE, tvb, offset, pinfo, tree, hf_camel_disconnectFromIPForbidden);
1658 static int dissect_requestAnnouncementComplete_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1659 return dissect_camel_BOOLEAN(TRUE, tvb, offset, pinfo, tree, hf_camel_requestAnnouncementComplete);
1661 static int dissect_active_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1662 return dissect_camel_BOOLEAN(TRUE, tvb, offset, pinfo, tree, hf_camel_active);
1668 dissect_camel_INTEGER_1_86400(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1669 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
1674 static int dissect_tariffSwitchInterval_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1675 return dissect_camel_INTEGER_1_86400(TRUE, tvb, offset, pinfo, tree, hf_camel_tariffSwitchInterval);
1677 static int dissect_maxElapsedTime_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1678 return dissect_camel_INTEGER_1_86400(TRUE, tvb, offset, pinfo, tree, hf_camel_maxElapsedTime);
1684 dissect_camel_OBJECT_IDENTIFIER(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1685 offset = dissect_ber_object_identifier(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
1689 static int dissect_global(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1690 return dissect_camel_OBJECT_IDENTIFIER(FALSE, tvb, offset, pinfo, tree, hf_camel_global);
1694 static const value_string camel_Code_vals[] = {
1700 static const ber_choice_t Code_choice[] = {
1701 { 0, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_local },
1702 { 1, BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_global },
1703 { 0, 0, 0, 0, NULL }
1707 dissect_camel_Code(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1708 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
1709 Code_choice, hf_index, ett_camel_Code,
1718 dissect_camel_SupportedExtensionsid(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1719 offset = dissect_camel_Code(implicit_tag, tvb, offset, pinfo, tree, hf_index);
1723 static int dissect_type(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1724 return dissect_camel_SupportedExtensionsid(FALSE, tvb, offset, pinfo, tree, hf_camel_type);
1728 static const value_string camel_CriticalityType_vals[] = {
1736 dissect_camel_CriticalityType(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1737 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
1742 static int dissect_criticality(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1743 return dissect_camel_CriticalityType(FALSE, tvb, offset, pinfo, tree, hf_camel_criticality);
1749 dissect_camel_NULL(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1750 offset = dissect_ber_null(implicit_tag, pinfo, tree, tvb, offset, hf_index);
1754 static int dissect_automaticRearm_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1755 return dissect_camel_NULL(TRUE, tvb, offset, pinfo, tree, hf_camel_automaticRearm);
1757 static int dissect_callLegReleasedAtTcpExpiry_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1758 return dissect_camel_NULL(TRUE, tvb, offset, pinfo, tree, hf_camel_callLegReleasedAtTcpExpiry);
1760 static int dissect_inter_SystemHandOver_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1761 return dissect_camel_NULL(TRUE, tvb, offset, pinfo, tree, hf_camel_inter_SystemHandOver);
1763 static int dissect_inter_PLMNHandOver_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1764 return dissect_camel_NULL(TRUE, tvb, offset, pinfo, tree, hf_camel_inter_PLMNHandOver);
1766 static int dissect_inter_MSCHandOver_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1767 return dissect_camel_NULL(TRUE, tvb, offset, pinfo, tree, hf_camel_inter_MSCHandOver);
1769 static int dissect_or_Call_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1770 return dissect_camel_NULL(TRUE, tvb, offset, pinfo, tree, hf_camel_or_Call);
1772 static int dissect_forwardedCall_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1773 return dissect_camel_NULL(TRUE, tvb, offset, pinfo, tree, hf_camel_forwardedCall);
1775 static int dissect_callForwarded_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1776 return dissect_camel_NULL(TRUE, tvb, offset, pinfo, tree, hf_camel_callForwarded);
1778 static int dissect_routeNotPermitted_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1779 return dissect_camel_NULL(TRUE, tvb, offset, pinfo, tree, hf_camel_routeNotPermitted);
1781 static int dissect_routeingAreaUpdate_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1782 return dissect_camel_NULL(TRUE, tvb, offset, pinfo, tree, hf_camel_routeingAreaUpdate);
1784 static int dissect_secondaryPDPContext_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1785 return dissect_camel_NULL(TRUE, tvb, offset, pinfo, tree, hf_camel_secondaryPDPContext);
1787 static int dissect_saiPresent_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1788 return dissect_camel_NULL(TRUE, tvb, offset, pinfo, tree, hf_camel_saiPresent);
1790 static int dissect_inter_SystemHandOverToUMTS_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1791 return dissect_camel_NULL(TRUE, tvb, offset, pinfo, tree, hf_camel_inter_SystemHandOverToUMTS);
1793 static int dissect_inter_SystemHandOverToGSM_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1794 return dissect_camel_NULL(TRUE, tvb, offset, pinfo, tree, hf_camel_inter_SystemHandOverToGSM);
1796 static int dissect_nonCUGCall_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1797 return dissect_camel_NULL(TRUE, tvb, offset, pinfo, tree, hf_camel_nonCUGCall);
1799 static int dissect_firstExtensionExtensionType(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1800 return dissect_camel_NULL(FALSE, tvb, offset, pinfo, tree, hf_camel_firstExtensionExtensionType);
1802 static int dissect_allRequests_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1803 return dissect_camel_NULL(TRUE, tvb, offset, pinfo, tree, hf_camel_allRequests);
1805 static int dissect_assumedIdle_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1806 return dissect_camel_NULL(TRUE, tvb, offset, pinfo, tree, hf_camel_assumedIdle);
1808 static int dissect_camelBusy_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1809 return dissect_camel_NULL(TRUE, tvb, offset, pinfo, tree, hf_camel_camelBusy);
1811 static int dissect_notProvidedFromVLR_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1812 return dissect_camel_NULL(TRUE, tvb, offset, pinfo, tree, hf_camel_notProvidedFromVLR);
1814 static int dissect_enhancedDialledServicesAllowed_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1815 return dissect_camel_NULL(TRUE, tvb, offset, pinfo, tree, hf_camel_enhancedDialledServicesAllowed);
1817 static int dissect_suppress_T_CSI_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1818 return dissect_camel_NULL(TRUE, tvb, offset, pinfo, tree, hf_camel_suppress_T_CSI);
1820 static int dissect_cug_OutgoingAccess_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1821 return dissect_camel_NULL(TRUE, tvb, offset, pinfo, tree, hf_camel_cug_OutgoingAccess);
1823 static int dissect_bor_InterrogationRequested_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1824 return dissect_camel_NULL(TRUE, tvb, offset, pinfo, tree, hf_camel_bor_InterrogationRequested);
1826 static int dissect_none_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1827 return dissect_camel_NULL(TRUE, tvb, offset, pinfo, tree, hf_camel_none);
1829 static int dissect_suppress_O_CSI_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1830 return dissect_camel_NULL(TRUE, tvb, offset, pinfo, tree, hf_camel_suppress_O_CSI);
1832 static int dissect_suppress_D_CSI_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1833 return dissect_camel_NULL(TRUE, tvb, offset, pinfo, tree, hf_camel_suppress_D_CSI);
1835 static int dissect_suppress_N_CSI_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1836 return dissect_camel_NULL(TRUE, tvb, offset, pinfo, tree, hf_camel_suppress_N_CSI);
1838 static int dissect_suppressOutgoingCallBarring_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1839 return dissect_camel_NULL(TRUE, tvb, offset, pinfo, tree, hf_camel_suppressOutgoingCallBarring);
1841 static int dissect_gsm_ForwardingPending_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1842 return dissect_camel_NULL(TRUE, tvb, offset, pinfo, tree, hf_camel_gsm_ForwardingPending);
1846 static const value_string camel_SupportedExtensionsExtensionType_vals[] = {
1847 { 0, "firstExtensionExtensionType" },
1851 static const ber_choice_t SupportedExtensionsExtensionType_choice[] = {
1852 { 0, BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_firstExtensionExtensionType },
1853 { 0, 0, 0, 0, NULL }
1857 dissect_camel_SupportedExtensionsExtensionType(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1858 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
1859 SupportedExtensionsExtensionType_choice, hf_index, ett_camel_SupportedExtensionsExtensionType,
1864 static int dissect_value_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1865 return dissect_camel_SupportedExtensionsExtensionType(TRUE, tvb, offset, pinfo, tree, hf_camel_value);
1869 static const ber_sequence_t ExtensionField_sequence[] = {
1870 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_type },
1871 { BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_criticality },
1872 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_value_impl },
1877 dissect_camel_ExtensionField(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1878 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
1879 ExtensionField_sequence, hf_index, ett_camel_ExtensionField);
1883 static int dissect_Extensions_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1884 return dissect_camel_ExtensionField(FALSE, tvb, offset, pinfo, tree, hf_camel_Extensions_item);
1886 static int dissect_ExtensionsArray_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1887 return dissect_camel_ExtensionField(FALSE, tvb, offset, pinfo, tree, hf_camel_ExtensionsArray_item);
1891 static const ber_sequence_t ExtensionsArray_sequence_of[1] = {
1892 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_ExtensionsArray_item },
1896 dissect_camel_ExtensionsArray(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1897 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
1898 ExtensionsArray_sequence_of, hf_index, ett_camel_ExtensionsArray);
1902 static int dissect_extensions_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1903 return dissect_camel_ExtensionsArray(TRUE, tvb, offset, pinfo, tree, hf_camel_extensions);
1907 static const ber_sequence_t T_actimeDurationCharging_sequence[] = {
1908 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_maxCallPeriodDuration_impl },
1909 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_releaseIfdurationExceeded_impl },
1910 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_tariffSwitchInterval_impl },
1911 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_actone_impl },
1912 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
1917 dissect_camel_T_actimeDurationCharging(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1918 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
1919 T_actimeDurationCharging_sequence, hf_index, ett_camel_T_actimeDurationCharging);
1923 static int dissect_actimeDurationCharging_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1924 return dissect_camel_T_actimeDurationCharging(TRUE, tvb, offset, pinfo, tree, hf_camel_actimeDurationCharging);
1928 static const value_string camel_AChBillingChargingCharacteristics_vals[] = {
1929 { 0, "actimeDurationCharging" },
1933 static const ber_choice_t AChBillingChargingCharacteristics_choice[] = {
1934 { 0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_actimeDurationCharging_impl },
1935 { 0, 0, 0, 0, NULL }
1939 dissect_camel_AChBillingChargingCharacteristics(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1940 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
1941 AChBillingChargingCharacteristics_choice, hf_index, ett_camel_AChBillingChargingCharacteristics,
1946 static int dissect_aChBillingChargingCharacteristics_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1947 return dissect_camel_AChBillingChargingCharacteristics(TRUE, tvb, offset, pinfo, tree, hf_camel_aChBillingChargingCharacteristics);
1953 dissect_camel_LegType(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1954 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
1959 static int dissect_receivingSideID_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1960 return dissect_camel_LegType(TRUE, tvb, offset, pinfo, tree, hf_camel_receivingSideID);
1962 static int dissect_sendingSideID_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1963 return dissect_camel_LegType(TRUE, tvb, offset, pinfo, tree, hf_camel_sendingSideID);
1967 static const value_string camel_LegID_vals[] = {
1968 { 0, "sendingSideID" },
1969 { 1, "receivingSideID" },
1973 static const ber_choice_t LegID_choice[] = {
1974 { 0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_sendingSideID_impl },
1975 { 1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_receivingSideID_impl },
1976 { 0, 0, 0, 0, NULL }
1980 dissect_camel_LegID(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
1981 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
1982 LegID_choice, hf_index, ett_camel_LegID,
1987 static int dissect_legID_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1988 return dissect_camel_LegID(TRUE, tvb, offset, pinfo, tree, hf_camel_legID);
1990 static int dissect_legID6_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1991 return dissect_camel_LegID(TRUE, tvb, offset, pinfo, tree, hf_camel_legID6);
1993 static int dissect_legToBeCreated_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1994 return dissect_camel_LegID(TRUE, tvb, offset, pinfo, tree, hf_camel_legToBeCreated);
1996 static int dissect_legIDToMove_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
1997 return dissect_camel_LegID(TRUE, tvb, offset, pinfo, tree, hf_camel_legIDToMove);
1999 static int dissect_legToBeReleased_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2000 return dissect_camel_LegID(TRUE, tvb, offset, pinfo, tree, hf_camel_legToBeReleased);
2002 static int dissect_legToBeSplit_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2003 return dissect_camel_LegID(TRUE, tvb, offset, pinfo, tree, hf_camel_legToBeSplit);
2009 dissect_camel_CallSegmentID(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2010 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
2015 static int dissect_srfConnection_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2016 return dissect_camel_CallSegmentID(TRUE, tvb, offset, pinfo, tree, hf_camel_srfConnection);
2018 static int dissect_callSegmentID_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2019 return dissect_camel_CallSegmentID(TRUE, tvb, offset, pinfo, tree, hf_camel_callSegmentID);
2021 static int dissect_newCallSegment_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2022 return dissect_camel_CallSegmentID(TRUE, tvb, offset, pinfo, tree, hf_camel_newCallSegment);
2026 static const value_string camel_AChChargingAddress_vals[] = {
2028 { 50, "srfConnection" },
2032 static const ber_choice_t AChChargingAddress_choice[] = {
2033 { 2, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_legID_impl },
2034 { 50, BER_CLASS_CON, 50, BER_FLAGS_IMPLTAG, dissect_srfConnection_impl },
2035 { 0, 0, 0, 0, NULL }
2039 dissect_camel_AChChargingAddress(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2040 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
2041 AChChargingAddress_choice, hf_index, ett_camel_AChChargingAddress,
2046 static int dissect_aChChargingAddress_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2047 return dissect_camel_AChChargingAddress(TRUE, tvb, offset, pinfo, tree, hf_camel_aChChargingAddress);
2053 dissect_camel_Digits(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2054 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
2059 static int dissect_calledAddressValue_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2060 return dissect_camel_Digits(TRUE, tvb, offset, pinfo, tree, hf_camel_calledAddressValue);
2062 static int dissect_callingAddressValue_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2063 return dissect_camel_Digits(TRUE, tvb, offset, pinfo, tree, hf_camel_callingAddressValue);
2065 static int dissect_dTMFDigitsCompleted_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2066 return dissect_camel_Digits(TRUE, tvb, offset, pinfo, tree, hf_camel_dTMFDigitsCompleted);
2068 static int dissect_dTMFDigitsTimeOut_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2069 return dissect_camel_Digits(TRUE, tvb, offset, pinfo, tree, hf_camel_dTMFDigitsTimeOut);
2071 static int dissect_number_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2072 return dissect_camel_Digits(TRUE, tvb, offset, pinfo, tree, hf_camel_number);
2074 static int dissect_digitsResponse_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2075 return dissect_camel_Digits(TRUE, tvb, offset, pinfo, tree, hf_camel_digitsResponse);
2081 dissect_camel_AdditionalCallingPartyNumber(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2082 offset = dissect_camel_Digits(implicit_tag, tvb, offset, pinfo, tree, hf_index);
2086 static int dissect_additionalCallingPartyNumber_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2087 return dissect_camel_AdditionalCallingPartyNumber(TRUE, tvb, offset, pinfo, tree, hf_camel_additionalCallingPartyNumber);
2093 dissect_camel_AlertingPattern(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2094 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
2099 static int dissect_alertingPattern_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2100 return dissect_camel_AlertingPattern(TRUE, tvb, offset, pinfo, tree, hf_camel_alertingPattern);
2106 dissect_camel_INTEGER_0_8191(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2107 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
2112 static int dissect_e1_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2113 return dissect_camel_INTEGER_0_8191(TRUE, tvb, offset, pinfo, tree, hf_camel_e1);
2115 static int dissect_e2_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2116 return dissect_camel_INTEGER_0_8191(TRUE, tvb, offset, pinfo, tree, hf_camel_e2);
2118 static int dissect_e3_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2119 return dissect_camel_INTEGER_0_8191(TRUE, tvb, offset, pinfo, tree, hf_camel_e3);
2121 static int dissect_e4_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2122 return dissect_camel_INTEGER_0_8191(TRUE, tvb, offset, pinfo, tree, hf_camel_e4);
2124 static int dissect_e5_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2125 return dissect_camel_INTEGER_0_8191(TRUE, tvb, offset, pinfo, tree, hf_camel_e5);
2127 static int dissect_e6_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2128 return dissect_camel_INTEGER_0_8191(TRUE, tvb, offset, pinfo, tree, hf_camel_e6);
2130 static int dissect_e7_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2131 return dissect_camel_INTEGER_0_8191(TRUE, tvb, offset, pinfo, tree, hf_camel_e7);
2135 static const ber_sequence_t CAI_Gsm0224_sequence[] = {
2136 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_e1_impl },
2137 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_e2_impl },
2138 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_e3_impl },
2139 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_e4_impl },
2140 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_e5_impl },
2141 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_e6_impl },
2142 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_e7_impl },
2147 dissect_camel_CAI_Gsm0224(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2148 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2149 CAI_Gsm0224_sequence, hf_index, ett_camel_CAI_Gsm0224);
2153 static int dissect_aOCInitial_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2154 return dissect_camel_CAI_Gsm0224(TRUE, tvb, offset, pinfo, tree, hf_camel_aOCInitial);
2156 static int dissect_cAI_GSM0224_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2157 return dissect_camel_CAI_Gsm0224(TRUE, tvb, offset, pinfo, tree, hf_camel_cAI_GSM0224);
2161 static const ber_sequence_t AOCSubsequent_sequence[] = {
2162 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_cAI_GSM0224_impl },
2163 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_tariffSwitchInterval_impl },
2168 dissect_camel_AOCSubsequent(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2169 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2170 AOCSubsequent_sequence, hf_index, ett_camel_AOCSubsequent);
2174 static int dissect_aOCSubsequent_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2175 return dissect_camel_AOCSubsequent(TRUE, tvb, offset, pinfo, tree, hf_camel_aOCSubsequent);
2177 static int dissect_aOCAfterAnswer_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2178 return dissect_camel_AOCSubsequent(TRUE, tvb, offset, pinfo, tree, hf_camel_aOCAfterAnswer);
2182 static const ber_sequence_t AOCBeforeAnswer_sequence[] = {
2183 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_aOCInitial_impl },
2184 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_aOCSubsequent_impl },
2189 dissect_camel_AOCBeforeAnswer(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(implicit_tag, pinfo, tree, tvb, offset,
2191 AOCBeforeAnswer_sequence, hf_index, ett_camel_AOCBeforeAnswer);
2195 static int dissect_aOCBeforeAnswer_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2196 return dissect_camel_AOCBeforeAnswer(TRUE, tvb, offset, pinfo, tree, hf_camel_aOCBeforeAnswer);
2200 static const ber_sequence_t AOCGprs_sequence[] = {
2201 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_aOCInitial_impl },
2202 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_aOCSubsequent_impl },
2207 dissect_camel_AOCGprs(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2208 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2209 AOCGprs_sequence, hf_index, ett_camel_AOCGprs);
2213 static int dissect_aOCGPRS_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2214 return dissect_camel_AOCGprs(TRUE, tvb, offset, pinfo, tree, hf_camel_aOCGPRS);
2218 static const value_string camel_AppendFreeFormatData_vals[] = {
2226 dissect_camel_AppendFreeFormatData(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2227 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
2232 static int dissect_appendFreeFormatData_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2233 return dissect_camel_AppendFreeFormatData(TRUE, tvb, offset, pinfo, tree, hf_camel_appendFreeFormatData);
2239 dissect_camel_ApplicationTimer(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2240 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
2245 static int dissect_applicationTimer_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2246 return dissect_camel_ApplicationTimer(TRUE, tvb, offset, pinfo, tree, hf_camel_applicationTimer);
2252 dissect_camel_AssistingSSPIPRoutingAddress(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2253 offset = dissect_camel_Digits(implicit_tag, tvb, offset, pinfo, tree, hf_index);
2257 static int dissect_assistingSSPIPRoutingAddress_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2258 return dissect_camel_AssistingSSPIPRoutingAddress(TRUE, tvb, offset, pinfo, tree, hf_camel_assistingSSPIPRoutingAddress);
2264 dissect_camel_INTEGER_1_1200(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2265 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
2270 static int dissect_burstInterval_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2271 return dissect_camel_INTEGER_1_1200(TRUE, tvb, offset, pinfo, tree, hf_camel_burstInterval);
2273 static int dissect_warningPeriod_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2274 return dissect_camel_INTEGER_1_1200(TRUE, tvb, offset, pinfo, tree, hf_camel_warningPeriod);
2280 dissect_camel_INTEGER_1_3(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2281 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
2286 static int dissect_numberOfBursts_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2287 return dissect_camel_INTEGER_1_3(TRUE, tvb, offset, pinfo, tree, hf_camel_numberOfBursts);
2289 static int dissect_numberOfTonesInBurst_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2290 return dissect_camel_INTEGER_1_3(TRUE, tvb, offset, pinfo, tree, hf_camel_numberOfTonesInBurst);
2296 dissect_camel_INTEGER_1_20(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2297 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
2302 static int dissect_toneDuration_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2303 return dissect_camel_INTEGER_1_20(TRUE, tvb, offset, pinfo, tree, hf_camel_toneDuration);
2305 static int dissect_toneInterval_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2306 return dissect_camel_INTEGER_1_20(TRUE, tvb, offset, pinfo, tree, hf_camel_toneInterval);
2310 static const ber_sequence_t Burst_sequence[] = {
2311 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_numberOfBursts_impl },
2312 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_burstInterval_impl },
2313 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_numberOfTonesInBurst_impl },
2314 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_toneDuration_impl },
2315 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_toneInterval_impl },
2320 dissect_camel_Burst(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2321 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2322 Burst_sequence, hf_index, ett_camel_Burst);
2326 static int dissect_bursts_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2327 return dissect_camel_Burst(TRUE, tvb, offset, pinfo, tree, hf_camel_bursts);
2331 static const ber_sequence_t BurstList_sequence[] = {
2332 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_warningPeriod_impl },
2333 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_bursts_impl },
2338 dissect_camel_BurstList(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2339 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2340 BurstList_sequence, hf_index, ett_camel_BurstList);
2344 static int dissect_burstList_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2345 return dissect_camel_BurstList(TRUE, tvb, offset, pinfo, tree, hf_camel_burstList);
2349 static const value_string camel_AudibleIndicator_vals[] = {
2355 static const ber_choice_t AudibleIndicator_choice[] = {
2356 { 0, BER_CLASS_UNI, BER_UNI_TAG_BOOLEAN, BER_FLAGS_NOOWNTAG, dissect_tone },
2357 { 1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_burstList_impl },
2358 { 0, 0, 0, 0, NULL }
2362 dissect_camel_AudibleIndicator(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2363 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
2364 AudibleIndicator_choice, hf_index, ett_camel_AudibleIndicator,
2369 static int dissect_audibleIndicator_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2370 return dissect_camel_AudibleIndicator(TRUE, tvb, offset, pinfo, tree, hf_camel_audibleIndicator);
2374 static const ber_sequence_t BackwardServiceInteractionInd_sequence[] = {
2375 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_conferenceTreatmentIndicator_impl },
2376 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_callCompletionTreatmentIndicator_impl },
2381 dissect_camel_BackwardServiceInteractionInd(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2382 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2383 BackwardServiceInteractionInd_sequence, hf_index, ett_camel_BackwardServiceInteractionInd);
2387 static int dissect_backwardServiceInteractionInd_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2388 return dissect_camel_BackwardServiceInteractionInd(TRUE, tvb, offset, pinfo, tree, hf_camel_backwardServiceInteractionInd);
2394 dissect_camel_ServiceKey(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2395 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
2400 static int dissect_serviceKey_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2401 return dissect_camel_ServiceKey(TRUE, tvb, offset, pinfo, tree, hf_camel_serviceKey);
2405 static const ber_sequence_t GapOnService_sequence[] = {
2406 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_serviceKey_impl },
2411 dissect_camel_GapOnService(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2412 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2413 GapOnService_sequence, hf_index, ett_camel_GapOnService);
2417 static int dissect_gapOnService_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2418 return dissect_camel_GapOnService(TRUE, tvb, offset, pinfo, tree, hf_camel_gapOnService);
2422 static const ber_sequence_t T_calledAddressAndService_sequence[] = {
2423 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_calledAddressValue_impl },
2424 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_serviceKey_impl },
2429 dissect_camel_T_calledAddressAndService(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2430 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2431 T_calledAddressAndService_sequence, hf_index, ett_camel_T_calledAddressAndService);
2435 static int dissect_calledAddressAndService_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2436 return dissect_camel_T_calledAddressAndService(TRUE, tvb, offset, pinfo, tree, hf_camel_calledAddressAndService);
2440 static const ber_sequence_t T_callingAddressAndService_sequence[] = {
2441 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_callingAddressValue_impl },
2442 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_serviceKey_impl },
2447 dissect_camel_T_callingAddressAndService(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2448 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2449 T_callingAddressAndService_sequence, hf_index, ett_camel_T_callingAddressAndService);
2453 static int dissect_callingAddressAndService_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2454 return dissect_camel_T_callingAddressAndService(TRUE, tvb, offset, pinfo, tree, hf_camel_callingAddressAndService);
2458 static const value_string camel_BasicGapCriteria_vals[] = {
2459 { 0, "calledAddressValue" },
2460 { 2, "gapOnService" },
2461 { 29, "calledAddressAndService" },
2462 { 30, "callingAddressAndService" },
2466 static const ber_choice_t BasicGapCriteria_choice[] = {
2467 { 0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_calledAddressValue_impl },
2468 { 2, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_gapOnService_impl },
2469 { 29, BER_CLASS_CON, 29, BER_FLAGS_IMPLTAG, dissect_calledAddressAndService_impl },
2470 { 30, BER_CLASS_CON, 30, BER_FLAGS_IMPLTAG, dissect_callingAddressAndService_impl },
2471 { 0, 0, 0, 0, NULL }
2475 dissect_camel_BasicGapCriteria(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2476 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
2477 BasicGapCriteria_choice, hf_index, ett_camel_BasicGapCriteria,
2482 static int dissect_basicGapCriteria(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2483 return dissect_camel_BasicGapCriteria(FALSE, tvb, offset, pinfo, tree, hf_camel_basicGapCriteria);
2485 static int dissect_basicGapCriteria_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2486 return dissect_camel_BasicGapCriteria(TRUE, tvb, offset, pinfo, tree, hf_camel_basicGapCriteria);
2490 static const value_string camel_EventTypeBCSM_vals[] = {
2491 { 2, "collectedInfo" },
2492 { 2, "collectedInfo" },
2493 { 3, "analyzedInformation" },
2494 { 4, "routeSelectFailure" },
2495 { 5, "oCalledPartyBusy" },
2499 { 9, "oDisconnect" },
2501 { 12, "termAttemptAuthorized" },
2503 { 14, "tNoAnswer" },
2506 { 17, "tDisconnect" },
2508 { 19, "oTermSeized" },
2509 { 27, "callAccepted" },
2510 { 50, "oChangeOfPosition" },
2511 { 51, "tChangeOfPosition" },
2512 { 52, "oServiceChange" },
2513 { 53, "tServiceChange" },
2519 dissect_camel_EventTypeBCSM(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2520 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
2525 static int dissect_eventTypeBCSM_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2526 return dissect_camel_EventTypeBCSM(TRUE, tvb, offset, pinfo, tree, hf_camel_eventTypeBCSM);
2530 static const value_string camel_MonitorMode_vals[] = {
2531 { 0, "interrupted" },
2532 { 1, "notifyAndContinue" },
2533 { 2, "transparent" },
2539 dissect_camel_MonitorMode(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2540 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
2545 static int dissect_monitorMode_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2546 return dissect_camel_MonitorMode(TRUE, tvb, offset, pinfo, tree, hf_camel_monitorMode);
2552 dissect_camel_INTEGER_1_30(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2553 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
2558 static int dissect_minimumNbOfDigits_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2559 return dissect_camel_INTEGER_1_30(TRUE, tvb, offset, pinfo, tree, hf_camel_minimumNbOfDigits);
2561 static int dissect_maximumNbOfDigits_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2562 return dissect_camel_INTEGER_1_30(TRUE, tvb, offset, pinfo, tree, hf_camel_maximumNbOfDigits);
2564 static int dissect_minimumNumberOfDigits_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2565 return dissect_camel_INTEGER_1_30(TRUE, tvb, offset, pinfo, tree, hf_camel_minimumNumberOfDigits);
2567 static int dissect_maximumNumberOfDigits_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2568 return dissect_camel_INTEGER_1_30(TRUE, tvb, offset, pinfo, tree, hf_camel_maximumNumberOfDigits);
2574 dissect_camel_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_) {
2575 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
2580 static int dissect_endOfReplyDigit_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2581 return dissect_camel_OCTET_STRING_SIZE_1_2(TRUE, tvb, offset, pinfo, tree, hf_camel_endOfReplyDigit);
2583 static int dissect_cancelDigit_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2584 return dissect_camel_OCTET_STRING_SIZE_1_2(TRUE, tvb, offset, pinfo, tree, hf_camel_cancelDigit);
2586 static int dissect_startDigit_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2587 return dissect_camel_OCTET_STRING_SIZE_1_2(TRUE, tvb, offset, pinfo, tree, hf_camel_startDigit);
2593 dissect_camel_INTEGER_1_127(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2594 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
2599 static int dissect_firstDigitTimeOut_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2600 return dissect_camel_INTEGER_1_127(TRUE, tvb, offset, pinfo, tree, hf_camel_firstDigitTimeOut);
2602 static int dissect_interDigitTimeOut_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2603 return dissect_camel_INTEGER_1_127(TRUE, tvb, offset, pinfo, tree, hf_camel_interDigitTimeOut);
2605 static int dissect_numberOfRepetitions_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2606 return dissect_camel_INTEGER_1_127(TRUE, tvb, offset, pinfo, tree, hf_camel_numberOfRepetitions);
2608 static int dissect_interDigitTimeout_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2609 return dissect_camel_INTEGER_1_127(TRUE, tvb, offset, pinfo, tree, hf_camel_interDigitTimeout);
2613 static const ber_sequence_t MidCallControlInfo_sequence[] = {
2614 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_minimumNumberOfDigits_impl },
2615 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_maximumNumberOfDigits_impl },
2616 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_endOfReplyDigit_impl },
2617 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_cancelDigit_impl },
2618 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_startDigit_impl },
2619 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_interDigitTimeout_impl },
2624 dissect_camel_MidCallControlInfo(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2625 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2626 MidCallControlInfo_sequence, hf_index, ett_camel_MidCallControlInfo);
2630 static int dissect_midCallControlInfo_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2631 return dissect_camel_MidCallControlInfo(TRUE, tvb, offset, pinfo, tree, hf_camel_midCallControlInfo);
2635 static const ber_sequence_t ChangeOfLocationAlt_sequence[] = {
2640 dissect_camel_ChangeOfLocationAlt(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2641 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2642 ChangeOfLocationAlt_sequence, hf_index, ett_camel_ChangeOfLocationAlt);
2646 static int dissect_changeOfLocationAlt_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2647 return dissect_camel_ChangeOfLocationAlt(TRUE, tvb, offset, pinfo, tree, hf_camel_changeOfLocationAlt);
2651 static const value_string camel_ChangeOfLocation_vals[] = {
2652 { 0, "cellGlobalId" },
2653 { 1, "serviceAreaId" },
2654 { 2, "locationAreaId" },
2655 { 3, "inter-SystemHandOver" },
2656 { 4, "inter-PLMNHandOver" },
2657 { 5, "inter-MSCHandOver" },
2658 { 6, "changeOfLocationAlt" },
2662 static const ber_choice_t ChangeOfLocation_choice[] = {
2663 { 0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_cellGlobalId_impl },
2664 { 1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_serviceAreaId_impl },
2665 { 2, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_locationAreaId_impl },
2666 { 3, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_inter_SystemHandOver_impl },
2667 { 4, BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_inter_PLMNHandOver_impl },
2668 { 5, BER_CLASS_CON, 5, BER_FLAGS_IMPLTAG, dissect_inter_MSCHandOver_impl },
2669 { 6, BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_changeOfLocationAlt_impl },
2670 { 0, 0, 0, 0, NULL }
2674 dissect_camel_ChangeOfLocation(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2675 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
2676 ChangeOfLocation_choice, hf_index, ett_camel_ChangeOfLocation,
2681 static int dissect_ChangeOfPositionControlInfo_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2682 return dissect_camel_ChangeOfLocation(FALSE, tvb, offset, pinfo, tree, hf_camel_ChangeOfPositionControlInfo_item);
2686 static const ber_sequence_t ChangeOfPositionControlInfo_sequence_of[1] = {
2687 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ChangeOfPositionControlInfo_item },
2691 dissect_camel_ChangeOfPositionControlInfo(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2692 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
2693 ChangeOfPositionControlInfo_sequence_of, hf_index, ett_camel_ChangeOfPositionControlInfo);
2697 static int dissect_changeOfPositionControlInfo_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2698 return dissect_camel_ChangeOfPositionControlInfo(TRUE, tvb, offset, pinfo, tree, hf_camel_changeOfPositionControlInfo);
2702 static const ber_sequence_t DpSpecificCriteriaAlt_sequence[] = {
2703 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_changeOfPositionControlInfo_impl },
2708 dissect_camel_DpSpecificCriteriaAlt(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2709 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2710 DpSpecificCriteriaAlt_sequence, hf_index, ett_camel_DpSpecificCriteriaAlt);
2714 static int dissect_dpSpecificCriteriaAlt_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2715 return dissect_camel_DpSpecificCriteriaAlt(TRUE, tvb, offset, pinfo, tree, hf_camel_dpSpecificCriteriaAlt);
2719 static const value_string camel_DpSpecificCriteria_vals[] = {
2720 { 1, "applicationTimer" },
2721 { 2, "midCallControlInfo" },
2722 { 3, "dpSpecificCriteriaAlt" },
2726 static const ber_choice_t DpSpecificCriteria_choice[] = {
2727 { 1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_applicationTimer_impl },
2728 { 2, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_midCallControlInfo_impl },
2729 { 3, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_dpSpecificCriteriaAlt_impl },
2730 { 0, 0, 0, 0, NULL }
2734 dissect_camel_DpSpecificCriteria(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2735 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
2736 DpSpecificCriteria_choice, hf_index, ett_camel_DpSpecificCriteria,
2741 static int dissect_dpSpecificCriteria_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2742 return dissect_camel_DpSpecificCriteria(TRUE, tvb, offset, pinfo, tree, hf_camel_dpSpecificCriteria);
2746 static const ber_sequence_t BCSMEvent_sequence[] = {
2747 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_eventTypeBCSM_impl },
2748 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_monitorMode_impl },
2749 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_legID6_impl },
2750 { BER_CLASS_CON, 30, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_dpSpecificCriteria_impl },
2751 { BER_CLASS_CON, 50, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_automaticRearm_impl },
2756 dissect_camel_BCSMEvent(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2757 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2758 BCSMEvent_sequence, hf_index, ett_camel_BCSMEvent);
2762 static int dissect_BCSMEventArray_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2763 return dissect_camel_BCSMEvent(FALSE, tvb, offset, pinfo, tree, hf_camel_BCSMEventArray_item);
2769 dissect_camel_Cause(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2770 #line 101 "camel.cnf"
2772 tvbuff_t *camel_tvb;
2775 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
2780 dissect_q931_cause_ie(camel_tvb, 0, tvb_length_remaining(camel_tvb,0), tree, hf_camel_cause_indicator, &Cause_value);
2788 static int dissect_cause_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2789 return dissect_camel_Cause(TRUE, tvb, offset, pinfo, tree, hf_camel_cause);
2791 static int dissect_failureCause_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2792 return dissect_camel_Cause(TRUE, tvb, offset, pinfo, tree, hf_camel_failureCause);
2794 static int dissect_busyCause_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2795 return dissect_camel_Cause(TRUE, tvb, offset, pinfo, tree, hf_camel_busyCause);
2797 static int dissect_releaseCause_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2798 return dissect_camel_Cause(TRUE, tvb, offset, pinfo, tree, hf_camel_releaseCause);
2800 static int dissect_releaseCauseValue_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2801 return dissect_camel_Cause(TRUE, tvb, offset, pinfo, tree, hf_camel_releaseCauseValue);
2805 static const ber_sequence_t BCSM_Failure_sequence[] = {
2806 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_legID_impl },
2807 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_cause_impl },
2812 dissect_camel_BCSM_Failure(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2813 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
2814 BCSM_Failure_sequence, hf_index, ett_camel_BCSM_Failure);
2818 static int dissect_bCSM_Failure_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2819 return dissect_camel_BCSM_Failure(TRUE, tvb, offset, pinfo, tree, hf_camel_bCSM_Failure);
2825 dissect_camel_BearerCap(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2826 #line 232 "camel.cnf"
2828 tvbuff_t *parameter_tvb;
2830 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
2837 dissect_q931_bearer_capability_ie(parameter_tvb, 0, tvb_length_remaining(parameter_tvb,0), tree);
2843 static int dissect_bearerCap_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2844 return dissect_camel_BearerCap(TRUE, tvb, offset, pinfo, tree, hf_camel_bearerCap);
2848 static const value_string camel_BearerCapability_vals[] = {
2853 static const ber_choice_t BearerCapability_choice[] = {
2854 { 0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_bearerCap_impl },
2855 { 0, 0, 0, 0, NULL }
2859 dissect_camel_BearerCapability(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2860 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
2861 BearerCapability_choice, hf_index, ett_camel_BearerCapability,
2866 static int dissect_bearerCapability2_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2867 return dissect_camel_BearerCapability(TRUE, tvb, offset, pinfo, tree, hf_camel_bearerCapability2);
2869 static int dissect_bearerCapability_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2870 return dissect_camel_BearerCapability(TRUE, tvb, offset, pinfo, tree, hf_camel_bearerCapability);
2876 dissect_camel_ISDN_AddressString(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2877 #line 60 "camel.cnf"
2879 tvbuff_t *parameter_tvb;
2882 proto_tree *subtree;
2884 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
2890 item = get_ber_last_created_item();
2891 subtree = proto_item_add_subtree(item, ett_camel_isdn_address_string);
2893 proto_tree_add_item(subtree, hf_camel_addr_extension, parameter_tvb, 0,1,FALSE);
2895 proto_tree_add_item(subtree, hf_camel_addr_natureOfAddressIndicator, parameter_tvb, 0,1,FALSE);
2896 proto_tree_add_item(subtree, hf_camel_addr_numberingPlanInd, parameter_tvb, 0,1,FALSE);
2897 digit_str = unpack_digits(parameter_tvb, 1);
2899 proto_tree_add_string(subtree, hf_camel_addr_digits, parameter_tvb, 1, -1, digit_str);
2904 static int dissect_sgsn_Number_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2905 return dissect_camel_ISDN_AddressString(TRUE, tvb, offset, pinfo, tree, hf_camel_sgsn_Number);
2907 static int dissect_gmscAddress_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2908 return dissect_camel_ISDN_AddressString(TRUE, tvb, offset, pinfo, tree, hf_camel_gmscAddress);
2910 static int dissect_gsmSCFAddress_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2911 return dissect_camel_ISDN_AddressString(TRUE, tvb, offset, pinfo, tree, hf_camel_gsmSCFAddress);
2913 static int dissect_callingPartysNumber_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2914 return dissect_camel_ISDN_AddressString(TRUE, tvb, offset, pinfo, tree, hf_camel_callingPartysNumber);
2916 static int dissect_sMSCAddress_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2917 return dissect_camel_ISDN_AddressString(TRUE, tvb, offset, pinfo, tree, hf_camel_sMSCAddress);
2919 static int dissect_mSISDN_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2920 return dissect_camel_ISDN_AddressString(TRUE, tvb, offset, pinfo, tree, hf_camel_mSISDN);
2922 static int dissect_mscAddress_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2923 return dissect_camel_ISDN_AddressString(TRUE, tvb, offset, pinfo, tree, hf_camel_mscAddress);
2925 static int dissect_callingPartyNumberas_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2926 return dissect_camel_ISDN_AddressString(TRUE, tvb, offset, pinfo, tree, hf_camel_callingPartyNumberas);
2928 static int dissect_sgsnNumber_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2929 return dissect_camel_ISDN_AddressString(TRUE, tvb, offset, pinfo, tree, hf_camel_sgsnNumber);
2935 dissect_camel_CalledPartyBCDNumber(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2936 offset = dissect_camel_ISDN_AddressString(implicit_tag, tvb, offset, pinfo, tree, hf_index);
2940 static int dissect_destinationSubscriberNumber_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2941 return dissect_camel_CalledPartyBCDNumber(TRUE, tvb, offset, pinfo, tree, hf_camel_destinationSubscriberNumber);
2943 static int dissect_calledPartyBCDNumber_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2944 return dissect_camel_CalledPartyBCDNumber(TRUE, tvb, offset, pinfo, tree, hf_camel_calledPartyBCDNumber);
2950 dissect_camel_CalledPartyNumber(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2951 #line 44 "camel.cnf"
2957 len=tvb_length_remaining(tvb,offset);
2958 isup_tvb = tvb_new_subset(tvb, offset,-1 , -1 );
2959 dissect_isup_called_party_number_parameter(isup_tvb, tree, NULL);
2966 static int dissect_DestinationRoutingAddress_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2967 return dissect_camel_CalledPartyNumber(FALSE, tvb, offset, pinfo, tree, hf_camel_DestinationRoutingAddress_item);
2969 static int dissect_destinationAddress_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2970 return dissect_camel_CalledPartyNumber(TRUE, tvb, offset, pinfo, tree, hf_camel_destinationAddress);
2972 static int dissect_forwardingDestinationNumber_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2973 return dissect_camel_CalledPartyNumber(TRUE, tvb, offset, pinfo, tree, hf_camel_forwardingDestinationNumber);
2975 static int dissect_calledPartyNumber_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
2976 return dissect_camel_CalledPartyNumber(TRUE, tvb, offset, pinfo, tree, hf_camel_calledPartyNumber);
2982 dissect_camel_CallingPartyNumber(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
2983 #line 27 "camel.cnf"
2986 proto_item* parameter_item;
2987 proto_item* parameter_tree;
2991 len=tvb_length_remaining(tvb,offset);
2992 parameter_item = proto_tree_add_item(tree, hf_index, tvb, offset, -1, FALSE);
2993 parameter_tree = proto_item_add_subtree(parameter_item, ett_camelisup_parameter);
2994 isup_tvb = tvb_new_subset(tvb, offset,-1 , -1 );
2995 dissect_isup_calling_party_number_parameter(isup_tvb, parameter_tree, parameter_item);
3001 static int dissect_callingPartyNumber_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3002 return dissect_camel_CallingPartyNumber(TRUE, tvb, offset, pinfo, tree, hf_camel_callingPartyNumber);
3006 static const value_string camel_ReceivingSideID_vals[] = {
3007 { 1, "receivingSideID" },
3011 static const ber_choice_t ReceivingSideID_choice[] = {
3012 { 1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_receivingSideID_impl },
3013 { 0, 0, 0, 0, NULL }
3017 dissect_camel_ReceivingSideID(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3018 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
3019 ReceivingSideID_choice, hf_index, ett_camel_ReceivingSideID,
3024 static int dissect_partyToCharge_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3025 return dissect_camel_ReceivingSideID(TRUE, tvb, offset, pinfo, tree, hf_camel_partyToCharge);
3027 static int dissect_legID4_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3028 return dissect_camel_ReceivingSideID(TRUE, tvb, offset, pinfo, tree, hf_camel_legID4);
3030 static int dissect_legID5_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3031 return dissect_camel_ReceivingSideID(TRUE, tvb, offset, pinfo, tree, hf_camel_legID5);
3037 dissect_camel_TimeIfNoTariffSwitch(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3038 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
3043 static int dissect_timeIfNoTariffSwitch_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3044 return dissect_camel_TimeIfNoTariffSwitch(TRUE, tvb, offset, pinfo, tree, hf_camel_timeIfNoTariffSwitch);
3050 dissect_camel_INTEGER_0_864000(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3051 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
3056 static int dissect_timeSinceTariffSwitch_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3057 return dissect_camel_INTEGER_0_864000(TRUE, tvb, offset, pinfo, tree, hf_camel_timeSinceTariffSwitch);
3061 static const ber_sequence_t TimeIfTariffSwitch_sequence[] = {
3062 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_timeSinceTariffSwitch_impl },
3063 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_tttariffSwitchInterval_impl },
3068 dissect_camel_TimeIfTariffSwitch(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3069 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
3070 TimeIfTariffSwitch_sequence, hf_index, ett_camel_TimeIfTariffSwitch);
3074 static int dissect_timeIfTariffSwitch_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3075 return dissect_camel_TimeIfTariffSwitch(TRUE, tvb, offset, pinfo, tree, hf_camel_timeIfTariffSwitch);
3079 static const value_string camel_TimeInformation_vals[] = {
3080 { 0, "timeIfNoTariffSwitch" },
3081 { 1, "timeIfTariffSwitch" },
3085 static const ber_choice_t TimeInformation_choice[] = {
3086 { 0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_timeIfNoTariffSwitch_impl },
3087 { 1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_timeIfTariffSwitch_impl },
3088 { 0, 0, 0, 0, NULL }
3092 dissect_camel_TimeInformation(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3093 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
3094 TimeInformation_choice, hf_index, ett_camel_TimeInformation,
3099 static int dissect_timeInformation_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3100 return dissect_camel_TimeInformation(TRUE, tvb, offset, pinfo, tree, hf_camel_timeInformation);
3104 static const ber_sequence_t Extensions_sequence_of[1] = {
3105 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_Extensions_item },
3109 dissect_camel_Extensions(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3110 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
3111 Extensions_sequence_of, hf_index, ett_camel_Extensions);
3115 static int dissect_extensions1_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3116 return dissect_camel_Extensions(TRUE, tvb, offset, pinfo, tree, hf_camel_extensions1);
3120 static const ber_sequence_t T_timeDurationChargingResult_sequence[] = {
3121 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_partyToCharge_impl },
3122 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_timeInformation_impl },
3123 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_legActive_impl },
3124 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_callLegReleasedAtTcpExpiry_impl },
3125 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions1_impl },
3126 { BER_CLASS_CON, 5, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_aChChargingAddress_impl },
3131 dissect_camel_T_timeDurationChargingResult(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3132 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
3133 T_timeDurationChargingResult_sequence, hf_index, ett_camel_T_timeDurationChargingResult);
3137 static int dissect_timeDurationChargingResult_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3138 return dissect_camel_T_timeDurationChargingResult(TRUE, tvb, offset, pinfo, tree, hf_camel_timeDurationChargingResult);
3142 static const value_string camel_CAMEL_CallResult_vals[] = {
3143 { 0, "timeDurationChargingResult" },
3147 static const ber_choice_t CAMEL_CallResult_choice[] = {
3148 { 0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_timeDurationChargingResult_impl },
3149 { 0, 0, 0, 0, NULL }
3153 dissect_camel_CAMEL_CallResult(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3154 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
3155 CAMEL_CallResult_choice, hf_index, ett_camel_CAMEL_CallResult,
3164 dissect_camel_CallResult(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3165 offset = dissect_camel_CAMEL_CallResult(implicit_tag, tvb, offset, pinfo, tree, hf_index);
3171 static const ber_sequence_t CallSegmentFailure_sequence[] = {
3172 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_callSegmentID_impl },
3173 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_cause_impl },
3178 dissect_camel_CallSegmentFailure(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3179 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
3180 CallSegmentFailure_sequence, hf_index, ett_camel_CallSegmentFailure);
3184 static int dissect_callSegmentFailure_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3185 return dissect_camel_CallSegmentFailure(TRUE, tvb, offset, pinfo, tree, hf_camel_callSegmentFailure);
3191 dissect_camel_TCInvokeIdSet(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3192 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
3201 dissect_camel_InvokeID(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3202 offset = dissect_camel_TCInvokeIdSet(implicit_tag, tvb, offset, pinfo, tree, hf_index);
3206 static int dissect_invokeID_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3207 return dissect_camel_InvokeID(TRUE, tvb, offset, pinfo, tree, hf_camel_invokeID);
3209 static int dissect_operation_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3210 return dissect_camel_InvokeID(TRUE, tvb, offset, pinfo, tree, hf_camel_operation);
3214 static const ber_sequence_t CallSegmentToCancel_sequence[] = {
3215 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_invokeID_impl },
3216 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_callSegmentID_impl },
3221 dissect_camel_CallSegmentToCancel(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3222 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
3223 CallSegmentToCancel_sequence, hf_index, ett_camel_CallSegmentToCancel);
3227 static int dissect_callSegmentToCancel_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3228 return dissect_camel_CallSegmentToCancel(TRUE, tvb, offset, pinfo, tree, hf_camel_callSegmentToCancel);
3232 static const ber_sequence_t T_timeDurationCharging_sequence[] = {
3233 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_maxCallPeriodDuration_impl },
3234 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_releaseIfdurationExceeded_impl },
3235 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_tariffSwitchInterval_impl },
3236 { BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_audibleIndicator_impl },
3237 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
3242 dissect_camel_T_timeDurationCharging(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3243 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
3244 T_timeDurationCharging_sequence, hf_index, ett_camel_T_timeDurationCharging);
3248 static int dissect_timeDurationCharging_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3249 return dissect_camel_T_timeDurationCharging(TRUE, tvb, offset, pinfo, tree, hf_camel_timeDurationCharging);
3253 static const value_string camel_CAMEL_AChBillingChargingCharacteristics_vals[] = {
3254 { 0, "timeDurationCharging" },
3258 static const ber_choice_t CAMEL_AChBillingChargingCharacteristics_choice[] = {
3259 { 0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_timeDurationCharging_impl },
3260 { 0, 0, 0, 0, NULL }
3264 dissect_camel_CAMEL_AChBillingChargingCharacteristics(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3265 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
3266 CAMEL_AChBillingChargingCharacteristics_choice, hf_index, ett_camel_CAMEL_AChBillingChargingCharacteristics,
3275 dissect_camel_FreeFormatData(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3276 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
3281 static int dissect_freeFormatData_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3282 return dissect_camel_FreeFormatData(TRUE, tvb, offset, pinfo, tree, hf_camel_freeFormatData);
3286 static const value_string camel_SendingSideID_vals[] = {
3287 { 0, "sendingSideID" },
3291 static const ber_choice_t SendingSideID_choice[] = {
3292 { 0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_sendingSideID_impl },
3293 { 0, 0, 0, 0, NULL }
3297 dissect_camel_SendingSideID(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3298 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
3299 SendingSideID_choice, hf_index, ett_camel_SendingSideID,
3304 static int dissect_partyToCharge4_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3305 return dissect_camel_SendingSideID(TRUE, tvb, offset, pinfo, tree, hf_camel_partyToCharge4);
3307 static int dissect_partyToCharge1_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3308 return dissect_camel_SendingSideID(TRUE, tvb, offset, pinfo, tree, hf_camel_partyToCharge1);
3310 static int dissect_legID3_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3311 return dissect_camel_SendingSideID(TRUE, tvb, offset, pinfo, tree, hf_camel_legID3);
3313 static int dissect_partyToCharge2_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3314 return dissect_camel_SendingSideID(TRUE, tvb, offset, pinfo, tree, hf_camel_partyToCharge2);
3318 static const ber_sequence_t T_fCIBCCCAMELsequence1_sequence[] = {
3319 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_freeFormatData_impl },
3320 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_partyToCharge4_impl },
3321 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_appendFreeFormatData_impl },
3326 dissect_camel_T_fCIBCCCAMELsequence1(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3327 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
3328 T_fCIBCCCAMELsequence1_sequence, hf_index, ett_camel_T_fCIBCCCAMELsequence1);
3332 static int dissect_fCIBCCCAMELsequence1_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3333 return dissect_camel_T_fCIBCCCAMELsequence1(TRUE, tvb, offset, pinfo, tree, hf_camel_fCIBCCCAMELsequence1);
3337 static const value_string camel_CAMEL_FCIBillingChargingCharacteristics_vals[] = {
3338 { 0, "fCIBCCCAMELsequence1" },
3342 static const ber_choice_t CAMEL_FCIBillingChargingCharacteristics_choice[] = {
3343 { 0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_fCIBCCCAMELsequence1_impl },
3344 { 0, 0, 0, 0, NULL }
3348 dissect_camel_CAMEL_FCIBillingChargingCharacteristics(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3349 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
3350 CAMEL_FCIBillingChargingCharacteristics_choice, hf_index, ett_camel_CAMEL_FCIBillingChargingCharacteristics,
3359 dissect_camel_PDPId(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3360 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
3365 static int dissect_pDPID_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3366 return dissect_camel_PDPId(TRUE, tvb, offset, pinfo, tree, hf_camel_pDPID);
3368 static int dissect_pdpID_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3369 return dissect_camel_PDPId(TRUE, tvb, offset, pinfo, tree, hf_camel_pdpID);
3373 static const ber_sequence_t T_fCIBCCCAMELsequence2_sequence[] = {
3374 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_freeFormatData_impl },
3375 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_pDPID_impl },
3376 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_appendFreeFormatData_impl },
3381 dissect_camel_T_fCIBCCCAMELsequence2(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3382 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
3383 T_fCIBCCCAMELsequence2_sequence, hf_index, ett_camel_T_fCIBCCCAMELsequence2);
3387 static int dissect_fCIBCCCAMELsequence2_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3388 return dissect_camel_T_fCIBCCCAMELsequence2(TRUE, tvb, offset, pinfo, tree, hf_camel_fCIBCCCAMELsequence2);
3392 static const ber_sequence_t CAMEL_FCIGPRSBillingChargingCharacteristics_sequence[] = {
3393 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_fCIBCCCAMELsequence2_impl },
3398 dissect_camel_CAMEL_FCIGPRSBillingChargingCharacteristics(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3399 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
3400 CAMEL_FCIGPRSBillingChargingCharacteristics_sequence, hf_index, ett_camel_CAMEL_FCIGPRSBillingChargingCharacteristics);
3406 static const ber_sequence_t T_fCIBCCCAMELsequence3_sequence[] = {
3407 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_freeFormatData_impl },
3408 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_appendFreeFormatData_impl },
3413 dissect_camel_T_fCIBCCCAMELsequence3(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3414 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
3415 T_fCIBCCCAMELsequence3_sequence, hf_index, ett_camel_T_fCIBCCCAMELsequence3);
3419 static int dissect_fCIBCCCAMELsequence3_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3420 return dissect_camel_T_fCIBCCCAMELsequence3(TRUE, tvb, offset, pinfo, tree, hf_camel_fCIBCCCAMELsequence3);
3424 static const value_string camel_CAMEL_FCISMSBillingChargingCharacteristics_vals[] = {
3425 { 0, "fCIBCCCAMELsequence3" },
3429 static const ber_choice_t CAMEL_FCISMSBillingChargingCharacteristics_choice[] = {
3430 { 0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_fCIBCCCAMELsequence3_impl },
3431 { 0, 0, 0, 0, NULL }
3435 dissect_camel_CAMEL_FCISMSBillingChargingCharacteristics(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3436 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
3437 CAMEL_FCISMSBillingChargingCharacteristics_choice, hf_index, ett_camel_CAMEL_FCISMSBillingChargingCharacteristics,
3444 static const ber_sequence_t CAMEL_SCIBillingChargingCharacteristicsAlt_sequence[] = {
3449 dissect_camel_CAMEL_SCIBillingChargingCharacteristicsAlt(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3450 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
3451 CAMEL_SCIBillingChargingCharacteristicsAlt_sequence, hf_index, ett_camel_CAMEL_SCIBillingChargingCharacteristicsAlt);
3455 static int dissect_aOC_extension_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3456 return dissect_camel_CAMEL_SCIBillingChargingCharacteristicsAlt(TRUE, tvb, offset, pinfo, tree, hf_camel_aOC_extension);
3460 static const value_string camel_CAMEL_SCIBillingChargingCharacteristics_vals[] = {
3461 { 0, "aOCBeforeAnswer" },
3462 { 1, "aOCAfterAnswer" },
3463 { 2, "aOC-extension" },
3467 static const ber_choice_t CAMEL_SCIBillingChargingCharacteristics_choice[] = {
3468 { 0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_aOCBeforeAnswer_impl },
3469 { 1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_aOCAfterAnswer_impl },
3470 { 2, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_aOC_extension_impl },
3471 { 0, 0, 0, 0, NULL }
3475 dissect_camel_CAMEL_SCIBillingChargingCharacteristics(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3476 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
3477 CAMEL_SCIBillingChargingCharacteristics_choice, hf_index, ett_camel_CAMEL_SCIBillingChargingCharacteristics,
3484 static const ber_sequence_t CamelSCIGPRSBillingChargingCharacteristics_sequence[] = {
3485 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_aOCGPRS_impl },
3486 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_pDPID_impl },
3491 dissect_camel_CamelSCIGPRSBillingChargingCharacteristics(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3492 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
3493 CamelSCIGPRSBillingChargingCharacteristics_sequence, hf_index, ett_camel_CamelSCIGPRSBillingChargingCharacteristics);
3501 dissect_camel_Carrier(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3502 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
3507 static int dissect_carrier_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3508 return dissect_camel_Carrier(TRUE, tvb, offset, pinfo, tree, hf_camel_carrier);
3512 static const value_string camel_CGEncountered_vals[] = {
3513 { 0, "noCGencountered" },
3514 { 1, "manualCGencountered" },
3515 { 2, "scpOverload" },
3521 dissect_camel_CGEncountered(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3522 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
3527 static int dissect_cGEncountered_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3528 return dissect_camel_CGEncountered(TRUE, tvb, offset, pinfo, tree, hf_camel_cGEncountered);
3534 dissect_camel_ChargeIndicator(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3535 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
3540 static int dissect_chargeIndicator_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3541 return dissect_camel_ChargeIndicator(TRUE, tvb, offset, pinfo, tree, hf_camel_chargeIndicator);
3547 dissect_camel_LocationNumber(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3548 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
3553 static int dissect_locationNumber_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3554 return dissect_camel_LocationNumber(TRUE, tvb, offset, pinfo, tree, hf_camel_locationNumber);
3560 dissect_camel_ChargeNumber(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3561 offset = dissect_camel_LocationNumber(implicit_tag, tvb, offset, pinfo, tree, hf_index);
3565 static int dissect_chargeNumber_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3566 return dissect_camel_ChargeNumber(TRUE, tvb, offset, pinfo, tree, hf_camel_chargeNumber);
3572 dissect_camel_INTEGER_1_2147483647(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3573 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
3578 static int dissect_maxTransferredVolume_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3579 return dissect_camel_INTEGER_1_2147483647(TRUE, tvb, offset, pinfo, tree, hf_camel_maxTransferredVolume);
3583 static const value_string camel_ChargingCharacteristics_vals[] = {
3584 { 0, "maxTransferredVolume" },
3585 { 1, "maxElapsedTime" },
3589 static const ber_choice_t ChargingCharacteristics_choice[] = {
3590 { 0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_maxTransferredVolume_impl },
3591 { 1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_maxElapsedTime_impl },
3592 { 0, 0, 0, 0, NULL }
3596 dissect_camel_ChargingCharacteristics(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3597 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
3598 ChargingCharacteristics_choice, hf_index, ett_camel_ChargingCharacteristics,
3603 static int dissect_chargingCharacteristics_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3604 return dissect_camel_ChargingCharacteristics(TRUE, tvb, offset, pinfo, tree, hf_camel_chargingCharacteristics);
3610 dissect_camel_INTEGER_0_2147483647(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3611 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
3616 static int dissect_volumeIfNoTariffSwitch_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3617 return dissect_camel_INTEGER_0_2147483647(TRUE, tvb, offset, pinfo, tree, hf_camel_volumeIfNoTariffSwitch);
3619 static int dissect_volumeSinceLastTariffSwitch_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3620 return dissect_camel_INTEGER_0_2147483647(TRUE, tvb, offset, pinfo, tree, hf_camel_volumeSinceLastTariffSwitch);
3622 static int dissect_volumeTariffSwitchInterval_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3623 return dissect_camel_INTEGER_0_2147483647(TRUE, tvb, offset, pinfo, tree, hf_camel_volumeTariffSwitchInterval);
3627 static const ber_sequence_t T_volumeIfTariffSwitch_sequence[] = {
3628 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_volumeSinceLastTariffSwitch_impl },
3629 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_volumeTariffSwitchInterval_impl },
3634 dissect_camel_T_volumeIfTariffSwitch(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3635 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
3636 T_volumeIfTariffSwitch_sequence, hf_index, ett_camel_T_volumeIfTariffSwitch);
3640 static int dissect_volumeIfTariffSwitch_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3641 return dissect_camel_T_volumeIfTariffSwitch(TRUE, tvb, offset, pinfo, tree, hf_camel_volumeIfTariffSwitch);
3645 static const value_string camel_TransferredVolume_vals[] = {
3646 { 0, "volumeIfNoTariffSwitch" },
3647 { 1, "volumeIfTariffSwitch" },
3651 static const ber_choice_t TransferredVolume_choice[] = {
3652 { 0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_volumeIfNoTariffSwitch_impl },
3653 { 1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_volumeIfTariffSwitch_impl },
3654 { 0, 0, 0, 0, NULL }
3658 dissect_camel_TransferredVolume(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3659 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
3660 TransferredVolume_choice, hf_index, ett_camel_TransferredVolume,
3665 static int dissect_transferredVolume_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3666 return dissect_camel_TransferredVolume(TRUE, tvb, offset, pinfo, tree, hf_camel_transferredVolume);
3672 dissect_camel_INTEGER_0_86400(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3673 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
3678 static int dissect_timeGPRSIfNoTariffSwitch_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3679 return dissect_camel_INTEGER_0_86400(TRUE, tvb, offset, pinfo, tree, hf_camel_timeGPRSIfNoTariffSwitch);
3681 static int dissect_timeGPRSSinceLastTariffSwitch_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3682 return dissect_camel_INTEGER_0_86400(TRUE, tvb, offset, pinfo, tree, hf_camel_timeGPRSSinceLastTariffSwitch);
3684 static int dissect_timeGPRSTariffSwitchInterval_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3685 return dissect_camel_INTEGER_0_86400(TRUE, tvb, offset, pinfo, tree, hf_camel_timeGPRSTariffSwitchInterval);
3689 static const ber_sequence_t T_timeGPRSIfTariffSwitch_sequence[] = {
3690 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_timeGPRSSinceLastTariffSwitch_impl },
3691 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_timeGPRSTariffSwitchInterval_impl },
3696 dissect_camel_T_timeGPRSIfTariffSwitch(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3697 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
3698 T_timeGPRSIfTariffSwitch_sequence, hf_index, ett_camel_T_timeGPRSIfTariffSwitch);
3702 static int dissect_timeGPRSIfTariffSwitch_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3703 return dissect_camel_T_timeGPRSIfTariffSwitch(TRUE, tvb, offset, pinfo, tree, hf_camel_timeGPRSIfTariffSwitch);
3707 static const value_string camel_ElapsedTime_vals[] = {
3708 { 0, "timeGPRSIfNoTariffSwitch" },
3709 { 1, "timeGPRSIfTariffSwitch" },
3713 static const ber_choice_t ElapsedTime_choice[] = {
3714 { 0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_timeGPRSIfNoTariffSwitch_impl },
3715 { 1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_timeGPRSIfTariffSwitch_impl },
3716 { 0, 0, 0, 0, NULL }
3720 dissect_camel_ElapsedTime(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3721 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
3722 ElapsedTime_choice, hf_index, ett_camel_ElapsedTime,
3727 static int dissect_elapsedTime_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3728 return dissect_camel_ElapsedTime(TRUE, tvb, offset, pinfo, tree, hf_camel_elapsedTime);
3732 static const value_string camel_ChargingResult_vals[] = {
3733 { 0, "transferredVolume" },
3734 { 1, "elapsedTime" },
3738 static const ber_choice_t ChargingResult_choice[] = {
3739 { 0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_transferredVolume_impl },
3740 { 1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_elapsedTime_impl },
3741 { 0, 0, 0, 0, NULL }
3745 dissect_camel_ChargingResult(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3746 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
3747 ChargingResult_choice, hf_index, ett_camel_ChargingResult,
3752 static int dissect_chargingResult_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3753 return dissect_camel_ChargingResult(TRUE, tvb, offset, pinfo, tree, hf_camel_chargingResult);
3759 dissect_camel_INTEGER_0_255(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3760 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
3765 static int dissect_rOTimeGPRSIfNoTariffSwitch_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3766 return dissect_camel_INTEGER_0_255(TRUE, tvb, offset, pinfo, tree, hf_camel_rOTimeGPRSIfNoTariffSwitch);
3768 static int dissect_rOTimeGPRSSinceLastTariffSwitch_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3769 return dissect_camel_INTEGER_0_255(TRUE, tvb, offset, pinfo, tree, hf_camel_rOTimeGPRSSinceLastTariffSwitch);
3771 static int dissect_rOTimeGPRSTariffSwitchInterval_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3772 return dissect_camel_INTEGER_0_255(TRUE, tvb, offset, pinfo, tree, hf_camel_rOTimeGPRSTariffSwitchInterval);
3774 static int dissect_callAttemptElapsedTimeValue_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3775 return dissect_camel_INTEGER_0_255(TRUE, tvb, offset, pinfo, tree, hf_camel_callAttemptElapsedTimeValue);
3777 static int dissect_rOVolumeIfNoTariffSwitch_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3778 return dissect_camel_INTEGER_0_255(TRUE, tvb, offset, pinfo, tree, hf_camel_rOVolumeIfNoTariffSwitch);
3780 static int dissect_rOVolumeSinceLastTariffSwitch_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3781 return dissect_camel_INTEGER_0_255(TRUE, tvb, offset, pinfo, tree, hf_camel_rOVolumeSinceLastTariffSwitch);
3783 static int dissect_rOVolumeTariffSwitchInterval_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3784 return dissect_camel_INTEGER_0_255(TRUE, tvb, offset, pinfo, tree, hf_camel_rOVolumeTariffSwitchInterval);
3788 static const ber_sequence_t T_rOVolumeIfTariffSwitch_sequence[] = {
3789 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_rOVolumeSinceLastTariffSwitch_impl },
3790 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_rOVolumeTariffSwitchInterval_impl },
3795 dissect_camel_T_rOVolumeIfTariffSwitch(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3796 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
3797 T_rOVolumeIfTariffSwitch_sequence, hf_index, ett_camel_T_rOVolumeIfTariffSwitch);
3801 static int dissect_rOVolumeIfTariffSwitch_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3802 return dissect_camel_T_rOVolumeIfTariffSwitch(TRUE, tvb, offset, pinfo, tree, hf_camel_rOVolumeIfTariffSwitch);
3806 static const value_string camel_TransferredVolumeRollOver_vals[] = {
3807 { 0, "rOVolumeIfNoTariffSwitch" },
3808 { 1, "rOVolumeIfTariffSwitch" },
3812 static const ber_choice_t TransferredVolumeRollOver_choice[] = {
3813 { 0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_rOVolumeIfNoTariffSwitch_impl },
3814 { 1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_rOVolumeIfTariffSwitch_impl },
3815 { 0, 0, 0, 0, NULL }
3819 dissect_camel_TransferredVolumeRollOver(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3820 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
3821 TransferredVolumeRollOver_choice, hf_index, ett_camel_TransferredVolumeRollOver,
3826 static int dissect_transferredVolumeRollOver_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3827 return dissect_camel_TransferredVolumeRollOver(TRUE, tvb, offset, pinfo, tree, hf_camel_transferredVolumeRollOver);
3831 static const ber_sequence_t T_rOTimeGPRSIfTariffSwitch_sequence[] = {
3832 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_rOTimeGPRSSinceLastTariffSwitch_impl },
3833 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_rOTimeGPRSTariffSwitchInterval_impl },
3838 dissect_camel_T_rOTimeGPRSIfTariffSwitch(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3839 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
3840 T_rOTimeGPRSIfTariffSwitch_sequence, hf_index, ett_camel_T_rOTimeGPRSIfTariffSwitch);
3844 static int dissect_rOTimeGPRSIfTariffSwitch_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3845 return dissect_camel_T_rOTimeGPRSIfTariffSwitch(TRUE, tvb, offset, pinfo, tree, hf_camel_rOTimeGPRSIfTariffSwitch);
3849 static const value_string camel_ElapsedTimeRollOver_vals[] = {
3850 { 0, "rOTimeGPRSIfNoTariffSwitch" },
3851 { 1, "rOTimeGPRSIfTariffSwitch" },
3855 static const ber_choice_t ElapsedTimeRollOver_choice[] = {
3856 { 0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_rOTimeGPRSIfNoTariffSwitch_impl },
3857 { 1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_rOTimeGPRSIfTariffSwitch_impl },
3858 { 0, 0, 0, 0, NULL }
3862 dissect_camel_ElapsedTimeRollOver(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3863 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
3864 ElapsedTimeRollOver_choice, hf_index, ett_camel_ElapsedTimeRollOver,
3869 static int dissect_elapsedTimeRollOver_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3870 return dissect_camel_ElapsedTimeRollOver(TRUE, tvb, offset, pinfo, tree, hf_camel_elapsedTimeRollOver);
3874 static const value_string camel_ChargingRollOver_vals[] = {
3875 { 0, "transferredVolumeRollOver" },
3876 { 1, "elapsedTimeRollOver" },
3880 static const ber_choice_t ChargingRollOver_choice[] = {
3881 { 0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_transferredVolumeRollOver_impl },
3882 { 1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_elapsedTimeRollOver_impl },
3883 { 0, 0, 0, 0, NULL }
3887 dissect_camel_ChargingRollOver(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3888 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
3889 ChargingRollOver_choice, hf_index, ett_camel_ChargingRollOver,
3894 static int dissect_chargingRollOver_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3895 return dissect_camel_ChargingRollOver(TRUE, tvb, offset, pinfo, tree, hf_camel_chargingRollOver);
3899 static const value_string camel_ErrorTreatment_vals[] = {
3900 { 0, "stdErrorAndInfo" },
3902 { 2, "repeatPrompt" },
3908 dissect_camel_ErrorTreatment(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3909 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
3914 static int dissect_errorTreatment_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3915 return dissect_camel_ErrorTreatment(TRUE, tvb, offset, pinfo, tree, hf_camel_errorTreatment);
3919 static const ber_sequence_t CollectedDigits_sequence[] = {
3920 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_minimumNbOfDigits_impl },
3921 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_maximumNbOfDigits_impl },
3922 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_endOfReplyDigit_impl },
3923 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_cancelDigit_impl },
3924 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_startDigit_impl },
3925 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_firstDigitTimeOut_impl },
3926 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_interDigitTimeOut_impl },
3927 { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_errorTreatment_impl },
3928 { BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_interruptableAnnInd_impl },
3929 { BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_voiceInformation_impl },
3930 { BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_voiceBack_impl },
3935 dissect_camel_CollectedDigits(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3936 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
3937 CollectedDigits_sequence, hf_index, ett_camel_CollectedDigits);
3941 static int dissect_collectedDigits_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3942 return dissect_camel_CollectedDigits(TRUE, tvb, offset, pinfo, tree, hf_camel_collectedDigits);
3946 static const value_string camel_CollectedInfo_vals[] = {
3947 { 0, "collectedDigits" },
3951 static const ber_choice_t CollectedInfo_choice[] = {
3952 { 0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_collectedDigits_impl },
3953 { 0, 0, 0, 0, NULL }
3957 dissect_camel_CollectedInfo(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3958 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
3959 CollectedInfo_choice, hf_index, ett_camel_CollectedInfo,
3964 static int dissect_collectedInfo_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3965 return dissect_camel_CollectedInfo(TRUE, tvb, offset, pinfo, tree, hf_camel_collectedInfo);
3969 static const value_string camel_ConnectedNumberTreatmentInd_vals[] = {
3970 { 0, "noINImpact" },
3971 { 1, "presentationRestricted" },
3972 { 2, "presentCalledINNumber" },
3973 { 3, "presentCallINNumberRestricted" },
3979 dissect_camel_ConnectedNumberTreatmentInd(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3980 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
3985 static int dissect_connectedNumberTreatmentInd_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
3986 return dissect_camel_ConnectedNumberTreatmentInd(TRUE, tvb, offset, pinfo, tree, hf_camel_connectedNumberTreatmentInd);
3990 static const value_string camel_ControlType_vals[] = {
3991 { 0, "sCPOverloaded" },
3992 { 1, "manuallyInitiated" },
3998 dissect_camel_ControlType(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
3999 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
4004 static int dissect_controlType_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4005 return dissect_camel_ControlType(TRUE, tvb, offset, pinfo, tree, hf_camel_controlType);
4011 dissect_camel_ScfID(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4012 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
4017 static int dissect_scfID_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4018 return dissect_camel_ScfID(TRUE, tvb, offset, pinfo, tree, hf_camel_scfID);
4022 static const ber_sequence_t CompoundCriteria_sequence[] = {
4023 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_basicGapCriteria_impl },
4024 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_scfID_impl },
4029 dissect_camel_CompoundCriteria(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4030 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
4031 CompoundCriteria_sequence, hf_index, ett_camel_CompoundCriteria);
4035 static int dissect_compoundGapCriteria(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4036 return dissect_camel_CompoundCriteria(FALSE, tvb, offset, pinfo, tree, hf_camel_compoundGapCriteria);
4042 dissect_camel_CorrelationID(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4043 offset = dissect_camel_Digits(implicit_tag, tvb, offset, pinfo, tree, hf_index);
4047 static int dissect_correlationID_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4048 return dissect_camel_CorrelationID(TRUE, tvb, offset, pinfo, tree, hf_camel_correlationID);
4054 dissect_camel_DateAndTime(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4055 #line 133 "camel.cnf"
4059 * date_option = 1 european dd:mm:yyyy
4060 * date_option = 2 american mm:dd:yyyy
4064 * Output should be HH:MM:SS;dd/mm/yyyy
4065 * if european is selected, and HH:MM:SS;mm/dd/yyyy
4070 guint8 i = 0, curr_offset;
4071 char time[CAMEL_DATE_AND_TIME_LEN];
4072 char c[CAMEL_DATE_AND_TIME_LEN]; /*temporary container*/
4074 /* 2 digits per octet, 7 octets total + 5 delimiters */
4076 for (curr_offset = 0; curr_offset < 7 ; curr_offset++)
4077 /*Loop to extract date*/
4079 digit_pair = tvb_get_guint8(tvb, curr_offset);
4081 proto_tree_add_uint(tree,
4088 proto_tree_add_uint(tree,
4096 c[i] = camel_number_to_char( digit_pair & 0x0F);
4098 c[i] = camel_number_to_char( digit_pair >>4);
4102 /* Pretty print date */
4103 /* XXX - Should we use sprintf here instead of assembling the string by
4115 if ( EUROPEAN_DATE == date_format) /*european*/
4117 time[9] = c[6]; /*day*/
4120 time[12] = c[4]; /*month*/
4125 time[9] = c[4]; /*month*/
4128 time[12] = c[6]; /*day*/
4137 time[CAMEL_DATE_AND_TIME_LEN - 1] = '\0';
4139 /*start = 0, length = 7*/
4141 proto_tree_add_string(tree,
4148 return 7; /* 7 octets eaten*/
4154 static int dissect_callStopTimeValue_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4155 return dissect_camel_DateAndTime(TRUE, tvb, offset, pinfo, tree, hf_camel_callStopTimeValue);
4159 static const ber_sequence_t DestinationRoutingAddress_sequence_of[1] = {
4160 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_DestinationRoutingAddress_item },
4164 dissect_camel_DestinationRoutingAddress(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4165 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
4166 DestinationRoutingAddress_sequence_of, hf_index, ett_camel_DestinationRoutingAddress);
4170 static int dissect_destinationRoutingAddress_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4171 return dissect_camel_DestinationRoutingAddress(TRUE, tvb, offset, pinfo, tree, hf_camel_destinationRoutingAddress);
4175 static const ber_sequence_t T_oServiceChangeSpecificInfo_sequence[] = {
4176 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ext_basicServiceCode_impl },
4181 dissect_camel_T_oServiceChangeSpecificInfo(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4182 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
4183 T_oServiceChangeSpecificInfo_sequence, hf_index, ett_camel_T_oServiceChangeSpecificInfo);
4187 static int dissect_oServiceChangeSpecificInfo_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4188 return dissect_camel_T_oServiceChangeSpecificInfo(TRUE, tvb, offset, pinfo, tree, hf_camel_oServiceChangeSpecificInfo);
4192 static const ber_sequence_t T_tServiceChangeSpecificInfo_sequence[] = {
4193 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ext_basicServiceCode_impl },
4198 dissect_camel_T_tServiceChangeSpecificInfo(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4199 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
4200 T_tServiceChangeSpecificInfo_sequence, hf_index, ett_camel_T_tServiceChangeSpecificInfo);
4204 static int dissect_tServiceChangeSpecificInfo_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4205 return dissect_camel_T_tServiceChangeSpecificInfo(TRUE, tvb, offset, pinfo, tree, hf_camel_tServiceChangeSpecificInfo);
4209 static const ber_sequence_t DpSpecificInfoAlt_sequence[] = {
4210 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_oServiceChangeSpecificInfo_impl },
4211 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_tServiceChangeSpecificInfo_impl },
4216 dissect_camel_DpSpecificInfoAlt(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4217 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
4218 DpSpecificInfoAlt_sequence, hf_index, ett_camel_DpSpecificInfoAlt);
4222 static int dissect_dpSpecificInfoAlt_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4223 return dissect_camel_DpSpecificInfoAlt(TRUE, tvb, offset, pinfo, tree, hf_camel_dpSpecificInfoAlt);
4229 dissect_camel_OCTET_STRING_SIZE_1_63(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4230 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
4235 static int dissect_pDPAddress_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4236 return dissect_camel_OCTET_STRING_SIZE_1_63(TRUE, tvb, offset, pinfo, tree, hf_camel_pDPAddress);
4240 static const ber_sequence_t EndUserAddress_sequence[] = {
4241 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_pDPTypeOrganization_impl },
4242 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_pDPTypeNumber_impl },
4243 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_pDPAddress_impl },
4248 dissect_camel_EndUserAddress(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4249 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
4250 EndUserAddress_sequence, hf_index, ett_camel_EndUserAddress);
4256 static const ber_sequence_t T_routeSelectFailureSpecificInfo_sequence[] = {
4257 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_failureCause_impl },
4262 dissect_camel_T_routeSelectFailureSpecificInfo(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4263 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
4264 T_routeSelectFailureSpecificInfo_sequence, hf_index, ett_camel_T_routeSelectFailureSpecificInfo);
4268 static int dissect_routeSelectFailureSpecificInfo_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4269 return dissect_camel_T_routeSelectFailureSpecificInfo(TRUE, tvb, offset, pinfo, tree, hf_camel_routeSelectFailureSpecificInfo);
4273 static const ber_sequence_t T_oCalledPartyBusySpecificInfo_sequence[] = {
4274 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_busyCause_impl },
4279 dissect_camel_T_oCalledPartyBusySpecificInfo(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4280 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
4281 T_oCalledPartyBusySpecificInfo_sequence, hf_index, ett_camel_T_oCalledPartyBusySpecificInfo);
4285 static int dissect_oCalledPartyBusySpecificInfo_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4286 return dissect_camel_T_oCalledPartyBusySpecificInfo(TRUE, tvb, offset, pinfo, tree, hf_camel_oCalledPartyBusySpecificInfo);
4290 static const ber_sequence_t T_oNoAnswerSpecificInfo_sequence[] = {
4295 dissect_camel_T_oNoAnswerSpecificInfo(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4296 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
4297 T_oNoAnswerSpecificInfo_sequence, hf_index, ett_camel_T_oNoAnswerSpecificInfo);
4301 static int dissect_oNoAnswerSpecificInfo_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4302 return dissect_camel_T_oNoAnswerSpecificInfo(TRUE, tvb, offset, pinfo, tree, hf_camel_oNoAnswerSpecificInfo);
4306 static const ber_sequence_t T_oAnswerSpecificInfo_sequence[] = {
4307 { BER_CLASS_CON, 50, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_destinationAddress_impl },
4308 { BER_CLASS_CON, 51, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_or_Call_impl },
4309 { BER_CLASS_CON, 52, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_forwardedCall_impl },
4310 { BER_CLASS_CON, 53, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_chargeIndicator_impl },
4311 { BER_CLASS_CON, 54, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ext_basicServiceCode_impl },
4312 { BER_CLASS_CON, 55, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ext_basicServiceCode2_impl },
4317 dissect_camel_T_oAnswerSpecificInfo(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4318 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
4319 T_oAnswerSpecificInfo_sequence, hf_index, ett_camel_T_oAnswerSpecificInfo);
4323 static int dissect_oAnswerSpecificInfo_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4324 return dissect_camel_T_oAnswerSpecificInfo(TRUE, tvb, offset, pinfo, tree, hf_camel_oAnswerSpecificInfo);
4328 static const value_string camel_T_midCallEvents_vals[] = {
4329 { 3, "dTMFDigitsCompleted" },
4330 { 4, "dTMFDigitsTimeOut" },
4334 static const ber_choice_t T_midCallEvents_choice[] = {
4335 { 3, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_dTMFDigitsCompleted_impl },
4336 { 4, BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_dTMFDigitsTimeOut_impl },
4337 { 0, 0, 0, 0, NULL }
4341 dissect_camel_T_midCallEvents(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4342 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
4343 T_midCallEvents_choice, hf_index, ett_camel_T_midCallEvents,
4348 static int dissect_midCallEvents_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4349 return dissect_camel_T_midCallEvents(TRUE, tvb, offset, pinfo, tree, hf_camel_midCallEvents);
4353 static const ber_sequence_t T_oMidCallSpecificInfo_sequence[] = {
4354 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_midCallEvents_impl },
4359 dissect_camel_T_oMidCallSpecificInfo(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4360 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
4361 T_oMidCallSpecificInfo_sequence, hf_index, ett_camel_T_oMidCallSpecificInfo);
4365 static int dissect_oMidCallSpecificInfo_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4366 return dissect_camel_T_oMidCallSpecificInfo(TRUE, tvb, offset, pinfo, tree, hf_camel_oMidCallSpecificInfo);
4370 static const ber_sequence_t T_oDisconnectSpecificInfo_sequence[] = {
4371 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_releaseCause_impl },
4376 dissect_camel_T_oDisconnectSpecificInfo(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4377 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
4378 T_oDisconnectSpecificInfo_sequence, hf_index, ett_camel_T_oDisconnectSpecificInfo);
4382 static int dissect_oDisconnectSpecificInfo_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4383 return dissect_camel_T_oDisconnectSpecificInfo(TRUE, tvb, offset, pinfo, tree, hf_camel_oDisconnectSpecificInfo);
4387 static const ber_sequence_t T_tBusySpecificInfo_sequence[] = {
4388 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_busyCause_impl },
4389 { BER_CLASS_CON, 50, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_callForwarded_impl },
4390 { BER_CLASS_CON, 51, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_routeNotPermitted_impl },
4391 { BER_CLASS_CON, 52, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_forwardingDestinationNumber_impl },
4396 dissect_camel_T_tBusySpecificInfo(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4397 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
4398 T_tBusySpecificInfo_sequence, hf_index, ett_camel_T_tBusySpecificInfo);
4402 static int dissect_tBusySpecificInfo_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4403 return dissect_camel_T_tBusySpecificInfo(TRUE, tvb, offset, pinfo, tree, hf_camel_tBusySpecificInfo);
4407 static const ber_sequence_t T_tNoAnswerSpecificInfo_sequence[] = {
4408 { BER_CLASS_CON, 50, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_callForwarded_impl },
4409 { BER_CLASS_CON, 52, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_forwardingDestinationNumber_impl },
4414 dissect_camel_T_tNoAnswerSpecificInfo(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4415 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
4416 T_tNoAnswerSpecificInfo_sequence, hf_index, ett_camel_T_tNoAnswerSpecificInfo);
4420 static int dissect_tNoAnswerSpecificInfo_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4421 return dissect_camel_T_tNoAnswerSpecificInfo(TRUE, tvb, offset, pinfo, tree, hf_camel_tNoAnswerSpecificInfo);
4425 static const ber_sequence_t T_tAnswerSpecificInfo_sequence[] = {
4426 { BER_CLASS_CON, 50, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_destinationAddress_impl },
4427 { BER_CLASS_CON, 51, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_or_Call_impl },
4428 { BER_CLASS_CON, 52, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_forwardedCall_impl },
4429 { BER_CLASS_CON, 53, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_chargeIndicator_impl },
4430 { BER_CLASS_CON, 54, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ext_basicServiceCode_impl },
4431 { BER_CLASS_CON, 55, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ext_basicServiceCode2_impl },
4436 dissect_camel_T_tAnswerSpecificInfo(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4437 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
4438 T_tAnswerSpecificInfo_sequence, hf_index, ett_camel_T_tAnswerSpecificInfo);
4442 static int dissect_tAnswerSpecificInfo_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4443 return dissect_camel_T_tAnswerSpecificInfo(TRUE, tvb, offset, pinfo, tree, hf_camel_tAnswerSpecificInfo);
4447 static const value_string camel_T_midCallEvents1_vals[] = {
4448 { 3, "dTMFDigitsCompleted" },
4449 { 4, "dTMFDigitsTimeOut" },
4453 static const ber_choice_t T_midCallEvents1_choice[] = {
4454 { 3, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_dTMFDigitsCompleted_impl },
4455 { 4, BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_dTMFDigitsTimeOut_impl },
4456 { 0, 0, 0, 0, NULL }
4460 dissect_camel_T_midCallEvents1(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4461 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
4462 T_midCallEvents1_choice, hf_index, ett_camel_T_midCallEvents1,
4467 static int dissect_midCallEvents1_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4468 return dissect_camel_T_midCallEvents1(TRUE, tvb, offset, pinfo, tree, hf_camel_midCallEvents1);
4472 static const ber_sequence_t T_tMidCallSpecificInfo_sequence[] = {
4473 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_midCallEvents1_impl },
4478 dissect_camel_T_tMidCallSpecificInfo(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4479 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
4480 T_tMidCallSpecificInfo_sequence, hf_index, ett_camel_T_tMidCallSpecificInfo);
4484 static int dissect_tMidCallSpecificInfo_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4485 return dissect_camel_T_tMidCallSpecificInfo(TRUE, tvb, offset, pinfo, tree, hf_camel_tMidCallSpecificInfo);
4489 static const ber_sequence_t T_tDisconnectSpecificInfo_sequence[] = {
4490 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_releaseCause_impl },
4495 dissect_camel_T_tDisconnectSpecificInfo(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4496 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
4497 T_tDisconnectSpecificInfo_sequence, hf_index, ett_camel_T_tDisconnectSpecificInfo);
4501 static int dissect_tDisconnectSpecificInfo_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4502 return dissect_camel_T_tDisconnectSpecificInfo(TRUE, tvb, offset, pinfo, tree, hf_camel_tDisconnectSpecificInfo);
4506 static const ber_sequence_t T_oTermSeizedSpecificInfo_sequence[] = {
4507 { BER_CLASS_CON, 50, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_locationInformation_impl },
4512 dissect_camel_T_oTermSeizedSpecificInfo(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4513 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
4514 T_oTermSeizedSpecificInfo_sequence, hf_index, ett_camel_T_oTermSeizedSpecificInfo);
4518 static int dissect_oTermSeizedSpecificInfo_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4519 return dissect_camel_T_oTermSeizedSpecificInfo(TRUE, tvb, offset, pinfo, tree, hf_camel_oTermSeizedSpecificInfo);
4523 static const ber_sequence_t T_callAcceptedSpecificInfo_sequence[] = {
4524 { BER_CLASS_CON, 50, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_locationInformation_impl },
4529 dissect_camel_T_callAcceptedSpecificInfo(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4530 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
4531 T_callAcceptedSpecificInfo_sequence, hf_index, ett_camel_T_callAcceptedSpecificInfo);
4535 static int dissect_callAcceptedSpecificInfo_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4536 return dissect_camel_T_callAcceptedSpecificInfo(TRUE, tvb, offset, pinfo, tree, hf_camel_callAcceptedSpecificInfo);
4540 static const ber_sequence_t T_oAbandonSpecificInfo_sequence[] = {
4541 { BER_CLASS_CON, 50, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_routeNotPermitted_impl },
4546 dissect_camel_T_oAbandonSpecificInfo(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4547 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
4548 T_oAbandonSpecificInfo_sequence, hf_index, ett_camel_T_oAbandonSpecificInfo);
4552 static int dissect_oAbandonSpecificInfo_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4553 return dissect_camel_T_oAbandonSpecificInfo(TRUE, tvb, offset, pinfo, tree, hf_camel_oAbandonSpecificInfo);
4557 static const ber_sequence_t MetDPCriterionAlt_sequence[] = {
4562 dissect_camel_MetDPCriterionAlt(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4563 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
4564 MetDPCriterionAlt_sequence, hf_index, ett_camel_MetDPCriterionAlt);
4568 static int dissect_metDPCriterionAlt_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4569 return dissect_camel_MetDPCriterionAlt(TRUE, tvb, offset, pinfo, tree, hf_camel_metDPCriterionAlt);
4573 static const value_string camel_MetDPCriterion_vals[] = {
4574 { 0, "enteringCellGlobalId" },
4575 { 1, "leavingCellGlobalId" },
4576 { 2, "enteringServiceAreaId" },
4577 { 3, "leavingServiceAreaId" },
4578 { 4, "enteringLocationAreaId" },
4579 { 5, "leavingLocationAreaId" },
4580 { 6, "inter-SystemHandOverToUMTS" },
4581 { 7, "inter-SystemHandOverToGSM" },
4582 { 8, "inter-PLMNHandOver" },
4583 { 9, "inter-MSCHandOver" },
4584 { 10, "metDPCriterionAlt" },
4588 static const ber_choice_t MetDPCriterion_choice[] = {
4589 { 0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_enteringCellGlobalId_impl },
4590 { 1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_leavingCellGlobalId_impl },
4591 { 2, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_enteringServiceAreaId_impl },
4592 { 3, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_leavingServiceAreaId_impl },
4593 { 4, BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_enteringLocationAreaId_impl },
4594 { 5, BER_CLASS_CON, 5, BER_FLAGS_IMPLTAG, dissect_leavingLocationAreaId_impl },
4595 { 6, BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_inter_SystemHandOverToUMTS_impl },
4596 { 7, BER_CLASS_CON, 7, BER_FLAGS_IMPLTAG, dissect_inter_SystemHandOverToGSM_impl },
4597 { 8, BER_CLASS_CON, 8, BER_FLAGS_IMPLTAG, dissect_inter_PLMNHandOver_impl },
4598 { 9, BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_inter_MSCHandOver_impl },
4599 { 10, BER_CLASS_CON, 10, BER_FLAGS_IMPLTAG, dissect_metDPCriterionAlt_impl },
4600 { 0, 0, 0, 0, NULL }
4604 dissect_camel_MetDPCriterion(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4605 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
4606 MetDPCriterion_choice, hf_index, ett_camel_MetDPCriterion,
4611 static int dissect_MetDPCriteriaList_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4612 return dissect_camel_MetDPCriterion(FALSE, tvb, offset, pinfo, tree, hf_camel_MetDPCriteriaList_item);
4616 static const ber_sequence_t MetDPCriteriaList_sequence_of[1] = {
4617 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_MetDPCriteriaList_item },
4621 dissect_camel_MetDPCriteriaList(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4622 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
4623 MetDPCriteriaList_sequence_of, hf_index, ett_camel_MetDPCriteriaList);
4627 static int dissect_metDPCriteriaList_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4628 return dissect_camel_MetDPCriteriaList(TRUE, tvb, offset, pinfo, tree, hf_camel_metDPCriteriaList);
4632 static const ber_sequence_t T_oChangeOfPositionSpecificInfo_sequence[] = {
4633 { BER_CLASS_CON, 50, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_locationInformation_impl },
4634 { BER_CLASS_CON, 51, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_metDPCriteriaList_impl },
4639 dissect_camel_T_oChangeOfPositionSpecificInfo(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4640 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
4641 T_oChangeOfPositionSpecificInfo_sequence, hf_index, ett_camel_T_oChangeOfPositionSpecificInfo);
4645 static int dissect_oChangeOfPositionSpecificInfo_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4646 return dissect_camel_T_oChangeOfPositionSpecificInfo(TRUE, tvb, offset, pinfo, tree, hf_camel_oChangeOfPositionSpecificInfo);
4650 static const ber_sequence_t T_tChangeOfPositionSpecificInfo_sequence[] = {
4651 { BER_CLASS_CON, 50, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_locationInformation_impl },
4652 { BER_CLASS_CON, 51, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_metDPCriteriaList_impl },
4657 dissect_camel_T_tChangeOfPositionSpecificInfo(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4658 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
4659 T_tChangeOfPositionSpecificInfo_sequence, hf_index, ett_camel_T_tChangeOfPositionSpecificInfo);
4663 static int dissect_tChangeOfPositionSpecificInfo_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4664 return dissect_camel_T_tChangeOfPositionSpecificInfo(TRUE, tvb, offset, pinfo, tree, hf_camel_tChangeOfPositionSpecificInfo);
4668 static const value_string camel_EventSpecificInformationBCSM_vals[] = {
4669 { 2, "routeSelectFailureSpecificInfo" },
4670 { 3, "oCalledPartyBusySpecificInfo" },
4671 { 4, "oNoAnswerSpecificInfo" },
4672 { 5, "oAnswerSpecificInfo" },
4673 { 6, "oMidCallSpecificInfo" },
4674 { 7, "oDisconnectSpecificInfo" },
4675 { 8, "tBusySpecificInfo" },
4676 { 9, "tNoAnswerSpecificInfo" },
4677 { 10, "tAnswerSpecificInfo" },
4678 { 11, "tMidCallSpecificInfo" },
4679 { 12, "tDisconnectSpecificInfo" },
4680 { 13, "oTermSeizedSpecificInfo" },
4681 { 20, "callAcceptedSpecificInfo" },
4682 { 21, "oAbandonSpecificInfo" },
4683 { 50, "oChangeOfPositionSpecificInfo" },
4684 { 51, "tChangeOfPositionSpecificInfo" },
4685 { 52, "dpSpecificInfoAlt" },
4689 static const ber_choice_t EventSpecificInformationBCSM_choice[] = {
4690 { 2, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_routeSelectFailureSpecificInfo_impl },
4691 { 3, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_oCalledPartyBusySpecificInfo_impl },
4692 { 4, BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_oNoAnswerSpecificInfo_impl },
4693 { 5, BER_CLASS_CON, 5, BER_FLAGS_IMPLTAG, dissect_oAnswerSpecificInfo_impl },
4694 { 6, BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_oMidCallSpecificInfo_impl },
4695 { 7, BER_CLASS_CON, 7, BER_FLAGS_IMPLTAG, dissect_oDisconnectSpecificInfo_impl },
4696 { 8, BER_CLASS_CON, 8, BER_FLAGS_IMPLTAG, dissect_tBusySpecificInfo_impl },
4697 { 9, BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_tNoAnswerSpecificInfo_impl },
4698 { 10, BER_CLASS_CON, 10, BER_FLAGS_IMPLTAG, dissect_tAnswerSpecificInfo_impl },
4699 { 11, BER_CLASS_CON, 11, BER_FLAGS_IMPLTAG, dissect_tMidCallSpecificInfo_impl },
4700 { 12, BER_CLASS_CON, 12, BER_FLAGS_IMPLTAG, dissect_tDisconnectSpecificInfo_impl },
4701 { 13, BER_CLASS_CON, 13, BER_FLAGS_IMPLTAG, dissect_oTermSeizedSpecificInfo_impl },
4702 { 20, BER_CLASS_CON, 20, BER_FLAGS_IMPLTAG, dissect_callAcceptedSpecificInfo_impl },
4703 { 21, BER_CLASS_CON, 21, BER_FLAGS_IMPLTAG, dissect_oAbandonSpecificInfo_impl },
4704 { 50, BER_CLASS_CON, 50, BER_FLAGS_IMPLTAG, dissect_oChangeOfPositionSpecificInfo_impl },
4705 { 51, BER_CLASS_CON, 51, BER_FLAGS_IMPLTAG, dissect_tChangeOfPositionSpecificInfo_impl },
4706 { 52, BER_CLASS_CON, 52, BER_FLAGS_IMPLTAG, dissect_dpSpecificInfoAlt_impl },
4707 { 0, 0, 0, 0, NULL }
4711 dissect_camel_EventSpecificInformationBCSM(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4712 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
4713 EventSpecificInformationBCSM_choice, hf_index, ett_camel_EventSpecificInformationBCSM,
4718 static int dissect_eventSpecificInformationBCSM_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4719 return dissect_camel_EventSpecificInformationBCSM(TRUE, tvb, offset, pinfo, tree, hf_camel_eventSpecificInformationBCSM);
4723 static const value_string camel_MO_SMSCause_vals[] = {
4724 { 0, "systemFailure" },
4725 { 1, "unexpectedDataValue" },
4726 { 2, "facilityNotSupported" },
4727 { 3, "sM-DeliveryFailure" },
4728 { 4, "releaseFromRadioInterface" },
4734 dissect_camel_MO_SMSCause(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4735 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
4740 static int dissect_smsfailureCause_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4741 return dissect_camel_MO_SMSCause(TRUE, tvb, offset, pinfo, tree, hf_camel_smsfailureCause);
4745 static const ber_sequence_t T_o_smsFailureSpecificInfo_sequence[] = {
4746 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_smsfailureCause_impl },
4751 dissect_camel_T_o_smsFailureSpecificInfo(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4752 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
4753 T_o_smsFailureSpecificInfo_sequence, hf_index, ett_camel_T_o_smsFailureSpecificInfo);
4757 static int dissect_o_smsFailureSpecificInfo_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4758 return dissect_camel_T_o_smsFailureSpecificInfo(TRUE, tvb, offset, pinfo, tree, hf_camel_o_smsFailureSpecificInfo);
4762 static const ber_sequence_t T_o_smsSubmittedSpecificInfo_sequence[] = {
4763 { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_foo },
4768 dissect_camel_T_o_smsSubmittedSpecificInfo(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4769 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
4770 T_o_smsSubmittedSpecificInfo_sequence, hf_index, ett_camel_T_o_smsSubmittedSpecificInfo);
4774 static int dissect_o_smsSubmittedSpecificInfo_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4775 return dissect_camel_T_o_smsSubmittedSpecificInfo(TRUE, tvb, offset, pinfo, tree, hf_camel_o_smsSubmittedSpecificInfo);
4781 dissect_camel_MT_SMSCause(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4782 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
4787 static int dissect_failureCause1_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4788 return dissect_camel_MT_SMSCause(TRUE, tvb, offset, pinfo, tree, hf_camel_failureCause1);
4792 static const ber_sequence_t T_t_smsFailureSpecificInfo_sequence[] = {
4793 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_failureCause1_impl },
4798 dissect_camel_T_t_smsFailureSpecificInfo(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4799 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
4800 T_t_smsFailureSpecificInfo_sequence, hf_index, ett_camel_T_t_smsFailureSpecificInfo);
4804 static int dissect_t_smsFailureSpecificInfo_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4805 return dissect_camel_T_t_smsFailureSpecificInfo(TRUE, tvb, offset, pinfo, tree, hf_camel_t_smsFailureSpecificInfo);
4809 static const ber_sequence_t T_t_smsDeliverySpecificInfo_sequence[] = {
4814 dissect_camel_T_t_smsDeliverySpecificInfo(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4815 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
4816 T_t_smsDeliverySpecificInfo_sequence, hf_index, ett_camel_T_t_smsDeliverySpecificInfo);
4820 static int dissect_t_smsDeliverySpecificInfo_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4821 return dissect_camel_T_t_smsDeliverySpecificInfo(TRUE, tvb, offset, pinfo, tree, hf_camel_t_smsDeliverySpecificInfo);
4825 static const value_string camel_EventSpecificInformationSMS_vals[] = {
4826 { 0, "o-smsFailureSpecificInfo" },
4827 { 1, "o-smsSubmittedSpecificInfo" },
4828 { 2, "t-smsFailureSpecificInfo" },
4829 { 3, "t-smsDeliverySpecificInfo" },
4833 static const ber_choice_t EventSpecificInformationSMS_choice[] = {
4834 { 0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_o_smsFailureSpecificInfo_impl },
4835 { 1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_o_smsSubmittedSpecificInfo_impl },
4836 { 2, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_t_smsFailureSpecificInfo_impl },
4837 { 3, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_t_smsDeliverySpecificInfo_impl },
4838 { 0, 0, 0, 0, NULL }
4842 dissect_camel_EventSpecificInformationSMS(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4843 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
4844 EventSpecificInformationSMS_choice, hf_index, ett_camel_EventSpecificInformationSMS,
4849 static int dissect_eventSpecificInformationSMS_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4850 return dissect_camel_EventSpecificInformationSMS(TRUE, tvb, offset, pinfo, tree, hf_camel_eventSpecificInformationSMS);
4854 static const value_string camel_EventTypeSMS_vals[] = {
4855 { 1, "sms-CollectedInfo" },
4856 { 2, "o-smsFailure" },
4857 { 3, "o-smsSubmission" },
4858 { 11, "sms-DeliveryRequested" },
4859 { 12, "t-smsFailure" },
4860 { 13, "t-smsDelivery" },
4866 dissect_camel_EventTypeSMS(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4867 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
4872 static int dissect_eventTypeSMS_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4873 return dissect_camel_EventTypeSMS(TRUE, tvb, offset, pinfo, tree, hf_camel_eventTypeSMS);
4879 dissect_camel_FCIBillingChargingCharacteristics(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4880 offset = dissect_camel_CAMEL_FCIBillingChargingCharacteristics(implicit_tag, tvb, offset, pinfo, tree, hf_index);
4888 dissect_camel_FCIGPRSBillingChargingCharacteristics(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4889 offset = dissect_camel_CAMEL_FCIGPRSBillingChargingCharacteristics(implicit_tag, tvb, offset, pinfo, tree, hf_index);
4897 dissect_camel_FCISMSBillingChargingCharacteristics(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4898 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
4905 static const ber_sequence_t ForwardServiceInteractionInd_sequence[] = {
4906 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_conferenceTreatmentIndicator_impl },
4907 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_callDiversionTreatmentIndicator_impl },
4908 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_callingPartyRestrictionIndicator_impl },
4913 dissect_camel_ForwardServiceInteractionInd(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4914 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
4915 ForwardServiceInteractionInd_sequence, hf_index, ett_camel_ForwardServiceInteractionInd);
4919 static int dissect_forwardServiceInteractionInd_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4920 return dissect_camel_ForwardServiceInteractionInd(TRUE, tvb, offset, pinfo, tree, hf_camel_forwardServiceInteractionInd);
4924 static const value_string camel_GapCriteria_vals[] = {
4925 { 0, "basicGapCriteria" },
4926 { 1, "compoundGapCriteria" },
4930 static const ber_choice_t GapCriteria_choice[] = {
4931 { 0, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_basicGapCriteria },
4932 { 1, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_compoundGapCriteria },
4933 { 0, 0, 0, 0, NULL }
4937 dissect_camel_GapCriteria(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4938 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
4939 GapCriteria_choice, hf_index, ett_camel_GapCriteria,
4944 static int dissect_gapCriteria_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4945 return dissect_camel_GapCriteria(TRUE, tvb, offset, pinfo, tree, hf_camel_gapCriteria);
4951 dissect_camel_Duration(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4952 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
4957 static int dissect_duration1_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4958 return dissect_camel_Duration(TRUE, tvb, offset, pinfo, tree, hf_camel_duration1);
4964 dissect_camel_Interval(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4965 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
4970 static int dissect_gapInterval_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4971 return dissect_camel_Interval(TRUE, tvb, offset, pinfo, tree, hf_camel_gapInterval);
4975 static const ber_sequence_t GapIndicators_sequence[] = {
4976 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_duration1_impl },
4977 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gapInterval_impl },
4982 dissect_camel_GapIndicators(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4983 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
4984 GapIndicators_sequence, hf_index, ett_camel_GapIndicators);
4988 static int dissect_gapIndicators_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
4989 return dissect_camel_GapIndicators(TRUE, tvb, offset, pinfo, tree, hf_camel_gapIndicators);
4995 dissect_camel_Integer4(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
4996 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
5001 static int dissect_elementaryMessageID_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5002 return dissect_camel_Integer4(TRUE, tvb, offset, pinfo, tree, hf_camel_elementaryMessageID);
5004 static int dissect_elementaryMessageIDs_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5005 return dissect_camel_Integer4(FALSE, tvb, offset, pinfo, tree, hf_camel_elementaryMessageIDs_item);
5007 static int dissect_callConnectedElapsedTimeValue_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5008 return dissect_camel_Integer4(TRUE, tvb, offset, pinfo, tree, hf_camel_callConnectedElapsedTimeValue);
5010 static int dissect_toneID_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5011 return dissect_camel_Integer4(TRUE, tvb, offset, pinfo, tree, hf_camel_toneID);
5013 static int dissect_duration3_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5014 return dissect_camel_Integer4(TRUE, tvb, offset, pinfo, tree, hf_camel_duration3);
5016 static int dissect_integer_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5017 return dissect_camel_Integer4(TRUE, tvb, offset, pinfo, tree, hf_camel_integer);
5019 static int dissect_destinationReference(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5020 return dissect_camel_Integer4(FALSE, tvb, offset, pinfo, tree, hf_camel_destinationReference);
5022 static int dissect_originationReference(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5023 return dissect_camel_Integer4(FALSE, tvb, offset, pinfo, tree, hf_camel_originationReference);
5029 dissect_camel_IA5String_SIZE_1_127(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5030 offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_IA5String,
5031 pinfo, tree, tvb, offset, hf_index,
5036 static int dissect_messageContent_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5037 return dissect_camel_IA5String_SIZE_1_127(TRUE, tvb, offset, pinfo, tree, hf_camel_messageContent);
5043 dissect_camel_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_) {
5044 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
5049 static int dissect_attributes_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5050 return dissect_camel_OCTET_STRING_SIZE_2_10(TRUE, tvb, offset, pinfo, tree, hf_camel_attributes);
5054 static const ber_sequence_t T_text_sequence[] = {
5055 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_messageContent_impl },
5056 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_attributes_impl },
5061 dissect_camel_T_text(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5062 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
5063 T_text_sequence, hf_index, ett_camel_T_text);
5067 static int dissect_text_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5068 return dissect_camel_T_text(TRUE, tvb, offset, pinfo, tree, hf_camel_text);
5072 static const ber_sequence_t SEQUENCE_SIZE_1_16_OF_Integer4_sequence_of[1] = {
5073 { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_elementaryMessageIDs_item },
5077 dissect_camel_SEQUENCE_SIZE_1_16_OF_Integer4(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5078 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
5079 SEQUENCE_SIZE_1_16_OF_Integer4_sequence_of, hf_index, ett_camel_SEQUENCE_SIZE_1_16_OF_Integer4);
5083 static int dissect_elementaryMessageIDs_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5084 return dissect_camel_SEQUENCE_SIZE_1_16_OF_Integer4(TRUE, tvb, offset, pinfo, tree, hf_camel_elementaryMessageIDs);
5090 dissect_camel_OCTET_STRING_SIZE_2(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5091 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
5096 static int dissect_time_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5097 return dissect_camel_OCTET_STRING_SIZE_2(TRUE, tvb, offset, pinfo, tree, hf_camel_time);
5103 dissect_camel_OCTET_STRING_SIZE_4(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5104 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
5109 static int dissect_date_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5110 return dissect_camel_OCTET_STRING_SIZE_4(TRUE, tvb, offset, pinfo, tree, hf_camel_date);
5112 static int dissect_price_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5113 return dissect_camel_OCTET_STRING_SIZE_4(TRUE, tvb, offset, pinfo, tree, hf_camel_price);
5117 static const value_string camel_VariablePart_vals[] = {
5126 static const ber_choice_t VariablePart_choice[] = {
5127 { 0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_integer_impl },
5128 { 1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_number_impl },
5129 { 2, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_time_impl },
5130 { 3, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_date_impl },
5131 { 4, BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_price_impl },
5132 { 0, 0, 0, 0, NULL }
5136 dissect_camel_VariablePart(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5137 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
5138 VariablePart_choice, hf_index, ett_camel_VariablePart,
5143 static int dissect_VariablePartsArray_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5144 return dissect_camel_VariablePart(FALSE, tvb, offset, pinfo, tree, hf_camel_VariablePartsArray_item);
5148 static const ber_sequence_t VariablePartsArray_sequence_of[1] = {
5149 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_VariablePartsArray_item },
5153 dissect_camel_VariablePartsArray(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5154 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
5155 VariablePartsArray_sequence_of, hf_index, ett_camel_VariablePartsArray);
5159 static int dissect_variableParts_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5160 return dissect_camel_VariablePartsArray(TRUE, tvb, offset, pinfo, tree, hf_camel_variableParts);
5164 static const ber_sequence_t T_variableMessage_sequence[] = {
5165 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_elementaryMessageID_impl },
5166 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_variableParts_impl },
5171 dissect_camel_T_variableMessage(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5172 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
5173 T_variableMessage_sequence, hf_index, ett_camel_T_variableMessage);
5177 static int dissect_variableMessage_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5178 return dissect_camel_T_variableMessage(TRUE, tvb, offset, pinfo, tree, hf_camel_variableMessage);
5182 static const value_string camel_MessageID_vals[] = {
5183 { 0, "elementaryMessageID" },
5185 { 29, "elementaryMessageIDs" },
5186 { 30, "variableMessage" },
5190 static const ber_choice_t MessageID_choice[] = {
5191 { 0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_elementaryMessageID_impl },
5192 { 1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_text_impl },
5193 { 29, BER_CLASS_CON, 29, BER_FLAGS_IMPLTAG, dissect_elementaryMessageIDs_impl },
5194 { 30, BER_CLASS_CON, 30, BER_FLAGS_IMPLTAG, dissect_variableMessage_impl },
5195 { 0, 0, 0, 0, NULL }
5199 dissect_camel_MessageID(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5200 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
5201 MessageID_choice, hf_index, ett_camel_MessageID,
5206 static int dissect_messageID_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5207 return dissect_camel_MessageID(TRUE, tvb, offset, pinfo, tree, hf_camel_messageID);
5213 dissect_camel_INTEGER_0_32767(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5214 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
5219 static int dissect_duration2_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5220 return dissect_camel_INTEGER_0_32767(TRUE, tvb, offset, pinfo, tree, hf_camel_duration2);
5222 static int dissect_interval_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5223 return dissect_camel_INTEGER_0_32767(TRUE, tvb, offset, pinfo, tree, hf_camel_interval);
5227 static const ber_sequence_t InbandInfo_sequence[] = {
5228 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_messageID_impl },
5229 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_numberOfRepetitions_impl },
5230 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_duration2_impl },
5231 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_interval_impl },
5236 dissect_camel_InbandInfo(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5237 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
5238 InbandInfo_sequence, hf_index, ett_camel_InbandInfo);
5242 static int dissect_inbandInfo_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5243 return dissect_camel_InbandInfo(TRUE, tvb, offset, pinfo, tree, hf_camel_inbandInfo);
5247 static const ber_sequence_t Tone_sequence[] = {
5248 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_toneID_impl },
5249 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_duration3_impl },
5254 dissect_camel_Tone(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5255 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
5256 Tone_sequence, hf_index, ett_camel_Tone);
5260 static int dissect_tone1_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5261 return dissect_camel_Tone(TRUE, tvb, offset, pinfo, tree, hf_camel_tone1);
5265 static const value_string camel_InformationToSend_vals[] = {
5266 { 0, "inbandInfo" },
5271 static const ber_choice_t InformationToSend_choice[] = {
5272 { 0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_inbandInfo_impl },
5273 { 1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_tone1_impl },
5274 { 0, 0, 0, 0, NULL }
5278 dissect_camel_InformationToSend(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5279 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
5280 InformationToSend_choice, hf_index, ett_camel_InformationToSend,
5285 static int dissect_informationToSend_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5286 return dissect_camel_InformationToSend(TRUE, tvb, offset, pinfo, tree, hf_camel_informationToSend);
5290 static const value_string camel_GapTreatment_vals[] = {
5291 { 0, "informationToSend" },
5292 { 1, "releaseCause" },
5296 static const ber_choice_t GapTreatment_choice[] = {
5297 { 0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_informationToSend_impl },
5298 { 1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_releaseCause_impl },
5299 { 0, 0, 0, 0, NULL }
5303 dissect_camel_GapTreatment(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5304 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
5305 GapTreatment_choice, hf_index, ett_camel_GapTreatment,
5310 static int dissect_gapTreatment_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5311 return dissect_camel_GapTreatment(TRUE, tvb, offset, pinfo, tree, hf_camel_gapTreatment);
5317 dissect_camel_GenericNumber(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5318 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
5323 static int dissect_GenericNumbers_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5324 return dissect_camel_GenericNumber(FALSE, tvb, offset, pinfo, tree, hf_camel_GenericNumbers_item);
5328 static const ber_sequence_t GenericNumbers_set_of[1] = {
5329 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_GenericNumbers_item },
5333 dissect_camel_GenericNumbers(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5334 offset = dissect_ber_set_of(implicit_tag, pinfo, tree, tvb, offset,
5335 GenericNumbers_set_of, hf_index, ett_camel_GenericNumbers);
5339 static int dissect_genericNumbers_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5340 return dissect_camel_GenericNumbers(TRUE, tvb, offset, pinfo, tree, hf_camel_genericNumbers);
5344 static const value_string camel_GPRS_QoS_vals[] = {
5345 { 0, "short-QoS-format" },
5346 { 1, "long-QoS-format" },
5350 static const ber_choice_t GPRS_QoS_choice[] = {
5351 { 0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_short_QoS_format_impl },
5352 { 1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_long_QoS_format_impl },
5353 { 0, 0, 0, 0, NULL }
5357 dissect_camel_GPRS_QoS(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5358 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
5359 GPRS_QoS_choice, hf_index, ett_camel_GPRS_QoS,
5364 static int dissect_requested_QoS_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5365 return dissect_camel_GPRS_QoS(TRUE, tvb, offset, pinfo, tree, hf_camel_requested_QoS);
5367 static int dissect_subscribed_QoS_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5368 return dissect_camel_GPRS_QoS(TRUE, tvb, offset, pinfo, tree, hf_camel_subscribed_QoS);
5370 static int dissect_negotiated_QoS_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5371 return dissect_camel_GPRS_QoS(TRUE, tvb, offset, pinfo, tree, hf_camel_negotiated_QoS);
5375 static const ber_sequence_t GPRS_QoS_Extension_sequence[] = {
5376 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_supplement_to_long_QoS_format_impl },
5381 dissect_camel_GPRS_QoS_Extension(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5382 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
5383 GPRS_QoS_Extension_sequence, hf_index, ett_camel_GPRS_QoS_Extension);
5387 static int dissect_requested_QoS_Extension_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5388 return dissect_camel_GPRS_QoS_Extension(TRUE, tvb, offset, pinfo, tree, hf_camel_requested_QoS_Extension);
5390 static int dissect_subscribed_QoS_Extension_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5391 return dissect_camel_GPRS_QoS_Extension(TRUE, tvb, offset, pinfo, tree, hf_camel_subscribed_QoS_Extension);
5393 static int dissect_negotiated_QoS_Extension_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5394 return dissect_camel_GPRS_QoS_Extension(TRUE, tvb, offset, pinfo, tree, hf_camel_negotiated_QoS_Extension);
5400 dissect_camel_GPRSCause(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5401 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
5406 static int dissect_gPRSCause_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5407 return dissect_camel_GPRSCause(TRUE, tvb, offset, pinfo, tree, hf_camel_gPRSCause);
5409 static int dissect_gprsCause_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5410 return dissect_camel_GPRSCause(TRUE, tvb, offset, pinfo, tree, hf_camel_gprsCause);
5414 static const value_string camel_GPRSEventType_vals[] = {
5416 { 2, "attachChangeOfPosition" },
5418 { 11, "pdp-ContextEstablishment" },
5419 { 12, "pdp-ContextEstablishmentAcknowledgement" },
5420 { 13, "disconnect" },
5421 { 14, "pdp-ContextChangeOfPosition" },
5427 dissect_camel_GPRSEventType(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5428 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
5433 static int dissect_gPRSEventType_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5434 return dissect_camel_GPRSEventType(TRUE, tvb, offset, pinfo, tree, hf_camel_gPRSEventType);
5438 static const ber_sequence_t GPRSEvent_sequence[] = {
5439 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gPRSEventType_impl },
5440 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_monitorMode_impl },
5445 dissect_camel_GPRSEvent(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5446 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
5447 GPRSEvent_sequence, hf_index, ett_camel_GPRSEvent);
5451 static int dissect_GPRSEventArray_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5452 return dissect_camel_GPRSEvent(FALSE, tvb, offset, pinfo, tree, hf_camel_GPRSEventArray_item);
5458 dissect_camel_CellGlobalIdOrServiceAreaIdOrLAI(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5459 #line 412 "camel.cnf"
5461 proto_tree *subtree;
5464 start_offset = offset;
5465 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
5469 item = get_ber_last_created_item();
5470 subtree = proto_item_add_subtree(item, ett_camel_pdptypenumber);
5472 if (tvb_reported_length_remaining(tvb,start_offset) == 7){
5473 dissect_gsm_map_CellGlobalIdOrServiceAreaIdFixedLength(TRUE, tvb, start_offset, pinfo, subtree, hf_camel_cellGlobalIdOrServiceAreaIdFixedLength);
5475 dissect_gsm_map_LAIFixedLength(TRUE, tvb, start_offset, pinfo, subtree, hf_camel_locationAreaId);
5483 static int dissect_cellGlobalIdOrServiceAreaIdOrLAI_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5484 return dissect_camel_CellGlobalIdOrServiceAreaIdOrLAI(TRUE, tvb, offset, pinfo, tree, hf_camel_cellGlobalIdOrServiceAreaIdOrLAI);
5490 dissect_camel_ExtensionSetextensionId(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5491 offset = dissect_ber_object_identifier(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
5495 static int dissect_extId(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5496 return dissect_camel_ExtensionSetextensionId(FALSE, tvb, offset, pinfo, tree, hf_camel_extId);
5500 static const ber_sequence_t PrivateExtension_sequence[] = {
5501 { BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_extId },
5506 dissect_camel_PrivateExtension(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5507 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
5508 PrivateExtension_sequence, hf_index, ett_camel_PrivateExtension);
5512 static int dissect_PrivateExtensionList_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5513 return dissect_camel_PrivateExtension(FALSE, tvb, offset, pinfo, tree, hf_camel_PrivateExtensionList_item);
5517 static const ber_sequence_t PrivateExtensionList_sequence_of[1] = {
5518 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_PrivateExtensionList_item },
5522 dissect_camel_PrivateExtensionList(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5523 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
5524 PrivateExtensionList_sequence_of, hf_index, ett_camel_PrivateExtensionList);
5528 static int dissect_privateExtensionList_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5529 return dissect_camel_PrivateExtensionList(TRUE, tvb, offset, pinfo, tree, hf_camel_privateExtensionList);
5533 static const ber_sequence_t PCS_Extensions_sequence[] = {
5534 { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_foo },
5539 dissect_camel_PCS_Extensions(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5540 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
5541 PCS_Extensions_sequence, hf_index, ett_camel_PCS_Extensions);
5545 static int dissect_pcs_Extensions_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5546 return dissect_camel_PCS_Extensions(TRUE, tvb, offset, pinfo, tree, hf_camel_pcs_Extensions);
5550 static const ber_sequence_t ExtensionContainer_sequence[] = {
5551 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_privateExtensionList_impl },
5552 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_pcs_Extensions_impl },
5557 dissect_camel_ExtensionContainer(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5558 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
5559 ExtensionContainer_sequence, hf_index, ett_camel_ExtensionContainer);
5563 static int dissect_extensionContainer_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5564 return dissect_camel_ExtensionContainer(TRUE, tvb, offset, pinfo, tree, hf_camel_extensionContainer);
5568 static const ber_sequence_t LocationInformationGPRS_sequence[] = {
5569 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_cellGlobalIdOrServiceAreaIdOrLAI_impl },
5570 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_routeingAreaIdentity_impl },
5571 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_geographicalInformation_impl },
5572 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_sgsn_Number_impl },
5573 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_selectedLSAIdentity_impl },
5574 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensionContainer_impl },
5575 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_saiPresent_impl },
5580 dissect_camel_LocationInformationGPRS(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5581 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
5582 LocationInformationGPRS_sequence, hf_index, ett_camel_LocationInformationGPRS);
5586 static int dissect_locationInformationGPRS_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5587 return dissect_camel_LocationInformationGPRS(TRUE, tvb, offset, pinfo, tree, hf_camel_locationInformationGPRS);
5591 static const ber_sequence_t T_attachChangeOfPositionSpecificInformation_sequence[] = {
5592 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_locationInformationGPRS_impl },
5597 dissect_camel_T_attachChangeOfPositionSpecificInformation(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5598 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
5599 T_attachChangeOfPositionSpecificInformation_sequence, hf_index, ett_camel_T_attachChangeOfPositionSpecificInformation);
5603 static int dissect_attachChangeOfPositionSpecificInformation_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5604 return dissect_camel_T_attachChangeOfPositionSpecificInformation(TRUE, tvb, offset, pinfo, tree, hf_camel_attachChangeOfPositionSpecificInformation);
5610 dissect_camel_PDPTypeOrganization(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5611 #line 341 "camel.cnf"
5613 tvbuff_t *parameter_tvb;
5615 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
5621 PDPTypeOrganization = (tvb_get_guint8(parameter_tvb,0) &0x0f);
5627 static int dissect_pDPTypeOrganization1_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5628 return dissect_camel_PDPTypeOrganization(TRUE, tvb, offset, pinfo, tree, hf_camel_pDPTypeOrganization1);
5634 dissect_camel_PDPTypeNumber(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5635 #line 354 "camel.cnf"
5637 tvbuff_t *parameter_tvb;
5639 proto_tree *subtree;
5641 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
5647 PDPTypeNumber = tvb_get_guint8(parameter_tvb,0);
5648 item = get_ber_last_created_item();
5649 subtree = proto_item_add_subtree(item, ett_camel_pdptypenumber);
5650 switch (PDPTypeOrganization){
5652 proto_tree_add_item(tree, hf_camel_PDPTypeNumber_etsi, parameter_tvb, 0, 1, FALSE);
5655 proto_tree_add_item(tree, hf_camel_PDPTypeNumber_ietf, parameter_tvb, 0, 1, FALSE);
5665 static int dissect_pDPTypeNumber1_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5666 return dissect_camel_PDPTypeNumber(TRUE, tvb, offset, pinfo, tree, hf_camel_pDPTypeNumber1);
5672 dissect_camel_PDPAddress(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5673 #line 381 "camel.cnf"
5675 tvbuff_t *parameter_tvb;
5677 proto_tree *subtree;
5679 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
5685 item = get_ber_last_created_item();
5686 subtree = proto_item_add_subtree(item, ett_camel_pdptypenumber);
5687 switch (PDPTypeOrganization){
5691 switch(PDPTypeNumber){
5692 case 0x21: /* IPv4 */
5693 proto_tree_add_item(tree, hf_camel_PDPAddress_IPv4, parameter_tvb, 0, tvb_length(parameter_tvb), FALSE);
5695 case 0x57: /* IPv6 */
5696 proto_tree_add_item(tree, hf_camel_PDPAddress_IPv6, parameter_tvb, 0, tvb_length(parameter_tvb), FALSE);
5710 static int dissect_pDPAddress1_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5711 return dissect_camel_PDPAddress(TRUE, tvb, offset, pinfo, tree, hf_camel_pDPAddress1);
5715 static const ber_sequence_t PDPType_sequence[] = {
5716 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_pDPTypeOrganization1_impl },
5717 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_pDPTypeNumber1_impl },
5718 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_pDPAddress1_impl },
5723 dissect_camel_PDPType(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5724 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
5725 PDPType_sequence, hf_index, ett_camel_PDPType);
5729 static int dissect_pDPType_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5730 return dissect_camel_PDPType(TRUE, tvb, offset, pinfo, tree, hf_camel_pDPType);
5734 static const ber_sequence_t QualityOfService_sequence[] = {
5735 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_requested_QoS_impl },
5736 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_subscribed_QoS_impl },
5737 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_negotiated_QoS_impl },
5738 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_requested_QoS_Extension_impl },
5739 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_subscribed_QoS_Extension_impl },
5740 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_negotiated_QoS_Extension_impl },
5745 dissect_camel_QualityOfService(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5746 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
5747 QualityOfService_sequence, hf_index, ett_camel_QualityOfService);
5751 static int dissect_qualityOfService_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5752 return dissect_camel_QualityOfService(TRUE, tvb, offset, pinfo, tree, hf_camel_qualityOfService);
5758 dissect_camel_TimeAndTimezone(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5759 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
5764 static int dissect_timeAndTimeZone_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5765 return dissect_camel_TimeAndTimezone(TRUE, tvb, offset, pinfo, tree, hf_camel_timeAndTimeZone);
5767 static int dissect_timeAndTimezone_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5768 return dissect_camel_TimeAndTimezone(TRUE, tvb, offset, pinfo, tree, hf_camel_timeAndTimezone);
5772 static const ber_sequence_t T_pdp_ContextchangeOfPositionSpecificInformation_sequence[] = {
5773 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_accessPointName_impl },
5774 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_chargingID_impl },
5775 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_locationInformationGPRS_impl },
5776 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_pDPType_impl },
5777 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qualityOfService_impl },
5778 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_timeAndTimeZone_impl },
5779 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gGSNAddress_impl },
5784 dissect_camel_T_pdp_ContextchangeOfPositionSpecificInformation(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5785 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
5786 T_pdp_ContextchangeOfPositionSpecificInformation_sequence, hf_index, ett_camel_T_pdp_ContextchangeOfPositionSpecificInformation);
5790 static int dissect_pdp_ContextchangeOfPositionSpecificInformation_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5791 return dissect_camel_T_pdp_ContextchangeOfPositionSpecificInformation(TRUE, tvb, offset, pinfo, tree, hf_camel_pdp_ContextchangeOfPositionSpecificInformation);
5795 static const value_string camel_InitiatingEntity_vals[] = {
5796 { 0, "mobileStation" },
5805 dissect_camel_InitiatingEntity(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5806 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
5811 static int dissect_inititatingEntity_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5812 return dissect_camel_InitiatingEntity(TRUE, tvb, offset, pinfo, tree, hf_camel_inititatingEntity);
5816 static const ber_sequence_t T_detachSpecificInformation_sequence[] = {
5817 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inititatingEntity_impl },
5818 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_routeingAreaUpdate_impl },
5823 dissect_camel_T_detachSpecificInformation(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5824 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
5825 T_detachSpecificInformation_sequence, hf_index, ett_camel_T_detachSpecificInformation);
5829 static int dissect_detachSpecificInformation_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5830 return dissect_camel_T_detachSpecificInformation(TRUE, tvb, offset, pinfo, tree, hf_camel_detachSpecificInformation);
5834 static const ber_sequence_t T_disconnectSpecificInformation_sequence[] = {
5835 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inititatingEntity_impl },
5836 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_routeingAreaUpdate_impl },
5841 dissect_camel_T_disconnectSpecificInformation(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5842 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
5843 T_disconnectSpecificInformation_sequence, hf_index, ett_camel_T_disconnectSpecificInformation);
5847 static int dissect_disconnectSpecificInformation_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5848 return dissect_camel_T_disconnectSpecificInformation(TRUE, tvb, offset, pinfo, tree, hf_camel_disconnectSpecificInformation);
5852 static const value_string camel_PDPInitiationType_vals[] = {
5853 { 0, "mSInitiated" },
5854 { 1, "networkInitiated" },
5860 dissect_camel_PDPInitiationType(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5861 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
5866 static int dissect_pDPInitiationType_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5867 return dissect_camel_PDPInitiationType(TRUE, tvb, offset, pinfo, tree, hf_camel_pDPInitiationType);
5871 static const ber_sequence_t T_pDPContextEstablishmentSpecificInformation_sequence[] = {
5872 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_accessPointName_impl },
5873 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_pDPType_impl },
5874 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qualityOfService_impl },
5875 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_locationInformationGPRS_impl },
5876 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_timeAndTimeZone_impl },
5877 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_pDPInitiationType_impl },
5878 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_secondaryPDPContext_impl },
5883 dissect_camel_T_pDPContextEstablishmentSpecificInformation(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5884 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
5885 T_pDPContextEstablishmentSpecificInformation_sequence, hf_index, ett_camel_T_pDPContextEstablishmentSpecificInformation);
5889 static int dissect_pDPContextEstablishmentSpecificInformation_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5890 return dissect_camel_T_pDPContextEstablishmentSpecificInformation(TRUE, tvb, offset, pinfo, tree, hf_camel_pDPContextEstablishmentSpecificInformation);
5894 static const ber_sequence_t T_pDPContextEstablishmentAcknowledgementSpecificInformation_sequence[] = {
5895 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_accessPointName_impl },
5896 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_chargingID_impl },
5897 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_pDPType_impl },
5898 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qualityOfService_impl },
5899 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_locationInformationGPRS_impl },
5900 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_timeAndTimeZone_impl },
5901 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gGSNAddress_impl },
5906 dissect_camel_T_pDPContextEstablishmentAcknowledgementSpecificInformation(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5907 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
5908 T_pDPContextEstablishmentAcknowledgementSpecificInformation_sequence, hf_index, ett_camel_T_pDPContextEstablishmentAcknowledgementSpecificInformation);
5912 static int dissect_pDPContextEstablishmentAcknowledgementSpecificInformation_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5913 return dissect_camel_T_pDPContextEstablishmentAcknowledgementSpecificInformation(TRUE, tvb, offset, pinfo, tree, hf_camel_pDPContextEstablishmentAcknowledgementSpecificInformation);
5917 static const value_string camel_GPRSEventSpecificInformation_vals[] = {
5918 { 0, "attachChangeOfPositionSpecificInformation" },
5919 { 1, "pdp-ContextchangeOfPositionSpecificInformation" },
5920 { 2, "detachSpecificInformation" },
5921 { 3, "disconnectSpecificInformation" },
5922 { 4, "pDPContextEstablishmentSpecificInformation" },
5923 { 5, "pDPContextEstablishmentAcknowledgementSpecificInformation" },
5927 static const ber_choice_t GPRSEventSpecificInformation_choice[] = {
5928 { 0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_attachChangeOfPositionSpecificInformation_impl },
5929 { 1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_pdp_ContextchangeOfPositionSpecificInformation_impl },
5930 { 2, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_detachSpecificInformation_impl },
5931 { 3, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_disconnectSpecificInformation_impl },
5932 { 4, BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_pDPContextEstablishmentSpecificInformation_impl },
5933 { 5, BER_CLASS_CON, 5, BER_FLAGS_IMPLTAG, dissect_pDPContextEstablishmentAcknowledgementSpecificInformation_impl },
5934 { 0, 0, 0, 0, NULL }
5938 dissect_camel_GPRSEventSpecificInformation(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5939 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
5940 GPRSEventSpecificInformation_choice, hf_index, ett_camel_GPRSEventSpecificInformation,
5945 static int dissect_gPRSEventSpecificInformation_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5946 return dissect_camel_GPRSEventSpecificInformation(TRUE, tvb, offset, pinfo, tree, hf_camel_gPRSEventSpecificInformation);
5952 dissect_camel_MSNetworkCapability(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5953 #line 289 "camel.cnf"
5955 tvbuff_t *parameter_tvb;
5957 proto_tree *subtree;
5959 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
5965 item = get_ber_last_created_item();
5966 subtree = proto_item_add_subtree(item, ett_camel_MSNetworkCapability);
5967 de_gmm_ms_net_cap(parameter_tvb, subtree, 0, tvb_length_remaining(parameter_tvb,0), NULL, 0);
5973 static int dissect_mSNetworkCapability_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
5974 return dissect_camel_MSNetworkCapability(TRUE, tvb, offset, pinfo, tree, hf_camel_mSNetworkCapability);
5980 dissect_camel_MSRadioAccessCapability(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
5981 #line 306 "camel.cnf"
5983 tvbuff_t *parameter_tvb;
5985 proto_tree *subtree;
5987 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
5993 item = get_ber_last_created_item();
5994 subtree = proto_item_add_subtree(item, ett_camel_MSRadioAccessCapability);
5995 de_gmm_ms_radio_acc_cap(parameter_tvb, subtree, 0, tvb_length_remaining(parameter_tvb,0), NULL, 0);
6001 static int dissect_mSRadioAccessCapability_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6002 return dissect_camel_MSRadioAccessCapability(TRUE, tvb, offset, pinfo, tree, hf_camel_mSRadioAccessCapability);
6006 static const ber_sequence_t GPRSMSClass_sequence[] = {
6007 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_mSNetworkCapability_impl },
6008 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mSRadioAccessCapability_impl },
6013 dissect_camel_GPRSMSClass(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6014 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
6015 GPRSMSClass_sequence, hf_index, ett_camel_GPRSMSClass);
6019 static int dissect_gPRSMSClass_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6020 return dissect_camel_GPRSMSClass(TRUE, tvb, offset, pinfo, tree, hf_camel_gPRSMSClass);
6026 dissect_camel_IPRoutingAddress(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6027 offset = dissect_camel_CalledPartyNumber(implicit_tag, tvb, offset, pinfo, tree, hf_index);
6031 static int dissect_ipRoutingAddress_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6032 return dissect_camel_IPRoutingAddress(TRUE, tvb, offset, pinfo, tree, hf_camel_ipRoutingAddress);
6038 dissect_camel_IPSSPCapabilities(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6039 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
6044 static int dissect_iPSSPCapabilities_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6045 return dissect_camel_IPSSPCapabilities(TRUE, tvb, offset, pinfo, tree, hf_camel_iPSSPCapabilities);
6049 static const value_string camel_LegOrCallSegment_vals[] = {
6050 { 0, "callSegmentID" },
6055 static const ber_choice_t LegOrCallSegment_choice[] = {
6056 { 0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_callSegmentID_impl },
6057 { 1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_legID_impl },
6058 { 0, 0, 0, 0, NULL }
6062 dissect_camel_LegOrCallSegment(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6063 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
6064 LegOrCallSegment_choice, hf_index, ett_camel_LegOrCallSegment,
6069 static int dissect_legOrCallSegment_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6070 return dissect_camel_LegOrCallSegment(TRUE, tvb, offset, pinfo, tree, hf_camel_legOrCallSegment);
6076 dissect_camel_LowLayerCompatibility(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6077 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
6082 static int dissect_lowLayerCompatibility_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6083 return dissect_camel_LowLayerCompatibility(TRUE, tvb, offset, pinfo, tree, hf_camel_lowLayerCompatibility);
6085 static int dissect_lowLayerCompatibility2_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6086 return dissect_camel_LowLayerCompatibility(TRUE, tvb, offset, pinfo, tree, hf_camel_lowLayerCompatibility2);
6092 dissect_camel_NAOliInfo(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6093 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
6098 static int dissect_naOliInfo_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6099 return dissect_camel_NAOliInfo(TRUE, tvb, offset, pinfo, tree, hf_camel_naOliInfo);
6105 dissect_camel_OCSIApplicable(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6106 offset = dissect_ber_null(implicit_tag, pinfo, tree, tvb, offset, hf_index);
6110 static int dissect_oCSIApplicable_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6111 return dissect_camel_OCSIApplicable(TRUE, tvb, offset, pinfo, tree, hf_camel_oCSIApplicable);
6117 dissect_camel_OriginalCalledPartyID(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6118 #line 262 "camel.cnf"
6120 tvbuff_t *parameter_tvb;
6122 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
6128 dissect_isup_original_called_number_parameter(parameter_tvb, tree, NULL);
6134 static int dissect_originalCalledPartyID_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6135 return dissect_camel_OriginalCalledPartyID(TRUE, tvb, offset, pinfo, tree, hf_camel_originalCalledPartyID);
6141 dissect_camel_RedirectingPartyID(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6142 #line 276 "camel.cnf"
6144 tvbuff_t *parameter_tvb;
6146 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
6152 dissect_isup_redirecting_number_parameter(parameter_tvb, tree, NULL);
6158 static int dissect_redirectingPartyID_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6159 return dissect_camel_RedirectingPartyID(TRUE, tvb, offset, pinfo, tree, hf_camel_redirectingPartyID);
6163 static const value_string camel_RequestedInformationType_vals[] = {
6164 { 0, "callAttemptElapsedTime" },
6165 { 1, "callStopTime" },
6166 { 2, "callConnectedElapsedTime" },
6167 { 30, "releaseCause" },
6173 dissect_camel_RequestedInformationType(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6174 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
6179 static int dissect_RequestedInformationTypeList_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6180 return dissect_camel_RequestedInformationType(FALSE, tvb, offset, pinfo, tree, hf_camel_RequestedInformationTypeList_item);
6182 static int dissect_requestedInformationType_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6183 return dissect_camel_RequestedInformationType(TRUE, tvb, offset, pinfo, tree, hf_camel_requestedInformationType);
6187 static const value_string camel_RequestedInformationValue_vals[] = {
6188 { 0, "callAttemptElapsedTimeValue" },
6189 { 1, "callStopTimeValue" },
6190 { 2, "callConnectedElapsedTimeValue" },
6191 { 30, "releaseCauseValue" },
6195 static const ber_choice_t RequestedInformationValue_choice[] = {
6196 { 0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_callAttemptElapsedTimeValue_impl },
6197 { 1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_callStopTimeValue_impl },
6198 { 2, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_callConnectedElapsedTimeValue_impl },
6199 { 30, BER_CLASS_CON, 30, BER_FLAGS_IMPLTAG, dissect_releaseCauseValue_impl },
6200 { 0, 0, 0, 0, NULL }
6204 dissect_camel_RequestedInformationValue(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6205 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
6206 RequestedInformationValue_choice, hf_index, ett_camel_RequestedInformationValue,
6211 static int dissect_requestedInformationValue_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6212 return dissect_camel_RequestedInformationValue(TRUE, tvb, offset, pinfo, tree, hf_camel_requestedInformationValue);
6216 static const ber_sequence_t RequestedInformation_sequence[] = {
6217 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_requestedInformationType_impl },
6218 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_requestedInformationValue_impl },
6223 dissect_camel_RequestedInformation(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6224 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
6225 RequestedInformation_sequence, hf_index, ett_camel_RequestedInformation);
6229 static int dissect_RequestedInformationList_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6230 return dissect_camel_RequestedInformation(FALSE, tvb, offset, pinfo, tree, hf_camel_RequestedInformationList_item);
6234 static const ber_sequence_t RequestedInformationList_sequence_of[1] = {
6235 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_RequestedInformationList_item },
6239 dissect_camel_RequestedInformationList(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6240 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
6241 RequestedInformationList_sequence_of, hf_index, ett_camel_RequestedInformationList);
6245 static int dissect_requestedInformationList_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6246 return dissect_camel_RequestedInformationList(TRUE, tvb, offset, pinfo, tree, hf_camel_requestedInformationList);
6250 static const ber_sequence_t RequestedInformationTypeList_sequence_of[1] = {
6251 { BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_RequestedInformationTypeList_item },
6255 dissect_camel_RequestedInformationTypeList(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6256 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
6257 RequestedInformationTypeList_sequence_of, hf_index, ett_camel_RequestedInformationTypeList);
6261 static int dissect_requestedInformationTypeList_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6262 return dissect_camel_RequestedInformationTypeList(TRUE, tvb, offset, pinfo, tree, hf_camel_requestedInformationTypeList);
6268 dissect_camel_RPCause(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6269 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
6278 dissect_camel_SCIBillingChargingCharacteristics(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6279 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
6284 static int dissect_sCIBillingChargingCharacteristics_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6285 return dissect_camel_SCIBillingChargingCharacteristics(TRUE, tvb, offset, pinfo, tree, hf_camel_sCIBillingChargingCharacteristics);
6291 dissect_camel_SCIGPRSBillingChargingCharacteristics(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6292 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
6297 static int dissect_sCIGPRSBillingChargingCharacteristics_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6298 return dissect_camel_SCIGPRSBillingChargingCharacteristics(TRUE, tvb, offset, pinfo, tree, hf_camel_sCIGPRSBillingChargingCharacteristics);
6302 static const value_string camel_BothwayThroughConnectionInd_vals[] = {
6303 { 0, "bothwayPathRequired" },
6304 { 1, "bothwayPathNotRequired" },
6310 dissect_camel_BothwayThroughConnectionInd(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6311 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
6316 static int dissect_bothwayThroughConnectionInd_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6317 return dissect_camel_BothwayThroughConnectionInd(TRUE, tvb, offset, pinfo, tree, hf_camel_bothwayThroughConnectionInd);
6321 static const ber_sequence_t ServiceInteractionIndicatorsTwo_sequence[] = {
6322 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_forwardServiceInteractionInd_impl },
6323 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_backwardServiceInteractionInd_impl },
6324 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_bothwayThroughConnectionInd_impl },
6325 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_connectedNumberTreatmentInd_impl },
6326 { BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_nonCUGCall_impl },
6327 { BER_CLASS_CON, 50, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_holdTreatmentIndicator_impl },
6328 { BER_CLASS_CON, 51, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_cwTreatmentIndicator_impl },
6329 { BER_CLASS_CON, 52, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ectTreatmentIndicator_impl },
6334 dissect_camel_ServiceInteractionIndicatorsTwo(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6335 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
6336 ServiceInteractionIndicatorsTwo_sequence, hf_index, ett_camel_ServiceInteractionIndicatorsTwo);
6340 static int dissect_serviceInteractionIndicatorsTwo_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6341 return dissect_camel_ServiceInteractionIndicatorsTwo(TRUE, tvb, offset, pinfo, tree, hf_camel_serviceInteractionIndicatorsTwo);
6347 dissect_camel_SGSNCapabilities(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6348 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
6353 static int dissect_sGSNCapabilities_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6354 return dissect_camel_SGSNCapabilities(TRUE, tvb, offset, pinfo, tree, hf_camel_sGSNCapabilities);
6360 dissect_camel_AddressString(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6361 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
6370 dissect_camel_SMS_AddressString(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6371 offset = dissect_camel_AddressString(implicit_tag, tvb, offset, pinfo, tree, hf_index);
6377 static const ber_sequence_t SMSEvent_sequence[] = {
6378 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_eventTypeSMS_impl },
6379 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_monitorMode_impl },
6384 dissect_camel_SMSEvent(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6385 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
6386 SMSEvent_sequence, hf_index, ett_camel_SMSEvent);
6390 static int dissect_SMSEventArray_item(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6391 return dissect_camel_SMSEvent(FALSE, tvb, offset, pinfo, tree, hf_camel_SMSEventArray_item);
6397 dissect_camel_TariffSwitchInterval(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6398 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
6405 static const value_string camel_TimerID_vals[] = {
6412 dissect_camel_TimerID(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6413 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
6418 static int dissect_timerID_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6419 return dissect_camel_TimerID(TRUE, tvb, offset, pinfo, tree, hf_camel_timerID);
6425 dissect_camel_TimerValue(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6426 offset = dissect_camel_Integer4(implicit_tag, tvb, offset, pinfo, tree, hf_index);
6430 static int dissect_timervalue_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6431 return dissect_camel_TimerValue(TRUE, tvb, offset, pinfo, tree, hf_camel_timervalue);
6437 dissect_camel_TPDataCodingScheme(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6438 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
6443 static int dissect_tPDataCodingScheme_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6444 return dissect_camel_TPDataCodingScheme(TRUE, tvb, offset, pinfo, tree, hf_camel_tPDataCodingScheme);
6450 dissect_camel_TPProtocolIdentifier(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6451 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
6456 static int dissect_tPProtocolIdentifier_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6457 return dissect_camel_TPProtocolIdentifier(TRUE, tvb, offset, pinfo, tree, hf_camel_tPProtocolIdentifier);
6463 dissect_camel_TPShortMessageSpecificInfo(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6464 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
6473 dissect_camel_TPShortMessageSubmissionInfo(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6474 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
6479 static int dissect_tPShortMessageSubmissionSpecificInfo_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6480 return dissect_camel_TPShortMessageSubmissionInfo(TRUE, tvb, offset, pinfo, tree, hf_camel_tPShortMessageSubmissionSpecificInfo);
6486 dissect_camel_TPValidityPeriod(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6487 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
6492 static int dissect_tPValidityPeriod_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6493 return dissect_camel_TPValidityPeriod(TRUE, tvb, offset, pinfo, tree, hf_camel_tPValidityPeriod);
6497 static const value_string camel_UnavailableNetworkResource_vals[] = {
6498 { 0, "unavailableResources" },
6499 { 1, "componentFailure" },
6500 { 2, "basicCallProcessingException" },
6501 { 3, "resourceStatusFailure" },
6502 { 4, "endUserFailure" },
6508 dissect_camel_UnavailableNetworkResource(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6509 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
6518 dissect_camel_SpecializedResourceReportArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6519 offset = dissect_ber_null(implicit_tag, pinfo, tree, tvb, offset, hf_index);
6527 dissect_camel_Priority(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6528 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
6537 dissect_camel_CUG_Interlock(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6538 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
6543 static int dissect_cug_Interlock_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6544 return dissect_camel_CUG_Interlock(TRUE, tvb, offset, pinfo, tree, hf_camel_cug_Interlock);
6550 dissect_camel_CUG_Index(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6551 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
6556 static int dissect_cug_Index_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6557 return dissect_camel_CUG_Index(TRUE, tvb, offset, pinfo, tree, hf_camel_cug_Index);
6563 dissect_camel_CallReferenceNumber(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6564 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
6569 static int dissect_callReferenceNumber_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6570 return dissect_camel_CallReferenceNumber(TRUE, tvb, offset, pinfo, tree, hf_camel_callReferenceNumber);
6572 static int dissect_smsReferenceNumber_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6573 return dissect_camel_CallReferenceNumber(TRUE, tvb, offset, pinfo, tree, hf_camel_smsReferenceNumber);
6579 dissect_camel_SuppressionOfAnnouncement(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6580 offset = dissect_ber_null(implicit_tag, pinfo, tree, tvb, offset, hf_index);
6584 static int dissect_suppressionOfAnnouncement_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6585 return dissect_camel_SuppressionOfAnnouncement(TRUE, tvb, offset, pinfo, tree, hf_camel_suppressionOfAnnouncement);
6589 static const value_string camel_NotReachableReason_vals[] = {
6591 { 1, "imsiDetached" },
6592 { 2, "restrictedArea" },
6593 { 3, "notRegistred" },
6599 dissect_camel_NotReachableReason(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6600 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
6605 static int dissect_netDetNotReachable(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6606 return dissect_camel_NotReachableReason(FALSE, tvb, offset, pinfo, tree, hf_camel_netDetNotReachable);
6612 dissect_camel_AgeOfLocationInformation(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6613 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
6622 dissect_camel_CellIdFixedLength(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6623 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
6628 static int dissect_cellIdFixedLength_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6629 return dissect_camel_CellIdFixedLength(TRUE, tvb, offset, pinfo, tree, hf_camel_cellIdFixedLength);
6635 dissect_camel_Ext_TeleserviceCode(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6636 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
6645 dissect_camel_Ext_BearerServiceCode(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6646 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
6655 dissect_camel_CallingPartysCategory(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6656 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
6661 static int dissect_callingPartysCategory_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6662 return dissect_camel_CallingPartysCategory(TRUE, tvb, offset, pinfo, tree, hf_camel_callingPartysCategory);
6668 dissect_camel_RedirectionInformation(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6669 #line 247 "camel.cnf"
6671 tvbuff_t *parameter_tvb;
6673 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
6680 dissect_isup_redirection_information_parameter(parameter_tvb, tree, NULL);
6686 static int dissect_redirectionInformation_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6687 return dissect_camel_RedirectionInformation(TRUE, tvb, offset, pinfo, tree, hf_camel_redirectionInformation);
6693 dissect_camel_HighLayerCompatibility(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6694 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
6699 static int dissect_highLayerCompatibility2_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6700 return dissect_camel_HighLayerCompatibility(TRUE, tvb, offset, pinfo, tree, hf_camel_highLayerCompatibility2);
6702 static int dissect_highLayerCompatibility_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6703 return dissect_camel_HighLayerCompatibility(TRUE, tvb, offset, pinfo, tree, hf_camel_highLayerCompatibility);
6707 static const value_string camel_T_messageType_vals[] = {
6709 { 1, "notification" },
6715 dissect_camel_T_messageType(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6716 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
6721 static int dissect_messageType_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6722 return dissect_camel_T_messageType(TRUE, tvb, offset, pinfo, tree, hf_camel_messageType);
6726 static const ber_sequence_t MiscCallInfo_sequence[] = {
6727 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_messageType_impl },
6732 dissect_camel_MiscCallInfo(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6733 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
6734 MiscCallInfo_sequence, hf_index, ett_camel_MiscCallInfo);
6738 static int dissect_miscGPRSInfo_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6739 return dissect_camel_MiscCallInfo(TRUE, tvb, offset, pinfo, tree, hf_camel_miscGPRSInfo);
6741 static int dissect_miscCallInfo_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6742 return dissect_camel_MiscCallInfo(TRUE, tvb, offset, pinfo, tree, hf_camel_miscCallInfo);
6748 dissect_camel_CallresultoctetPDU(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6749 #line 87 "camel.cnf"
6750 tvbuff_t *parameter_tvb;
6752 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
6757 dissect_camel_CAMEL_CallResult(implicit_tag, parameter_tvb, 0, pinfo, tree, -1);
6763 static int dissect_callresultOctet(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6764 return dissect_camel_CallresultoctetPDU(FALSE, tvb, offset, pinfo, tree, hf_camel_callresultOctet);
6768 static const ber_sequence_t ApplyChargingReportArg_sequence[] = {
6769 { BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_callresultOctet },
6774 dissect_camel_ApplyChargingReportArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6775 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
6776 ApplyChargingReportArg_sequence, hf_index, ett_camel_ApplyChargingReportArg);
6782 static const value_string camel_CancelArg_vals[] = {
6784 { 1, "allRequests" },
6785 { 2, "callSegmentToCancel" },
6789 static const ber_choice_t CancelArg_choice[] = {
6790 { 0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_invokeID_impl },
6791 { 1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_allRequests_impl },
6792 { 2, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_callSegmentToCancel_impl },
6793 { 0, 0, 0, 0, NULL }
6797 dissect_camel_CancelArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6798 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
6799 CancelArg_choice, hf_index, ett_camel_CancelArg,
6808 dissect_camel_FurnishChargingInformationArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6809 offset = dissect_camel_CAMEL_FCIBillingChargingCharacteristics(implicit_tag, tvb, offset, pinfo, tree, hf_index);
6817 dissect_camel_Q850Cause(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6818 #line 118 "camel.cnf"
6820 tvbuff_t *camel_tvb;
6823 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
6828 dissect_q931_cause_ie(camel_tvb, 0, tvb_length_remaining(camel_tvb,0), tree, hf_camel_cause_indicator, &Cause_value);
6840 dissect_camel_ReleaseCallArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6841 offset = dissect_camel_Q850Cause(implicit_tag, tvb, offset, pinfo, tree, hf_index);
6847 static const value_string camel_ReceivedInformationArg_vals[] = {
6848 { 0, "digitsResponse" },
6852 static const ber_choice_t ReceivedInformationArg_choice[] = {
6853 { 0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_digitsResponse_impl },
6854 { 0, 0, 0, 0, NULL }
6858 dissect_camel_ReceivedInformationArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6859 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
6860 ReceivedInformationArg_choice, hf_index, ett_camel_ReceivedInformationArg,
6869 dissect_camel_FurnishChargingInformationSMSArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6870 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
6877 static const ber_sequence_t ConnectGPRSArg_sequence[] = {
6878 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_accessPointName_impl },
6879 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_pdpID_impl },
6884 dissect_camel_ConnectGPRSArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6885 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
6886 ConnectGPRSArg_sequence, hf_index, ett_camel_ConnectGPRSArg);
6892 static const ber_sequence_t EntityReleasedGPRSArg_sequence[] = {
6893 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gPRSCause_impl },
6894 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_pDPID_impl },
6899 dissect_camel_EntityReleasedGPRSArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6900 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
6901 EntityReleasedGPRSArg_sequence, hf_index, ett_camel_EntityReleasedGPRSArg);
6909 dissect_camel_FurnishChargingInformationGPRSArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6910 offset = dissect_camel_CAMEL_FCIGPRSBillingChargingCharacteristics(implicit_tag, tvb, offset, pinfo, tree, hf_index);
6916 static const ber_sequence_t ReleaseGPRSArg_sequence[] = {
6917 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gprsCause_impl },
6918 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_pDPID_impl },
6923 dissect_camel_ReleaseGPRSArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6924 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
6925 ReleaseGPRSArg_sequence, hf_index, ett_camel_ReleaseGPRSArg);
6931 static const ber_sequence_t GPRSEventArray_sequence_of[1] = {
6932 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_GPRSEventArray_item },
6936 dissect_camel_GPRSEventArray(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6937 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
6938 GPRSEventArray_sequence_of, hf_index, ett_camel_GPRSEventArray);
6942 static int dissect_gPRSEvent_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
6943 return dissect_camel_GPRSEventArray(TRUE, tvb, offset, pinfo, tree, hf_camel_gPRSEvent);
6947 static const ber_sequence_t RequestReportGPRSEventArg_sequence[] = {
6948 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gPRSEvent_impl },
6949 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_pDPID_impl },
6954 dissect_camel_RequestReportGPRSEventArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6955 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
6956 RequestReportGPRSEventArg_sequence, hf_index, ett_camel_RequestReportGPRSEventArg);
6962 static const ber_sequence_t SendChargingInformationGPRSArg_sequence[] = {
6963 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_sCIGPRSBillingChargingCharacteristics_impl },
6968 dissect_camel_SendChargingInformationGPRSArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6969 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
6970 SendChargingInformationGPRSArg_sequence, hf_index, ett_camel_SendChargingInformationGPRSArg);
6976 static const value_string camel_SubscriberState_vals[] = {
6977 { 0, "assumedIdle" },
6979 { 2, "netDetNotReachable" },
6980 { 3, "notProvidedFromVLR" },
6984 static const ber_choice_t SubscriberState_choice[] = {
6985 { 0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_assumedIdle_impl },
6986 { 1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_camelBusy_impl },
6987 { 2, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_netDetNotReachable },
6988 { 3, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_notProvidedFromVLR_impl },
6989 { 0, 0, 0, 0, NULL }
6993 dissect_camel_SubscriberState(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
6994 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
6995 SubscriberState_choice, hf_index, ett_camel_SubscriberState,
7000 static int dissect_subscriberState_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
7001 return dissect_camel_SubscriberState(TRUE, tvb, offset, pinfo, tree, hf_camel_subscriberState);
7005 static const value_string camel_CellIdOrLAI_vals[] = {
7006 { 0, "cellIdFixedLength" },
7007 { 1, "laiFixedLength" },
7011 static const ber_choice_t CellIdOrLAI_choice[] = {
7012 { 0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_cellIdFixedLength_impl },
7013 { 1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_laiFixedLength_impl },
7014 { 0, 0, 0, 0, NULL }
7018 dissect_camel_CellIdOrLAI(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
7019 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
7020 CellIdOrLAI_choice, hf_index, ett_camel_CellIdOrLAI,
7027 static const asn_namedbit SupportedCamelPhases_bits[] = {
7028 { 0, &hf_camel_SupportedCamelPhases_phase1, -1, -1, "phase1", NULL },
7029 { 1, &hf_camel_SupportedCamelPhases_phase2, -1, -1, "phase2", NULL },
7030 { 2, &hf_camel_SupportedCamelPhases_phase3, -1, -1, "phase3", NULL },
7031 { 3, &hf_camel_SupportedCamelPhases_phase4, -1, -1, "phase4", NULL },
7032 { 0, NULL, 0, 0, NULL, NULL }
7036 dissect_camel_SupportedCamelPhases(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
7037 offset = dissect_ber_bitstring(implicit_tag, pinfo, tree, tvb, offset,
7038 SupportedCamelPhases_bits, hf_index, ett_camel_SupportedCamelPhases,
7043 static int dissect_supportedCamelPhases_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
7044 return dissect_camel_SupportedCamelPhases(TRUE, tvb, offset, pinfo, tree, hf_camel_supportedCamelPhases);
7048 static const asn_namedbit OfferedCamel4Functionalities_bits[] = {
7049 { 0, &hf_camel_OfferedCamel4Functionalities_initiateCallAttempt, -1, -1, "initiateCallAttempt", NULL },
7050 { 1, &hf_camel_OfferedCamel4Functionalities_splitLeg, -1, -1, "splitLeg", NULL },
7051 { 2, &hf_camel_OfferedCamel4Functionalities_moveLeg, -1, -1, "moveLeg", NULL },
7052 { 3, &hf_camel_OfferedCamel4Functionalities_disconnectLeg, -1, -1, "disconnectLeg", NULL },
7053 { 4, &hf_camel_OfferedCamel4Functionalities_entityReleased, -1, -1, "entityReleased", NULL },
7054 { 5, &hf_camel_OfferedCamel4Functionalities_dfc_WithArgument, -1, -1, "dfc-WithArgument", NULL },
7055 { 6, &hf_camel_OfferedCamel4Functionalities_playTone, -1, -1, "playTone", NULL },
7056 { 7, &hf_camel_OfferedCamel4Functionalities_dtmf_MidCall, -1, -1, "dtmf-MidCall", NULL },
7057 { 8, &hf_camel_OfferedCamel4Functionalities_chargingIndicator, -1, -1, "chargingIndicator", NULL },
7058 { 9, &hf_camel_OfferedCamel4Functionalities_alertingDP, -1, -1, "alertingDP", NULL },
7059 { 10, &hf_camel_OfferedCamel4Functionalities_locationAtAlerting, -1, -1, "locationAtAlerting", NULL },
7060 { 11, &hf_camel_OfferedCamel4Functionalities_changeOfPositionDP, -1, -1, "changeOfPositionDP", NULL },
7061 { 12, &hf_camel_OfferedCamel4Functionalities_or_Interactions, -1, -1, "or-Interactions", NULL },
7062 { 13, &hf_camel_OfferedCamel4Functionalities_warningToneEnhancements, -1, -1, "warningToneEnhancements", NULL },
7063 { 14, &hf_camel_OfferedCamel4Functionalities_cf_Enhancements, -1, -1, "cf-Enhancements", NULL },
7064 { 15, &hf_camel_OfferedCamel4Functionalities_subscribedEnhancedDialledServices, -1, -1, "subscribedEnhancedDialledServices", NULL },
7065 { 16, &hf_camel_OfferedCamel4Functionalities_servingNetworkEnhancedDialledServices, -1, -1, "servingNetworkEnhancedDialledServices", NULL },
7066 { 17, &hf_camel_OfferedCamel4Functionalities_criteriaForChangeOfPositionDP, -1, -1, "criteriaForChangeOfPositionDP", NULL },
7067 { 18, &hf_camel_OfferedCamel4Functionalities_serviceChangeDP, -1, -1, "serviceChangeDP", NULL },
7068 { 0, NULL, 0, 0, NULL, NULL }
7072 dissect_camel_OfferedCamel4Functionalities(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
7073 offset = dissect_ber_bitstring(implicit_tag, pinfo, tree, tvb, offset,
7074 OfferedCamel4Functionalities_bits, hf_index, ett_camel_OfferedCamel4Functionalities,
7079 static int dissect_offeredCamel4Functionalities_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
7080 return dissect_camel_OfferedCamel4Functionalities(TRUE, tvb, offset, pinfo, tree, hf_camel_offeredCamel4Functionalities);
7084 static const ber_sequence_t InitialDPArgExtension_sequence[] = {
7085 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gmscAddress_impl },
7086 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_forwardingDestinationNumber_impl },
7087 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ms_Classmark2_impl },
7088 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_iMEI_impl },
7089 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_supportedCamelPhases_impl },
7090 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_offeredCamel4Functionalities_impl },
7091 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_bearerCapability2_impl },
7092 { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ext_basicServiceCode2_impl },
7093 { BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_highLayerCompatibility2_impl },
7094 { BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_lowLayerCompatibility_impl },
7095 { BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_lowLayerCompatibility2_impl },
7096 { BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_enhancedDialledServicesAllowed_impl },
7097 { BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_uu_Data_impl },
7102 dissect_camel_InitialDPArgExtension(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
7103 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
7104 InitialDPArgExtension_sequence, hf_index, ett_camel_InitialDPArgExtension);
7108 static int dissect_initialDPArgExtension_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
7109 return dissect_camel_InitialDPArgExtension(TRUE, tvb, offset, pinfo, tree, hf_camel_initialDPArgExtension);
7113 static const ber_sequence_t InitiateCallAttemptArg_sequence[] = {
7114 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_destinationRoutingAddress_impl },
7115 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions1_impl },
7116 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_legToBeCreated_impl },
7117 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_newCallSegment_impl },
7118 { BER_CLASS_CON, 30, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_callingPartyNumber_impl },
7119 { BER_CLASS_CON, 51, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_callReferenceNumber_impl },
7120 { BER_CLASS_CON, 52, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsmSCFAddress_impl },
7121 { BER_CLASS_CON, 53, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_suppress_T_CSI_impl },
7126 dissect_camel_InitiateCallAttemptArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
7127 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
7128 InitiateCallAttemptArg_sequence, hf_index, ett_camel_InitiateCallAttemptArg);
7134 static const ber_sequence_t InitiateCallAttemptRes_sequence[] = {
7135 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_supportedCamelPhases_impl },
7136 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_offeredCamel4Functionalities_impl },
7137 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions1_impl },
7142 dissect_camel_InitiateCallAttemptRes(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
7143 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
7144 InitiateCallAttemptRes_sequence, hf_index, ett_camel_InitiateCallAttemptRes);
7150 static const ber_sequence_t MoveLegArg_sequence[] = {
7151 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_legIDToMove_impl },
7152 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions1_impl },
7157 dissect_camel_MoveLegArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
7158 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
7159 MoveLegArg_sequence, hf_index, ett_camel_MoveLegArg);
7165 static const ber_sequence_t PlayToneArg_sequence[] = {
7166 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_legOrCallSegment_impl },
7167 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_bursts_impl },
7168 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions1_impl },
7173 dissect_camel_PlayToneArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
7174 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
7175 PlayToneArg_sequence, hf_index, ett_camel_PlayToneArg);
7183 dissect_camel_GeodeticInformation(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
7184 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
7191 static const ber_sequence_t EventReportGPRSArg_sequence[] = {
7192 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_gPRSEventType_impl },
7193 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_miscGPRSInfo_impl },
7194 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_gPRSEventSpecificInformation_impl },
7195 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_pDPID_impl },
7200 dissect_camel_EventReportGPRSArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
7201 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
7202 EventReportGPRSArg_sequence, hf_index, ett_camel_EventReportGPRSArg);
7208 static const ber_sequence_t ApplyChargingArg_sequence[] = {
7209 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_aChBillingChargingCharacteristics_impl },
7210 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_partyToCharge1_impl },
7211 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
7212 { BER_CLASS_CON, 50, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_aChChargingAddress_impl },
7217 dissect_camel_ApplyChargingArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
7218 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
7219 ApplyChargingArg_sequence, hf_index, ett_camel_ApplyChargingArg);
7225 static const ber_sequence_t AssistRequestInstructionsArg_sequence[] = {
7226 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_correlationID_impl },
7227 { BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_iPSSPCapabilities_impl },
7228 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
7233 dissect_camel_AssistRequestInstructionsArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
7234 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
7235 AssistRequestInstructionsArg_sequence, hf_index, ett_camel_AssistRequestInstructionsArg);
7241 static const ber_sequence_t CallInformationRequestArg_sequence[] = {
7242 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_requestedInformationTypeList_impl },
7243 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
7244 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_legID3_impl },
7249 dissect_camel_CallInformationRequestArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
7250 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
7251 CallInformationRequestArg_sequence, hf_index, ett_camel_CallInformationRequestArg);
7257 static const ber_sequence_t ConnectArg_sequence[] = {
7258 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_destinationRoutingAddress_impl },
7259 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_alertingPattern_impl },
7260 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_originalCalledPartyID_impl },
7261 { BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
7262 { BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_carrier_impl },
7263 { BER_CLASS_CON, 28, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_callingPartysCategory_impl },
7264 { BER_CLASS_CON, 29, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_redirectingPartyID_impl },
7265 { BER_CLASS_CON, 30, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_redirectionInformation_impl },
7266 { BER_CLASS_CON, 14, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_genericNumbers_impl },
7267 { BER_CLASS_CON, 15, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_serviceInteractionIndicatorsTwo_impl },
7268 { BER_CLASS_CON, 19, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_chargeNumber_impl },
7269 { BER_CLASS_CON, 31, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_cug_Interlock_impl },
7270 { BER_CLASS_CON, 32, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_cug_OutgoingAccess_impl },
7271 { BER_CLASS_CON, 55, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_suppressionOfAnnouncement_impl },
7272 { BER_CLASS_CON, 56, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_oCSIApplicable_impl },
7273 { BER_CLASS_CON, 57, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_naOliInfo_impl },
7274 { BER_CLASS_CON, 58, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_bor_InterrogationRequested_impl },
7279 dissect_camel_ConnectArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
7280 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
7281 ConnectArg_sequence, hf_index, ett_camel_ConnectArg);
7287 static const value_string camel_T_resourceAddress_vals[] = {
7288 { 0, "ipRoutingAddress" },
7293 static const ber_choice_t T_resourceAddress_choice[] = {
7294 { 0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_ipRoutingAddress_impl },
7295 { 3, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_none_impl },
7296 { 0, 0, 0, 0, NULL }
7300 dissect_camel_T_resourceAddress(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
7301 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
7302 T_resourceAddress_choice, hf_index, ett_camel_T_resourceAddress,
7307 static int dissect_resourceAddress(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
7308 return dissect_camel_T_resourceAddress(FALSE, tvb, offset, pinfo, tree, hf_camel_resourceAddress);
7312 static const ber_sequence_t ConnectToResourceArg_sequence[] = {
7313 { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_resourceAddress },
7314 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
7315 { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_serviceInteractionIndicatorsTwo_impl },
7316 { BER_CLASS_CON, 50, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_callSegmentID_impl },
7321 dissect_camel_ConnectToResourceArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
7322 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
7323 ConnectToResourceArg_sequence, hf_index, ett_camel_ConnectToResourceArg);
7329 static const ber_sequence_t ContinueWithArgumentArgExtension_sequence[] = {
7330 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_suppress_D_CSI_impl },
7331 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_suppress_N_CSI_impl },
7332 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_suppressOutgoingCallBarring_impl },
7333 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_legOrCallSegment_impl },
7338 dissect_camel_ContinueWithArgumentArgExtension(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
7339 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
7340 ContinueWithArgumentArgExtension_sequence, hf_index, ett_camel_ContinueWithArgumentArgExtension);
7344 static int dissect_continueWithArgumentArgExtension_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
7345 return dissect_camel_ContinueWithArgumentArgExtension(TRUE, tvb, offset, pinfo, tree, hf_camel_continueWithArgumentArgExtension);
7349 static const ber_sequence_t ContinueWithArgumentArg_sequence[] = {
7350 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_alertingPattern_impl },
7351 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
7352 { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_serviceInteractionIndicatorsTwo_impl },
7353 { BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_callingPartysCategory_impl },
7354 { BER_CLASS_CON, 16, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_genericNumbers_impl },
7355 { BER_CLASS_CON, 17, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_cug_Interlock_impl },
7356 { BER_CLASS_CON, 18, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_cug_OutgoingAccess_impl },
7357 { BER_CLASS_CON, 50, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_chargeNumber_impl },
7358 { BER_CLASS_CON, 52, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_carrier_impl },
7359 { BER_CLASS_CON, 55, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_suppressionOfAnnouncement_impl },
7360 { BER_CLASS_CON, 56, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_naOliInfo_impl },
7361 { BER_CLASS_CON, 57, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_bor_InterrogationRequested_impl },
7362 { BER_CLASS_CON, 58, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_suppress_O_CSI_impl },
7363 { BER_CLASS_CON, 59, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_continueWithArgumentArgExtension_impl },
7368 dissect_camel_ContinueWithArgumentArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
7369 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
7370 ContinueWithArgumentArg_sequence, hf_index, ett_camel_ContinueWithArgumentArg);
7376 static const ber_sequence_t DisconnectLegArg_sequence[] = {
7377 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_legToBeReleased_impl },
7378 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_releaseCause_impl },
7379 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions1_impl },
7384 dissect_camel_DisconnectLegArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
7385 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
7386 DisconnectLegArg_sequence, hf_index, ett_camel_DisconnectLegArg);
7392 static const value_string camel_EntityReleasedArg_vals[] = {
7393 { 0, "callSegmentFailure" },
7394 { 1, "bCSM-Failure" },
7398 static const ber_choice_t EntityReleasedArg_choice[] = {
7399 { 0, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_callSegmentFailure_impl },
7400 { 1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_bCSM_Failure_impl },
7401 { 0, 0, 0, 0, NULL }
7405 dissect_camel_EntityReleasedArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
7406 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
7407 EntityReleasedArg_choice, hf_index, ett_camel_EntityReleasedArg,
7414 static const ber_sequence_t DisconnectForwardConnectionWithArgumentArg_sequence[] = {
7415 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_callSegmentID_impl },
7416 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions1_impl },
7421 dissect_camel_DisconnectForwardConnectionWithArgumentArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
7422 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
7423 DisconnectForwardConnectionWithArgumentArg_sequence, hf_index, ett_camel_DisconnectForwardConnectionWithArgumentArg);
7429 static const ber_sequence_t EstablishTemporaryConnectionArg_sequence[] = {
7430 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_assistingSSPIPRoutingAddress_impl },
7431 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_correlationID_impl },
7432 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_scfID_impl },
7433 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
7434 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_carrier_impl },
7435 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_serviceInteractionIndicatorsTwo_impl },
7436 { BER_CLASS_CON, 50, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_naOliInfo_impl },
7437 { BER_CLASS_CON, 51, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_chargeNumber_impl },
7438 { BER_CLASS_CON, 52, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_originalCalledPartyID_impl },
7439 { BER_CLASS_CON, 53, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_callingPartyNumber_impl },
7444 dissect_camel_EstablishTemporaryConnectionArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
7445 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
7446 EstablishTemporaryConnectionArg_sequence, hf_index, ett_camel_EstablishTemporaryConnectionArg);
7452 static const ber_sequence_t EventReportBCSMArg_sequence[] = {
7453 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_eventTypeBCSM_impl },
7454 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_eventSpecificInformationBCSM_impl },
7455 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_legID4_impl },
7456 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_miscCallInfo_impl },
7457 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
7462 dissect_camel_EventReportBCSMArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
7463 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
7464 EventReportBCSMArg_sequence, hf_index, ett_camel_EventReportBCSMArg);
7470 static const ber_sequence_t ResetTimerArg_sequence[] = {
7471 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_timerID_impl },
7472 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_timervalue_impl },
7473 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions1_impl },
7474 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_callSegmentID_impl },
7479 dissect_camel_ResetTimerArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
7480 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
7481 ResetTimerArg_sequence, hf_index, ett_camel_ResetTimerArg);
7487 static const ber_sequence_t SendChargingInformationArg_sequence[] = {
7488 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_sCIBillingChargingCharacteristics_impl },
7489 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_partyToCharge2_impl },
7490 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
7495 dissect_camel_SendChargingInformationArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
7496 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
7497 SendChargingInformationArg_sequence, hf_index, ett_camel_SendChargingInformationArg);
7503 static const ber_sequence_t SplitLegArg_sequence[] = {
7504 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_legToBeSplit_impl },
7505 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_newCallSegment_impl },
7506 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions1_impl },
7511 dissect_camel_SplitLegArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
7512 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
7513 SplitLegArg_sequence, hf_index, ett_camel_SplitLegArg);
7519 static const ber_sequence_t CAPGPRSReferenceNumber_sequence[] = {
7520 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL, dissect_destinationReference },
7521 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL, dissect_originationReference },
7526 dissect_camel_CAPGPRSReferenceNumber(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
7527 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
7528 CAPGPRSReferenceNumber_sequence, hf_index, ett_camel_CAPGPRSReferenceNumber);
7534 static const ber_sequence_t EventReportSMSArg_sequence[] = {
7535 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_eventTypeSMS_impl },
7536 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_eventSpecificInformationSMS_impl },
7537 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_miscCallInfo_impl },
7538 { BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
7543 dissect_camel_EventReportSMSArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
7544 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
7545 EventReportSMSArg_sequence, hf_index, ett_camel_EventReportSMSArg);
7551 static const ber_sequence_t SMSEventArray_sequence_of[1] = {
7552 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_SMSEventArray_item },
7556 dissect_camel_SMSEventArray(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
7557 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
7558 SMSEventArray_sequence_of, hf_index, ett_camel_SMSEventArray);
7562 static int dissect_sMSEvents_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
7563 return dissect_camel_SMSEventArray(TRUE, tvb, offset, pinfo, tree, hf_camel_sMSEvents);
7567 static const ber_sequence_t RequestReportSMSEventArg_sequence[] = {
7568 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_sMSEvents_impl },
7569 { BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
7574 dissect_camel_RequestReportSMSEventArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
7575 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
7576 RequestReportSMSEventArg_sequence, hf_index, ett_camel_RequestReportSMSEventArg);
7582 static const ber_sequence_t ResetTimerSMSArg_sequence[] = {
7583 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_timerID_impl },
7584 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_timervalue_impl },
7585 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
7590 dissect_camel_ResetTimerSMSArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
7591 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
7592 ResetTimerSMSArg_sequence, hf_index, ett_camel_ResetTimerSMSArg);
7598 static const ber_sequence_t BCSMEventArray_sequence_of[1] = {
7599 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_BCSMEventArray_item },
7603 dissect_camel_BCSMEventArray(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
7604 offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
7605 BCSMEventArray_sequence_of, hf_index, ett_camel_BCSMEventArray);
7609 static int dissect_bcsmEvents_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
7610 return dissect_camel_BCSMEventArray(TRUE, tvb, offset, pinfo, tree, hf_camel_bcsmEvents);
7614 static const ber_sequence_t RequestReportBCSMEventArg_sequence[] = {
7615 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_bcsmEvents_impl },
7616 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
7621 dissect_camel_RequestReportBCSMEventArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
7622 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
7623 RequestReportBCSMEventArg_sequence, hf_index, ett_camel_RequestReportBCSMEventArg);
7629 static const ber_sequence_t ConnectSMSArg_sequence[] = {
7630 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_callingPartysNumber_impl },
7631 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_destinationSubscriberNumber_impl },
7632 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_sMSCAddress_impl },
7633 { BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
7638 dissect_camel_ConnectSMSArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
7639 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
7640 ConnectSMSArg_sequence, hf_index, ett_camel_ConnectSMSArg);
7646 static const ber_sequence_t CallInformationReportArg_sequence[] = {
7647 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_requestedInformationList_impl },
7648 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
7649 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_legID5_impl },
7654 dissect_camel_CallInformationReportArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
7655 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
7656 CallInformationReportArg_sequence, hf_index, ett_camel_CallInformationReportArg);
7662 static const ber_sequence_t PlayAnnouncementArg_sequence[] = {
7663 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_informationToSend_impl },
7664 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_disconnectFromIPForbidden_impl },
7665 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_requestAnnouncementComplete_impl },
7666 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
7671 dissect_camel_PlayAnnouncementArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
7672 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
7673 PlayAnnouncementArg_sequence, hf_index, ett_camel_PlayAnnouncementArg);
7679 static const ber_sequence_t PromptAndCollectUserInformationArg_sequence[] = {
7680 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_collectedInfo_impl },
7681 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_disconnectFromIPForbidden_impl },
7682 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_informationToSend_impl },
7683 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
7688 dissect_camel_PromptAndCollectUserInformationArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
7689 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
7690 PromptAndCollectUserInformationArg_sequence, hf_index, ett_camel_PromptAndCollectUserInformationArg);
7696 static const ber_sequence_t InitialDPGPRSArg_sequence[] = {
7697 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_serviceKey_impl },
7698 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gPRSEventType_impl },
7699 { BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_mSISDN_impl },
7700 { BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_iMSI_impl },
7701 { BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_timeAndTimeZone_impl },
7702 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gPRSMSClass_impl },
7703 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_pDPType_impl },
7704 { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qualityOfService_impl },
7705 { BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_accessPointName_impl },
7706 { BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_routeingAreaIdentity_impl },
7707 { BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_chargingID_impl },
7708 { BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_sGSNCapabilities_impl },
7709 { BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_locationInformationGPRS_impl },
7710 { BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_pDPInitiationType_impl },
7711 { BER_CLASS_CON, 14, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
7712 { BER_CLASS_CON, 15, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gGSNAddress_impl },
7713 { BER_CLASS_CON, 16, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_secondaryPDPContext_impl },
7718 dissect_camel_InitialDPGPRSArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
7719 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
7720 InitialDPGPRSArg_sequence, hf_index, ett_camel_InitialDPGPRSArg);
7726 static const ber_sequence_t CallGapArg_sequence[] = {
7727 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_gapCriteria_impl },
7728 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_gapIndicators_impl },
7729 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_controlType_impl },
7730 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_gapTreatment_impl },
7731 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
7736 dissect_camel_CallGapArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
7737 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
7738 CallGapArg_sequence, hf_index, ett_camel_CallGapArg);
7744 static const ber_sequence_t InitialDPArg_sequence[] = {
7745 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_serviceKey_impl },
7746 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_calledPartyNumber_impl },
7747 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_callingPartyNumber_impl },
7748 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_callingPartysCategory_impl },
7749 { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_cGEncountered_impl },
7750 { BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_iPSSPCapabilities_impl },
7751 { BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_locationNumber_impl },
7752 { BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_originalCalledPartyID_impl },
7753 { BER_CLASS_CON, 15, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
7754 { BER_CLASS_CON, 23, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_highLayerCompatibility_impl },
7755 { BER_CLASS_CON, 25, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_additionalCallingPartyNumber_impl },
7756 { BER_CLASS_CON, 27, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_bearerCapability_impl },
7757 { BER_CLASS_CON, 28, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_eventTypeBCSM_impl },
7758 { BER_CLASS_CON, 29, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_redirectingPartyID_impl },
7759 { BER_CLASS_CON, 30, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_redirectionInformation_impl },
7760 { BER_CLASS_CON, 17, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_cause_impl },
7761 { BER_CLASS_CON, 32, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_serviceInteractionIndicatorsTwo_impl },
7762 { BER_CLASS_CON, 37, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_carrier_impl },
7763 { BER_CLASS_CON, 45, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_cug_Index_impl },
7764 { BER_CLASS_CON, 46, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_cug_Interlock_impl },
7765 { BER_CLASS_CON, 47, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_cug_OutgoingAccess_impl },
7766 { BER_CLASS_CON, 50, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_iMSI_impl },
7767 { BER_CLASS_CON, 51, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_subscriberState_impl },
7768 { BER_CLASS_CON, 52, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_locationInformation_impl },
7769 { BER_CLASS_CON, 53, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ext_basicServiceCode_impl },
7770 { BER_CLASS_CON, 54, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_callReferenceNumber_impl },
7771 { BER_CLASS_CON, 55, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mscAddress_impl },
7772 { BER_CLASS_CON, 56, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_calledPartyBCDNumber_impl },
7773 { BER_CLASS_CON, 57, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_timeAndTimezone_impl },
7774 { BER_CLASS_CON, 58, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_gsm_ForwardingPending_impl },
7775 { BER_CLASS_CON, 59, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_initialDPArgExtension_impl },
7780 dissect_camel_InitialDPArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
7781 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
7782 InitialDPArg_sequence, hf_index, ett_camel_InitialDPArg);
7788 static const ber_sequence_t InitialDPSMSArg_sequence[] = {
7789 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_serviceKey_impl },
7790 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_destinationSubscriberNumber_impl },
7791 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_callingPartyNumberas_impl },
7792 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_eventTypeSMS_impl },
7793 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_iMSI_impl },
7794 { BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_locationInformationMSC_impl },
7795 { BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_locationInformationGPRS_impl },
7796 { BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_sMSCAddress_impl },
7797 { BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_timeAndTimezone_impl },
7798 { BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_tPShortMessageSubmissionSpecificInfo_impl },
7799 { BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_tPProtocolIdentifier_impl },
7800 { BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_tPDataCodingScheme_impl },
7801 { BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_tPValidityPeriod_impl },
7802 { BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_extensions_impl },
7803 { BER_CLASS_CON, 14, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_smsReferenceNumber_impl },
7804 { BER_CLASS_CON, 15, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_mscAddress_impl },
7805 { BER_CLASS_CON, 16, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_sgsnNumber_impl },
7810 dissect_camel_InitialDPSMSArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
7811 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
7812 InitialDPSMSArg_sequence, hf_index, ett_camel_InitialDPSMSArg);
7820 dissect_camel_ReleaseSMSArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
7821 offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
7828 static const ber_sequence_t ApplyChargingGPRSArg_sequence[] = {
7829 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_chargingCharacteristics_impl },
7830 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_tariffSwitchInterval_impl },
7831 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_pDPID_impl },
7836 dissect_camel_ApplyChargingGPRSArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
7837 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
7838 ApplyChargingGPRSArg_sequence, hf_index, ett_camel_ApplyChargingGPRSArg);
7844 static const ber_sequence_t ApplyChargingReportGPRSArg_sequence[] = {
7845 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_chargingResult_impl },
7846 { BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_qualityOfService_impl },
7847 { BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_active_impl },
7848 { BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_pDPID_impl },
7849 { BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_chargingRollOver_impl },
7854 dissect_camel_ApplyChargingReportGPRSArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
7855 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
7856 ApplyChargingReportGPRSArg_sequence, hf_index, ett_camel_ApplyChargingReportGPRSArg);
7862 static const ber_sequence_t CancelGPRSArg_sequence[] = {
7863 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_pDPID_impl },
7868 dissect_camel_CancelGPRSArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
7869 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
7870 CancelGPRSArg_sequence, hf_index, ett_camel_CancelGPRSArg);
7876 static const ber_sequence_t ContinueGPRSArg_sequence[] = {
7877 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_pDPID_impl },
7882 dissect_camel_ContinueGPRSArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
7883 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
7884 ContinueGPRSArg_sequence, hf_index, ett_camel_ContinueGPRSArg);
7890 static const ber_sequence_t ResetTimerGPRSArg_sequence[] = {
7891 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_timerID_impl },
7892 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_timervalue_impl },
7897 dissect_camel_ResetTimerGPRSArg(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
7898 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
7899 ResetTimerGPRSArg_sequence, hf_index, ett_camel_ResetTimerGPRSArg);
7905 static const value_string camel_T_problem_vals[] = {
7906 { 0, "unknownOperation" },
7908 { 2, "operationNotCancellable" },
7914 dissect_camel_T_problem(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
7915 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
7920 static int dissect_problem_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
7921 return dissect_camel_T_problem(TRUE, tvb, offset, pinfo, tree, hf_camel_problem);
7925 static const ber_sequence_t CancelFailedPARAM_sequence[] = {
7926 { BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_problem_impl },
7927 { BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_operation_impl },
7932 dissect_camel_CancelFailedPARAM(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
7933 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
7934 CancelFailedPARAM_sequence, hf_index, ett_camel_CancelFailedPARAM);
7940 static const value_string camel_RequestedInfoErrorPARAM_vals[] = {
7941 { 1, "unknownRequestedInfo" },
7942 { 2, "requestedInfoNotAvailable" },
7948 dissect_camel_RequestedInfoErrorPARAM(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
7949 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
7956 static const value_string camel_TaskRefusedPARAM_vals[] = {
7958 { 1, "unobtainable" },
7959 { 2, "congestion" },
7965 dissect_camel_TaskRefusedPARAM(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
7966 offset = dissect_ber_integer(implicit_tag, pinfo, tree, tvb, offset, hf_index,
7973 /*--- End of included file: packet-camel-fn.c ---*/
7974 #line 187 "packet-camel-template.c"
7976 const value_string camel_opr_code_strings[] = {
7979 {16, "AssistRequestInstructions"},
7980 {17, "EstablishTemporaryConnection"},
7981 {18, "DisconnectForwardConnection"},
7982 {19, "ConnectToResource"},
7984 {22, "ReleaseCall"},
7985 {23, "RequestReportBCSMEvent"},
7986 {24, "EventReportBCSM"},
7988 {32, "InitiateCallAttempt"},
7990 {34, "FurnishChargingInformation"},
7991 {35, "ApplyCharging"},
7992 {36, "ApplyChargingReport"},
7994 {44, "CallInformationReport"},
7995 {45, "CallInformationRequest"},
7996 {46, "SendChargingInformation"},
7997 {47, "PlayAnnouncement"},
7998 {48, "PromptAndCollectUserInformation"},
7999 {49, "SpecializedResourceReport"},
8001 {55, "ActivityTest"},
8002 {56, "ContinueWithArgument"},
8003 {60, "InitialDPSMS"},
8004 {61, "FurnishChargingInformationSMS"},
8006 {63, "RequestReportSMSEvent"},
8007 {64, "EventReportSMS"},
8008 {65, "ContinueSMS"},
8010 {67, "ResetTimerSMS"},
8011 {70, "ActivityTestGPRS"},
8012 {71, "ApplyChargingGPRS"},
8013 {72, "ApplyChargingReportGPRS"},
8015 {74, "ConnectGPRS"},
8016 {75, "ContinueGPRS"},
8017 {76, "EntityReleasedGPRS"},
8018 {77, "FurnishChargingInformationGPRS"},
8019 {78, "InitialDPGPRS"},
8020 {79, "ReleaseGPRS"},
8021 {80, "EventReportGPRS"},
8022 {81, "RequestReportGPRSEvent"},
8023 {82, "ResetTimerGPRS"},
8024 {83, "SendChargingInformationGPRS"},
8025 {86, "DFCWithArgument"},
8026 {88, "ContinueWithArgument"},
8027 {90, "DisconnectLeg"},
8030 {96, "EntityReleased"},
8035 char camel_number_to_char(int number)
8038 return (char) (number + 48 ); /* this is ASCII specific */
8040 return (char) (number + 55 );
8043 static guint32 opcode=0;
8046 dissect_camel_Opcode(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index) {
8047 offset = dissect_ber_integer(FALSE, pinfo, tree, tvb, offset, hf_index, &opcode);
8049 if (check_col(pinfo->cinfo, COL_INFO)){
8050 /* Add Camel Opcode to INFO column */
8051 col_append_fstr(pinfo->cinfo, COL_INFO, val_to_str(opcode, camel_opr_code_strings, "Unknown Camel (%u)"));
8052 col_append_fstr(pinfo->cinfo, COL_INFO, " ");
8053 col_set_fence(pinfo->cinfo, COL_INFO);
8058 static int dissect_invokeData(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
8060 case 0: /*InitialDP*/
8061 offset=dissect_camel_InitialDPArg(FALSE, tvb, offset, pinfo, tree, -1);
8063 case 16: /*AssistRequestInstructions*/
8064 offset=dissect_camel_AssistRequestInstructionsArg(FALSE, tvb, offset, pinfo, tree, -1);
8066 case 17: /*EstablishTemporaryConnection*/
8067 offset=dissect_camel_EstablishTemporaryConnectionArg(FALSE, tvb, offset, pinfo, tree, -1);
8069 case 18: /*DisconnectForwardConnections*/
8070 proto_tree_add_text(tree, tvb, offset, -1, "Disconnect Forward Connection");
8072 case 19: /*ConnectToResource*/
8073 offset=dissect_camel_ConnectToResourceArg(FALSE, tvb, offset, pinfo, tree, -1);
8075 case 20: /*Connect*/
8076 offset=dissect_camel_ConnectArg(FALSE, tvb, offset, pinfo, tree, -1);
8078 case 22: /*releaseCall*/
8079 offset=dissect_camel_ReleaseCallArg(FALSE, tvb, offset, pinfo, tree, hf_camel_cause);
8081 case 23: /*RequestReportBCSMEvent*/
8082 offset=dissect_camel_RequestReportBCSMEventArg(FALSE, tvb, offset, pinfo, tree, -1);
8084 case 24: /*EventReportBCSM*/
8085 offset=dissect_camel_EventReportBCSMArg(FALSE, tvb, offset, pinfo, tree, -1);
8087 case 31: /*Continue*/
8088 /* Continue: no arguments - do nothing */
8090 case 32: /*initiateCallAttempt*/
8091 offset=dissect_camel_InitiateCallAttemptArg(FALSE, tvb, offset, pinfo, tree, -1);
8093 case 33: /*ResetTimer*/
8094 offset=dissect_camel_ResetTimerArg(FALSE, tvb, offset, pinfo, tree, -1);
8096 case 34: /*FurnishChargingInformation*/
8097 offset=dissect_camel_FurnishChargingInformationArg(FALSE, tvb, offset, pinfo, tree, -1);
8099 case 35: /*ApplyCharging*/
8100 offset=dissect_camel_ApplyChargingArg(FALSE, tvb, offset, pinfo, tree, -1);
8102 case 36: /*ApplyChargingReport*/
8103 offset=dissect_camel_ApplyChargingReportArg(TRUE, tvb, offset, pinfo, tree, -1);
8105 case 41: /*CallGap*/
8106 offset=dissect_camel_CallGapArg(FALSE, tvb, offset, pinfo, tree, -1);
8108 case 44: /*CallInformationReport*/
8109 offset=dissect_camel_CallInformationReportArg(FALSE, tvb, offset, pinfo, tree, -1);
8111 case 45: /*CallInformationRequest*/
8112 offset=dissect_camel_CallInformationRequestArg(FALSE, tvb, offset, pinfo, tree, -1);
8114 case 46: /*SendChargingInformation*/
8115 offset=dissect_camel_SendChargingInformationArg(FALSE, tvb, offset, pinfo, tree, -1);
8117 case 47: /*PlayAnnouncement*/
8118 offset=dissect_camel_PlayAnnouncementArg(FALSE, tvb, offset, pinfo, tree, -1);
8120 case 48: /*PromptAndCollectUserInformation*/
8121 offset=dissect_camel_PromptAndCollectUserInformationArg(FALSE, tvb, offset, pinfo, tree, -1);
8123 case 49: /*SpecializedResourceReport*/
8124 offset=dissect_camel_SpecializedResourceReportArg(FALSE, tvb, offset, pinfo, tree, -1);
8127 offset=dissect_camel_CancelArg(FALSE, tvb, offset, pinfo, tree, -1);
8129 case 56: /*ContinueWithArgument*/
8130 offset=dissect_camel_ContinueWithArgumentArg(FALSE, tvb, offset, pinfo, tree, -1);
8132 case 60: /*InitialDPSMS*/
8133 offset=dissect_camel_InitialDPSMSArg(FALSE, tvb, offset, pinfo, tree, -1);
8135 case 61: /*FurnishChargingInformationSMS*/
8136 offset=dissect_camel_FurnishChargingInformationSMSArg(FALSE, tvb, offset, pinfo, tree, -1);
8138 case 62: /*ConnectSMS*/
8139 offset=dissect_camel_ConnectSMSArg(FALSE, tvb, offset, pinfo, tree, -1);
8141 case 63: /*RequestReportSMSEvent*/
8142 offset=dissect_camel_RequestReportSMSEventArg(FALSE, tvb, offset, pinfo, tree, -1);
8144 case 64: /*EventReportSMS*/
8145 offset=dissect_camel_EventReportSMSArg(FALSE, tvb, offset, pinfo, tree, -1);
8147 case 65: /*ContinueSMS*/
8148 /* ContinueSMS: no arguments - do nothing */
8150 case 66: /*ReleaseSMS*/
8151 offset=dissect_camel_ReleaseSMSArg(FALSE, tvb, offset, pinfo, tree, -1);
8153 case 67: /*ResetTimerSMS*/
8154 offset=dissect_camel_ResetTimerSMSArg(FALSE, tvb, offset, pinfo, tree, -1);
8156 case 71: /*ApplyChargingGPRS*/
8157 offset=dissect_camel_ApplyChargingGPRSArg(FALSE, tvb, offset, pinfo, tree, -1);
8159 case 72: /*ApplyChargingReportGPRS*/
8160 offset=dissect_camel_ApplyChargingReportGPRSArg(FALSE, tvb, offset, pinfo, tree, -1);
8162 case 73: /*CancelGPRS*/
8163 offset=dissect_camel_CancelGPRSArg(FALSE, tvb, offset, pinfo, tree, -1);
8165 case 74: /*ConnectGPRS*/
8166 offset=dissect_camel_ConnectGPRSArg(FALSE, tvb, offset, pinfo, tree, -1);
8168 case 75: /*ContinueGPRS*/
8169 offset=dissect_camel_ContinueGPRSArg(FALSE, tvb, offset, pinfo, tree, -1);
8171 case 76: /*EntityReleasedGPRS*/
8172 offset=dissect_camel_EntityReleasedGPRSArg(FALSE, tvb, offset, pinfo, tree, -1);
8174 case 77: /*FurnishChargingInformationGPRS*/
8175 offset=dissect_camel_FurnishChargingInformationGPRSArg(FALSE, tvb, offset, pinfo, tree, -1);
8177 case 78: /*InitialDPGPRS*/
8178 offset=dissect_camel_InitialDPGPRSArg(FALSE, tvb, offset, pinfo, tree, -1);
8180 case 79: /*ReleaseGPRS*/
8181 offset=dissect_camel_ReleaseGPRSArg(FALSE, tvb, offset, pinfo, tree, -1);
8183 case 80: /*EventReportGPRS*/
8184 offset=dissect_camel_EventReportGPRSArg(FALSE, tvb, offset, pinfo, tree, -1);
8186 case 81: /*RequestReportGPRSEvent*/
8187 offset=dissect_camel_RequestReportGPRSEventArg(FALSE, tvb, offset, pinfo, tree, -1);
8189 case 82: /*ResetTimerGPRS*/
8190 offset=dissect_camel_ResetTimerGPRSArg(FALSE, tvb, offset, pinfo, tree, -1);
8192 case 83: /*SendChargingInformationGPRS*/
8193 offset=dissect_camel_SendChargingInformationGPRSArg(FALSE, tvb, offset, pinfo, tree, -1);
8195 case 86: /*DFCWithArgument*/
8196 offset= dissect_camel_DisconnectForwardConnectionWithArgumentArg(FALSE, tvb, offset, pinfo, tree, -1);
8198 case 88: /*ContinueWithArgument*/
8199 /* XXX Same as opcode 56 ??? */
8200 offset= dissect_camel_ContinueWithArgumentArg(FALSE, tvb, offset, pinfo, tree, -1);
8202 case 90: /*DisconnectLeg*/
8203 offset= dissect_camel_DisconnectLegArg(FALSE, tvb, offset, pinfo, tree, -1);
8205 case 93: /*MoveLeg*/
8206 offset= dissect_camel_MoveLegArg(FALSE, tvb, offset, pinfo, tree, -1);
8208 case 95: /*SplitLeg*/
8209 offset= dissect_camel_SplitLegArg(FALSE, tvb, offset, pinfo, tree, -1);
8211 case 96: /*EntityReleased*/
8212 offset= dissect_camel_EntityReleasedArg(FALSE, tvb, offset, pinfo, tree, -1);
8214 case 97: /*PlayTone*/
8215 offset= dissect_camel_PlayToneArg(FALSE, tvb, offset, pinfo, tree, -1);
8218 proto_tree_add_text(tree, tvb, offset, -1, "Unknown invokeData blob");
8219 /* todo call the asn.1 dissector */
8225 static int dissect_returnResultData(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
8227 case 32: /*initiateCallAttempt*/
8228 offset=dissect_camel_InitiateCallAttemptRes(FALSE, tvb, offset, pinfo, tree, -1);
8230 case 48: /*PromptAndCollectUserInformation*/
8231 offset=dissect_camel_ReceivedInformationArg(FALSE, tvb, offset, pinfo, tree, -1);
8233 case 55: /*ActivityTest*/
8234 /* ActivityTest: no arguments - do nothing */
8236 case 70: /*ActivityTestGPRS*/
8237 /* ActivityTestGPRS: no arguments - do nothing */
8240 proto_tree_add_text(tree, tvb, offset, -1, "Unknown returnResultData blob");
8246 dissect_invokeCmd(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
8247 return dissect_camel_Opcode(FALSE, tvb, offset, pinfo, tree, hf_camel_invokeCmd);
8250 static int dissect_invokeid(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
8251 return dissect_ber_integer(FALSE, pinfo, tree, tvb, offset, hf_camel_invokeid, NULL);
8255 static const value_string InvokeId_vals[] = {
8261 static int dissect_absent(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
8262 return dissect_camel_NULL(FALSE, tvb, offset, pinfo, tree, hf_camel_absent);
8265 static const ber_choice_t InvokeId_choice[] = {
8266 { 0, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_invokeid },
8267 { 1, BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_absent },
8268 { 0, 0, 0, 0, NULL }
8272 dissect_camel_InvokeId(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index) {
8273 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
8274 InvokeId_choice, hf_index, ett_camel_InvokeId, NULL);
8278 static int dissect_invokeId(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
8279 return dissect_camel_InvokeId(FALSE, tvb, offset, pinfo, tree, hf_camel_invokeId);
8281 static int dissect_linkedID_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
8282 return dissect_ber_integer(TRUE, pinfo, tree, tvb, offset, hf_camel_linkedID, NULL);
8285 static const ber_sequence_t InvokePDU_sequence[] = {
8286 { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_invokeId },
8287 { BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_linkedID_impl },
8288 { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_invokeCmd },
8289 { BER_CLASS_UNI, -1/*depends on Cmd*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_invokeData },
8294 dissect_camel_InvokePDU(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index) {
8295 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
8296 InvokePDU_sequence, hf_index, ett_camel_InvokePDU);
8300 static int dissect_invoke_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
8301 return dissect_camel_InvokePDU(TRUE, tvb, offset, pinfo, tree, hf_camel_invoke);
8304 static const ber_sequence_t ReturnResult_result_sequence[] = {
8305 { BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_invokeCmd },
8306 { BER_CLASS_UNI, -1/*depends on Cmd*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_returnResultData },
8310 dissect_returnResult_result(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
8311 offset = dissect_ber_sequence(FALSE, pinfo, tree, tvb, offset,
8312 ReturnResult_result_sequence, hf_camel_returnResult_result, ett_camel_ReturnResult_result);
8317 static const ber_sequence_t ReturnResultPDU_sequence[] = {
8318 { BER_CLASS_UNI, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_invokeId },
8319 { BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_returnResult_result },
8324 dissect_camel_returnResultPDU(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index) {
8325 offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
8326 ReturnResultPDU_sequence, hf_index, ett_camel_ReturnResultPDU);
8330 static int dissect_returnResult_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
8331 return dissect_camel_returnResultPDU(TRUE, tvb, offset, pinfo, tree, hf_camel_returnResult);
8334 static const value_string camelPDU_vals[] = {
8336 { 2, "ReturnResult " },
8337 { 3, "ReturnError " },
8342 static const ber_choice_t camelPDU_choice[] = {
8343 { 1, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_invoke_impl },
8344 { 2, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_returnResult_impl },
8346 { 3, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_returnError_impl },
8347 { 4, BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_reject_impl },
8349 { 0, 0, 0, 0, NULL }
8352 static guint8 camel_pdu_type = 0;
8353 static guint8 camel_pdu_size = 0;
8356 dissect_camel_camelPDU(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index) {
8361 application_context_version = 0;
8362 if (pinfo->private_data != NULL){
8363 version_ptr = strrchr(pinfo->private_data,'.');
8365 application_context_version = atoi(version_ptr+1);
8369 camel_pdu_type = tvb_get_guint8(tvb, offset)&0x0f;
8370 /* Get the length and add 2 */
8371 camel_pdu_size = tvb_get_guint8(tvb, offset+1)+2;
8373 if (check_col(pinfo->cinfo, COL_INFO)){
8374 /* Populate the info column with PDU type*/
8375 col_set_str(pinfo->cinfo, COL_INFO, val_to_str(camel_pdu_type, camelPDU_vals, "Unknown Camel (%u)"));
8378 offset = dissect_ber_choice(pinfo, tree, tvb, offset,
8379 camelPDU_choice, hf_index, ett_camel_camelPDU, NULL);
8385 dissect_camel(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree)
8387 proto_item *item=NULL;
8388 proto_tree *tree=NULL;
8390 if (check_col(pinfo->cinfo, COL_PROTOCOL)) {
8391 col_set_str(pinfo->cinfo, COL_PROTOCOL, "Camel");
8394 /* create display subtree for the protocol */
8396 item = proto_tree_add_item(parent_tree, proto_camel, tvb, 0, -1, FALSE);
8397 tree = proto_item_add_subtree(item, ett_camel);
8400 dissect_camel_camelPDU(FALSE, tvb, 0, pinfo, tree, -1);
8404 /*--- proto_reg_handoff_camel ---------------------------------------*/
8405 static void range_delete_callback(guint32 ssn)
8408 delete_itu_tcap_subdissector(ssn, camel_handle);
8412 static void range_add_callback(guint32 ssn)
8415 add_itu_tcap_subdissector(ssn, camel_handle);
8419 void proto_reg_handoff_camel(void) {
8421 static int camel_prefs_initialized = FALSE;
8423 if (!camel_prefs_initialized) {
8424 camel_prefs_initialized = TRUE;
8425 camel_handle = create_dissector_handle(dissect_camel, proto_camel);
8427 range_foreach(ssn_range, range_delete_callback);
8431 ssn_range = range_copy(global_ssn_range);
8433 range_foreach(ssn_range, range_add_callback);
8437 void proto_register_camel(void) {
8438 module_t *camel_module;
8439 /* List of fields */
8440 static hf_register_info hf[] = {
8441 { &hf_camel_cause_indicator, /* Currently not enabled */
8442 { "Cause indicator", "camel.cause_indicator",
8443 FT_UINT8, BASE_DEC, VALS(q850_cause_code_vals), 0x7f,
8445 { &hf_camel_invokeCmd,
8446 { "invokeCmd", "camel.invokeCmd",
8447 FT_UINT32, BASE_DEC, VALS(camel_opr_code_strings), 0,
8448 "InvokePDU/invokeCmd", HFILL }},
8449 { &hf_camel_invokeid,
8450 { "invokeid", "camel.invokeid",
8451 FT_INT32, BASE_DEC, NULL, 0,
8452 "InvokeId/invokeid", HFILL }},
8453 { &hf_camel_linkedID,
8454 { "linkedid", "camel.linkedid",
8455 FT_INT32, BASE_DEC, NULL, 0,
8456 "LinkedId/linkedid", HFILL }},
8459 { "absent", "camel.absent",
8460 FT_NONE, BASE_NONE, NULL, 0,
8461 "InvokeId/absent", HFILL }},
8462 { &hf_camel_invokeId,
8463 { "invokeId", "camel.invokeId",
8464 FT_UINT32, BASE_DEC, VALS(InvokeId_vals), 0,
8465 "InvokePDU/invokeId", HFILL }},
8467 { "invoke", "camel.invoke",
8468 FT_NONE, BASE_NONE, NULL, 0,
8469 "camelPDU/invoke", HFILL }},
8470 { &hf_camel_returnResult,
8471 { "returnResult", "camel.returnResult",
8472 FT_NONE, BASE_NONE, NULL, 0,
8473 "camelPDU/returnResult", HFILL }},
8474 { &hf_camel_imsi_digits,
8475 { "Imsi digits", "camel.imsi_digits",
8476 FT_STRING, BASE_NONE, NULL, 0,
8477 "Imsi digits", HFILL }},
8478 { &hf_camel_addr_extension,
8479 { "Extension", "camel.addr_extension",
8480 FT_BOOLEAN, 8, TFS(&camel_extension_value), 0x80,
8481 "Extension", HFILL }},
8482 { &hf_camel_addr_natureOfAddressIndicator,
8483 { "Nature of address", "camel.addr_nature_of_addr",
8484 FT_UINT8, BASE_HEX, VALS(camel_nature_of_addr_indicator_values), 0x70,
8485 "Nature of address", HFILL }},
8486 { &hf_camel_addr_numberingPlanInd,
8487 { "Numbering plan indicator", "camel.addr_numbering_plan",
8488 FT_UINT8, BASE_HEX, VALS(camel_number_plan_values), 0x0f,
8489 "Numbering plan indicator", HFILL }},
8490 { &hf_camel_addr_digits,
8491 { "Address digits", "camel.address_digits",
8492 FT_STRING, BASE_NONE, NULL, 0,
8493 "Address digits", HFILL }},
8495 { "Digit Value", "camel.digit_value",
8496 FT_UINT8, BASE_DEC, VALS(digit_value), 0, "Digit Value", HFILL }},
8497 { &hf_camel_PDPTypeNumber_etsi,
8498 { "ETSI defined PDP Type Value", "camel.PDPTypeNumber_etsi",
8499 FT_UINT8, BASE_HEX, VALS(gsm_map_etsi_defined_pdp_vals), 0,
8500 "ETSI defined PDP Type Value", HFILL }},
8501 { &hf_camel_PDPTypeNumber_ietf,
8502 { "IETF defined PDP Type Value", "camel.PDPTypeNumber_ietf",
8503 FT_UINT8, BASE_HEX, VALS(gsm_map_ietf_defined_pdp_vals), 0,
8504 "IETF defined PDP Type Value", HFILL }},
8505 { &hf_camel_PDPAddress_IPv4,
8506 { "PDPAddress IPv4", "camel.PDPAddress_IPv4",
8507 FT_IPv4, BASE_NONE, NULL, 0,
8508 "IPAddress IPv4", HFILL }},
8509 { &hf_camel_PDPAddress_IPv6,
8510 { "PDPAddress IPv6", "camel.PDPAddress_IPv6",
8511 FT_IPv6, BASE_NONE, NULL, 0,
8512 "IPAddress IPv6", HFILL }},
8513 { &hf_camel_cellGlobalIdOrServiceAreaIdFixedLength,
8514 { "CellGlobalIdOrServiceAreaIdFixedLength", "camel.CellGlobalIdOrServiceAreaIdFixedLength",
8515 FT_BYTES, BASE_HEX, NULL, 0,
8516 "LocationInformationGPRS/CellGlobalIdOrServiceAreaIdOrLAI", HFILL }},
8521 /*--- Included file: packet-camel-hfarr.c ---*/
8522 #line 1 "packet-camel-hfarr.c"
8523 { &hf_camel_reserved,
8524 { "reserved", "camel.reserved",
8525 FT_INT32, BASE_DEC, NULL, 0,
8526 "camel.INTEGER", HFILL }},
8528 { "aoc", "camel.aoc",
8529 FT_INT32, BASE_DEC, NULL, 0,
8530 "camel.INTEGER", HFILL }},
8531 { &hf_camel_standardPartEnd,
8532 { "standardPartEnd", "camel.standardPartEnd",
8533 FT_INT32, BASE_DEC, NULL, 0,
8534 "camel.INTEGER", HFILL }},
8535 { &hf_camel_genOfVoiceAnn,
8536 { "genOfVoiceAnn", "camel.genOfVoiceAnn",
8537 FT_INT32, BASE_DEC, NULL, 0,
8538 "camel.INTEGER", HFILL }},
8539 { &hf_camel_voiceInfo2,
8540 { "voiceInfo2", "camel.voiceInfo2",
8541 FT_INT32, BASE_DEC, NULL, 0,
8542 "camel.INTEGER", HFILL }},
8543 { &hf_camel_voiceInfo1,
8544 { "voiceInfo1", "camel.voiceInfo1",
8545 FT_INT32, BASE_DEC, NULL, 0,
8546 "camel.INTEGER", HFILL }},
8547 { &hf_camel_voiceBack1,
8548 { "voiceBack1", "camel.voiceBack1",
8549 FT_INT32, BASE_DEC, NULL, 0,
8550 "camel.INTEGER", HFILL }},
8551 { &hf_camel_iPRoutAdd,
8552 { "iPRoutAdd", "camel.iPRoutAdd",
8553 FT_INT32, BASE_DEC, NULL, 0,
8554 "camel.INTEGER", HFILL }},
8555 { &hf_camel_bilateralPart,
8556 { "bilateralPart", "camel.bilateralPart",
8557 FT_BYTES, BASE_HEX, NULL, 0,
8558 "camel.OCTET_STRING_SIZE_0_3", HFILL }},
8559 { &hf_camel_extension,
8560 { "extension", "camel.extension",
8561 FT_UINT32, BASE_DEC, NULL, 0,
8562 "camel.INTEGER_1", HFILL }},
8563 { &hf_camel_natureOfAddressIndicator,
8564 { "natureOfAddressIndicator", "camel.natureOfAddressIndicator",
8565 FT_INT32, BASE_DEC, NULL, 0,
8566 "camel.INTEGER", HFILL }},
8567 { &hf_camel_numberingPlanInd,
8568 { "numberingPlanInd", "camel.numberingPlanInd",
8569 FT_INT32, BASE_DEC, NULL, 0,
8570 "camel.INTEGER", HFILL }},
8571 { &hf_camel_digits1,
8572 { "digits1", "camel.digits1",
8573 FT_BYTES, BASE_HEX, NULL, 0,
8574 "camel.OCTET_STRING_SIZE_0_19", HFILL }},
8575 { &hf_camel_digits2,
8576 { "digits2", "camel.digits2",
8577 FT_BYTES, BASE_HEX, NULL, 0,
8578 "camel.OCTET_STRING_SIZE_0_8", HFILL }},
8579 { &hf_camel_typeOfShape,
8580 { "typeOfShape", "camel.typeOfShape",
8581 FT_INT32, BASE_DEC, NULL, 0,
8582 "camel.INTEGER", HFILL }},
8584 { "spare3", "camel.spare3",
8585 FT_INT32, BASE_DEC, NULL, 0,
8586 "camel.INTEGER", HFILL }},
8587 { &hf_camel_degreesOfLatitude,
8588 { "degreesOfLatitude", "camel.degreesOfLatitude",
8589 FT_BYTES, BASE_HEX, NULL, 0,
8590 "camel.OCTET_STRING_SIZE_3", HFILL }},
8591 { &hf_camel_degreesOfLongitude,
8592 { "degreesOfLongitude", "camel.degreesOfLongitude",
8593 FT_BYTES, BASE_HEX, NULL, 0,
8594 "camel.OCTET_STRING_SIZE_3", HFILL }},
8595 { &hf_camel_uncertaintyCode,
8596 { "uncertaintyCode", "camel.uncertaintyCode",
8597 FT_BYTES, BASE_HEX, NULL, 0,
8598 "camel.OCTET_STRING_SIZE_1", HFILL }},
8599 { &hf_camel_typeOfAddress,
8600 { "typeOfAddress", "camel.typeOfAddress",
8601 FT_INT32, BASE_DEC, NULL, 0,
8602 "camel.INTEGER", HFILL }},
8603 { &hf_camel_addressLength,
8604 { "addressLength", "camel.addressLength",
8605 FT_UINT32, BASE_DEC, NULL, 0,
8606 "camel.INTEGER_4_16", HFILL }},
8607 { &hf_camel_address,
8608 { "address", "camel.address",
8609 FT_BYTES, BASE_HEX, NULL, 0,
8610 "camel.OCTET_STRING_SIZE_4_16", HFILL }},
8611 { &hf_camel_originalReasons,
8612 { "originalReasons", "camel.originalReasons",
8613 FT_INT32, BASE_DEC, NULL, 0,
8614 "camel.INTEGER", HFILL }},
8616 { "spare4", "camel.spare4",
8617 FT_UINT32, BASE_DEC, NULL, 0,
8618 "camel.INTEGER_0", HFILL }},
8619 { &hf_camel_indicator,
8620 { "indicator", "camel.indicator",
8621 FT_INT32, BASE_DEC, NULL, 0,
8622 "camel.INTEGER", HFILL }},
8624 { "reason", "camel.reason",
8625 FT_INT32, BASE_DEC, NULL, 0,
8626 "camel.INTEGER", HFILL }},
8628 { "spare2", "camel.spare2",
8629 FT_UINT32, BASE_DEC, NULL, 0,
8630 "camel.INTEGER_0", HFILL }},
8631 { &hf_camel_counter,
8632 { "counter", "camel.counter",
8633 FT_INT32, BASE_DEC, NULL, 0,
8634 "camel.INTEGER", HFILL }},
8635 { &hf_camel_oddEven,
8636 { "oddEven", "camel.oddEven",
8637 FT_INT32, BASE_DEC, NULL, 0,
8638 "camel.INTEGER", HFILL }},
8640 { "innInd", "camel.innInd",
8641 FT_INT32, BASE_DEC, NULL, 0,
8642 "camel.INTEGER", HFILL }},
8644 { "spare5", "camel.spare5",
8645 FT_UINT32, BASE_DEC, NULL, 0,
8646 "camel.INTEGER_0", HFILL }},
8647 { &hf_camel_digits3,
8648 { "digits3", "camel.digits3",
8649 FT_BYTES, BASE_HEX, NULL, 0,
8650 "camel.OCTET_STRING_SIZE_0_16", HFILL }},
8652 { "niInd", "camel.niInd",
8653 FT_INT32, BASE_DEC, NULL, 0,
8654 "camel.INTEGER", HFILL }},
8655 { &hf_camel_presentInd,
8656 { "presentInd", "camel.presentInd",
8657 FT_INT32, BASE_DEC, NULL, 0,
8658 "camel.INTEGER", HFILL }},
8659 { &hf_camel_screening,
8660 { "screening", "camel.screening",
8661 FT_INT32, BASE_DEC, NULL, 0,
8662 "camel.INTEGER", HFILL }},
8663 { &hf_camel_digits4,
8664 { "digits4", "camel.digits4",
8665 FT_BYTES, BASE_HEX, NULL, 0,
8666 "camel.OCTET_STRING_SIZE_0_8", HFILL }},
8668 { "spare6", "camel.spare6",
8669 FT_UINT32, BASE_DEC, NULL, 0,
8670 "camel.INTEGER_0", HFILL }},
8671 { &hf_camel_digits5,
8672 { "digits5", "camel.digits5",
8673 FT_BYTES, BASE_HEX, NULL, 0,
8674 "camel.OCTET_STRING_SIZE_1_10", HFILL }},
8676 { "o1ext", "camel.o1ext",
8677 FT_UINT32, BASE_DEC, NULL, 0,
8678 "camel.INTEGER_1", HFILL }},
8679 { &hf_camel_codingStandard,
8680 { "codingStandard", "camel.codingStandard",
8681 FT_INT32, BASE_DEC, NULL, 0,
8682 "camel.INTEGER", HFILL }},
8683 { &hf_camel_spare77,
8684 { "spare77", "camel.spare77",
8685 FT_UINT32, BASE_DEC, NULL, 0,
8686 "camel.INTEGER_0", HFILL }},
8687 { &hf_camel_location,
8688 { "location", "camel.location",
8689 FT_INT32, BASE_DEC, NULL, 0,
8690 "camel.INTEGER", HFILL }},
8692 { "o2ext", "camel.o2ext",
8693 FT_UINT32, BASE_DEC, NULL, 0,
8694 "camel.INTEGER_1", HFILL }},
8695 { &hf_camel_causeValue,
8696 { "causeValue", "camel.causeValue",
8697 FT_INT32, BASE_DEC, NULL, 0,
8698 "camel.INTEGER", HFILL }},
8699 { &hf_camel_diagnostics,
8700 { "diagnostics", "camel.diagnostics",
8701 FT_BYTES, BASE_HEX, NULL, 0,
8702 "camel.OCTET_STRING_SIZE_0_30", HFILL }},
8703 { &hf_camel_numberQualifierIndicator,
8704 { "numberQualifierIndicator", "camel.numberQualifierIndicator",
8705 FT_INT32, BASE_DEC, NULL, 0,
8706 "camel.INTEGER", HFILL }},
8707 { &hf_camel_digits6,
8708 { "digits6", "camel.digits6",
8709 FT_BYTES, BASE_HEX, NULL, 0,
8710 "camel.OCTET_STRING_SIZE_0_8", HFILL }},
8711 { &hf_camel_digits7,
8712 { "digits7", "camel.digits7",
8713 FT_BYTES, BASE_HEX, NULL, 0,
8714 "camel.OCTET_STRING_SIZE_0_8", HFILL }},
8716 { "ext", "camel.ext",
8717 FT_INT32, BASE_DEC, NULL, 0,
8718 "camel.INTEGER", HFILL }},
8719 { &hf_camel_typeOfNumber,
8720 { "typeOfNumber", "camel.typeOfNumber",
8721 FT_UINT32, BASE_DEC, VALS(camel_T_typeOfNumber_vals), 0,
8722 "camel.T_typeOfNumber", HFILL }},
8723 { &hf_camel_digits8,
8724 { "digits8", "camel.digits8",
8725 FT_BYTES, BASE_HEX, NULL, 0,
8726 "camel.OCTET_STRING_SIZE_0_40", HFILL }},
8727 { &hf_camel_actimeDurationCharging,
8728 { "actimeDurationCharging", "camel.actimeDurationCharging",
8729 FT_NONE, BASE_NONE, NULL, 0,
8730 "camel.T_actimeDurationCharging", HFILL }},
8731 { &hf_camel_maxCallPeriodDuration,
8732 { "maxCallPeriodDuration", "camel.maxCallPeriodDuration",
8733 FT_UINT32, BASE_DEC, NULL, 0,
8734 "camel.INTEGER_1_864000", HFILL }},
8735 { &hf_camel_releaseIfdurationExceeded,
8736 { "releaseIfdurationExceeded", "camel.releaseIfdurationExceeded",
8737 FT_BOOLEAN, 8, NULL, 0,
8738 "camel.BOOLEAN", HFILL }},
8739 { &hf_camel_tariffSwitchInterval,
8740 { "tariffSwitchInterval", "camel.tariffSwitchInterval",
8741 FT_UINT32, BASE_DEC, NULL, 0,
8742 "camel.INTEGER_1_86400", HFILL }},
8744 { "actone", "camel.actone",
8745 FT_BOOLEAN, 8, NULL, 0,
8746 "camel.BOOLEAN", HFILL }},
8747 { &hf_camel_extensions,
8748 { "extensions", "camel.extensions",
8749 FT_UINT32, BASE_DEC, NULL, 0,
8750 "camel.ExtensionsArray", HFILL }},
8752 { "legID", "camel.legID",
8753 FT_UINT32, BASE_DEC, VALS(camel_LegID_vals), 0,
8754 "camel.LegID", HFILL }},
8755 { &hf_camel_srfConnection,
8756 { "srfConnection", "camel.srfConnection",
8757 FT_UINT32, BASE_DEC, NULL, 0,
8758 "camel.CallSegmentID", HFILL }},
8759 { &hf_camel_aOCInitial,
8760 { "aOCInitial", "camel.aOCInitial",
8761 FT_NONE, BASE_NONE, NULL, 0,
8762 "camel.CAI_Gsm0224", HFILL }},
8763 { &hf_camel_aOCSubsequent,
8764 { "aOCSubsequent", "camel.aOCSubsequent",
8765 FT_NONE, BASE_NONE, NULL, 0,
8766 "camel.AOCSubsequent", HFILL }},
8767 { &hf_camel_cAI_GSM0224,
8768 { "cAI-GSM0224", "camel.cAI_GSM0224",
8769 FT_NONE, BASE_NONE, NULL, 0,
8770 "camel.CAI_Gsm0224", HFILL }},
8772 { "tone", "camel.tone",
8773 FT_BOOLEAN, 8, NULL, 0,
8774 "camel.BOOLEAN", HFILL }},
8775 { &hf_camel_burstList,
8776 { "burstList", "camel.burstList",
8777 FT_NONE, BASE_NONE, NULL, 0,
8778 "camel.BurstList", HFILL }},
8779 { &hf_camel_conferenceTreatmentIndicator,
8780 { "conferenceTreatmentIndicator", "camel.conferenceTreatmentIndicator",
8781 FT_BYTES, BASE_HEX, NULL, 0,
8782 "camel.OCTET_STRING_SIZE_1", HFILL }},
8783 { &hf_camel_callCompletionTreatmentIndicator,
8784 { "callCompletionTreatmentIndicator", "camel.callCompletionTreatmentIndicator",
8785 FT_BYTES, BASE_HEX, NULL, 0,
8786 "camel.OCTET_STRING_SIZE_1", HFILL }},
8787 { &hf_camel_calledAddressValue,
8788 { "calledAddressValue", "camel.calledAddressValue",
8789 FT_BYTES, BASE_HEX, NULL, 0,
8790 "camel.Digits", HFILL }},
8791 { &hf_camel_gapOnService,
8792 { "gapOnService", "camel.gapOnService",
8793 FT_NONE, BASE_NONE, NULL, 0,
8794 "camel.GapOnService", HFILL }},
8795 { &hf_camel_calledAddressAndService,
8796 { "calledAddressAndService", "camel.calledAddressAndService",
8797 FT_NONE, BASE_NONE, NULL, 0,
8798 "camel.T_calledAddressAndService", HFILL }},
8799 { &hf_camel_serviceKey,
8800 { "serviceKey", "camel.serviceKey",
8801 FT_UINT32, BASE_DEC, NULL, 0,
8802 "camel.ServiceKey", HFILL }},
8803 { &hf_camel_callingAddressAndService,
8804 { "callingAddressAndService", "camel.callingAddressAndService",
8805 FT_NONE, BASE_NONE, NULL, 0,
8806 "camel.T_callingAddressAndService", HFILL }},
8807 { &hf_camel_callingAddressValue,
8808 { "callingAddressValue", "camel.callingAddressValue",
8809 FT_BYTES, BASE_HEX, NULL, 0,
8810 "camel.Digits", HFILL }},
8811 { &hf_camel_eventTypeBCSM,
8812 { "eventTypeBCSM", "camel.eventTypeBCSM",
8813 FT_UINT32, BASE_DEC, VALS(camel_EventTypeBCSM_vals), 0,
8814 "camel.EventTypeBCSM", HFILL }},
8815 { &hf_camel_monitorMode,
8816 { "monitorMode", "camel.monitorMode",
8817 FT_UINT32, BASE_DEC, VALS(camel_MonitorMode_vals), 0,
8818 "camel.MonitorMode", HFILL }},
8820 { "legID6", "camel.legID6",
8821 FT_UINT32, BASE_DEC, VALS(camel_LegID_vals), 0,
8822 "camel.LegID", HFILL }},
8823 { &hf_camel_dpSpecificCriteria,
8824 { "dpSpecificCriteria", "camel.dpSpecificCriteria",
8825 FT_UINT32, BASE_DEC, VALS(camel_DpSpecificCriteria_vals), 0,
8826 "camel.DpSpecificCriteria", HFILL }},
8827 { &hf_camel_automaticRearm,
8828 { "automaticRearm", "camel.automaticRearm",
8829 FT_NONE, BASE_NONE, NULL, 0,
8830 "camel.NULL", HFILL }},
8832 { "cause", "camel.cause",
8833 FT_BYTES, BASE_HEX, NULL, 0,
8834 "camel.Cause", HFILL }},
8835 { &hf_camel_bearerCap,
8836 { "bearerCap", "camel.bearerCap",
8837 FT_BYTES, BASE_HEX, NULL, 0,
8838 "camel.BearerCap", HFILL }},
8839 { &hf_camel_numberOfBursts,
8840 { "numberOfBursts", "camel.numberOfBursts",
8841 FT_UINT32, BASE_DEC, NULL, 0,
8842 "camel.INTEGER_1_3", HFILL }},
8843 { &hf_camel_burstInterval,
8844 { "burstInterval", "camel.burstInterval",
8845 FT_UINT32, BASE_DEC, NULL, 0,
8846 "camel.INTEGER_1_1200", HFILL }},
8847 { &hf_camel_numberOfTonesInBurst,
8848 { "numberOfTonesInBurst", "camel.numberOfTonesInBurst",
8849 FT_UINT32, BASE_DEC, NULL, 0,
8850 "camel.INTEGER_1_3", HFILL }},
8851 { &hf_camel_toneDuration,
8852 { "toneDuration", "camel.toneDuration",
8853 FT_UINT32, BASE_DEC, NULL, 0,
8854 "camel.INTEGER_1_20", HFILL }},
8855 { &hf_camel_toneInterval,
8856 { "toneInterval", "camel.toneInterval",
8857 FT_UINT32, BASE_DEC, NULL, 0,
8858 "camel.INTEGER_1_20", HFILL }},
8859 { &hf_camel_warningPeriod,
8860 { "warningPeriod", "camel.warningPeriod",
8861 FT_UINT32, BASE_DEC, NULL, 0,
8862 "camel.INTEGER_1_1200", HFILL }},
8864 { "bursts", "camel.bursts",
8865 FT_NONE, BASE_NONE, NULL, 0,
8866 "camel.Burst", HFILL }},
8869 FT_UINT32, BASE_DEC, NULL, 0,
8870 "camel.INTEGER_0_8191", HFILL }},
8873 FT_UINT32, BASE_DEC, NULL, 0,
8874 "camel.INTEGER_0_8191", HFILL }},
8877 FT_UINT32, BASE_DEC, NULL, 0,
8878 "camel.INTEGER_0_8191", HFILL }},
8881 FT_UINT32, BASE_DEC, NULL, 0,
8882 "camel.INTEGER_0_8191", HFILL }},
8885 FT_UINT32, BASE_DEC, NULL, 0,
8886 "camel.INTEGER_0_8191", HFILL }},
8889 FT_UINT32, BASE_DEC, NULL, 0,
8890 "camel.INTEGER_0_8191", HFILL }},
8893 FT_UINT32, BASE_DEC, NULL, 0,
8894 "camel.INTEGER_0_8191", HFILL }},
8895 { &hf_camel_callSegmentID,
8896 { "callSegmentID", "camel.callSegmentID",
8897 FT_UINT32, BASE_DEC, NULL, 0,
8898 "camel.CallSegmentID", HFILL }},
8899 { &hf_camel_invokeID,
8900 { "invokeID", "camel.invokeID",
8901 FT_INT32, BASE_DEC, NULL, 0,
8902 "camel.InvokeID", HFILL }},
8903 { &hf_camel_timeDurationCharging,
8904 { "timeDurationCharging", "camel.timeDurationCharging",
8905 FT_NONE, BASE_NONE, NULL, 0,
8906 "camel.T_timeDurationCharging", HFILL }},
8907 { &hf_camel_audibleIndicator,
8908 { "audibleIndicator", "camel.audibleIndicator",
8909 FT_UINT32, BASE_DEC, VALS(camel_AudibleIndicator_vals), 0,
8910 "camel.AudibleIndicator", HFILL }},
8911 { &hf_camel_timeDurationChargingResult,
8912 { "timeDurationChargingResult", "camel.timeDurationChargingResult",
8913 FT_NONE, BASE_NONE, NULL, 0,
8914 "camel.T_timeDurationChargingResult", HFILL }},
8915 { &hf_camel_partyToCharge,
8916 { "partyToCharge", "camel.partyToCharge",
8917 FT_UINT32, BASE_DEC, VALS(camel_ReceivingSideID_vals), 0,
8918 "camel.ReceivingSideID", HFILL }},
8919 { &hf_camel_timeInformation,
8920 { "timeInformation", "camel.timeInformation",
8921 FT_UINT32, BASE_DEC, VALS(camel_TimeInformation_vals), 0,
8922 "camel.TimeInformation", HFILL }},
8923 { &hf_camel_legActive,
8924 { "legActive", "camel.legActive",
8925 FT_BOOLEAN, 8, NULL, 0,
8926 "camel.BOOLEAN", HFILL }},
8927 { &hf_camel_callLegReleasedAtTcpExpiry,
8928 { "callLegReleasedAtTcpExpiry", "camel.callLegReleasedAtTcpExpiry",
8929 FT_NONE, BASE_NONE, NULL, 0,
8930 "camel.NULL", HFILL }},
8931 { &hf_camel_extensions1,
8932 { "extensions", "camel.extensions",
8933 FT_UINT32, BASE_DEC, NULL, 0,
8934 "camel.Extensions", HFILL }},
8935 { &hf_camel_aChChargingAddress,
8936 { "aChChargingAddress", "camel.aChChargingAddress",
8937 FT_UINT32, BASE_DEC, VALS(camel_AChChargingAddress_vals), 0,
8938 "camel.AChChargingAddress", HFILL }},
8939 { &hf_camel_fCIBCCCAMELsequence1,
8940 { "fCIBCCCAMELsequence1", "camel.fCIBCCCAMELsequence1",
8941 FT_NONE, BASE_NONE, NULL, 0,
8942 "camel.T_fCIBCCCAMELsequence1", HFILL }},
8943 { &hf_camel_freeFormatData,
8944 { "freeFormatData", "camel.freeFormatData",
8945 FT_BYTES, BASE_HEX, NULL, 0,
8946 "camel.FreeFormatData", HFILL }},
8947 { &hf_camel_partyToCharge4,
8948 { "partyToCharge4", "camel.partyToCharge4",
8949 FT_UINT32, BASE_DEC, VALS(camel_SendingSideID_vals), 0,
8950 "camel.SendingSideID", HFILL }},
8951 { &hf_camel_appendFreeFormatData,
8952 { "appendFreeFormatData", "camel.appendFreeFormatData",
8953 FT_UINT32, BASE_DEC, VALS(camel_AppendFreeFormatData_vals), 0,
8954 "camel.AppendFreeFormatData", HFILL }},
8955 { &hf_camel_fCIBCCCAMELsequence2,
8956 { "fCIBCCCAMELsequence2", "camel.fCIBCCCAMELsequence2",
8957 FT_NONE, BASE_NONE, NULL, 0,
8958 "camel.T_fCIBCCCAMELsequence2", HFILL }},
8960 { "pDPID", "camel.pDPID",
8961 FT_BYTES, BASE_HEX, NULL, 0,
8962 "camel.PDPId", HFILL }},
8963 { &hf_camel_fCIBCCCAMELsequence3,
8964 { "fCIBCCCAMELsequence3", "camel.fCIBCCCAMELsequence3",
8965 FT_NONE, BASE_NONE, NULL, 0,
8966 "camel.T_fCIBCCCAMELsequence3", HFILL }},
8967 { &hf_camel_aOCBeforeAnswer,
8968 { "aOCBeforeAnswer", "camel.aOCBeforeAnswer",
8969 FT_NONE, BASE_NONE, NULL, 0,
8970 "camel.AOCBeforeAnswer", HFILL }},
8971 { &hf_camel_aOCAfterAnswer,
8972 { "aOCAfterAnswer", "camel.aOCAfterAnswer",
8973 FT_NONE, BASE_NONE, NULL, 0,
8974 "camel.AOCSubsequent", HFILL }},
8975 { &hf_camel_aOC_extension,
8976 { "aOC-extension", "camel.aOC_extension",
8977 FT_NONE, BASE_NONE, NULL, 0,
8978 "camel.CAMEL_SCIBillingChargingCharacteristicsAlt", HFILL }},
8979 { &hf_camel_aOCGPRS,
8980 { "aOCGPRS", "camel.aOCGPRS",
8981 FT_NONE, BASE_NONE, NULL, 0,
8982 "camel.AOCGprs", HFILL }},
8983 { &hf_camel_ChangeOfPositionControlInfo_item,
8984 { "Item", "camel.ChangeOfPositionControlInfo_item",
8985 FT_UINT32, BASE_DEC, VALS(camel_ChangeOfLocation_vals), 0,
8986 "camel.ChangeOfLocation", HFILL }},
8987 { &hf_camel_cellGlobalId,
8988 { "cellGlobalId", "camel.cellGlobalId",
8989 FT_BYTES, BASE_HEX, NULL, 0,
8990 "gsm_map.CellGlobalIdOrServiceAreaIdFixedLength", HFILL }},
8991 { &hf_camel_serviceAreaId,
8992 { "serviceAreaId", "camel.serviceAreaId",
8993 FT_BYTES, BASE_HEX, NULL, 0,
8994 "gsm_map.CellGlobalIdOrServiceAreaIdFixedLength", HFILL }},
8995 { &hf_camel_locationAreaId,
8996 { "locationAreaId", "camel.locationAreaId",
8997 FT_BYTES, BASE_HEX, NULL, 0,
8998 "gsm_map.LAIFixedLength", HFILL }},
8999 { &hf_camel_inter_SystemHandOver,
9000 { "inter-SystemHandOver", "camel.inter_SystemHandOver",
9001 FT_NONE, BASE_NONE, NULL, 0,
9002 "camel.NULL", HFILL }},
9003 { &hf_camel_inter_PLMNHandOver,
9004 { "inter-PLMNHandOver", "camel.inter_PLMNHandOver",
9005 FT_NONE, BASE_NONE, NULL, 0,
9006 "camel.NULL", HFILL }},
9007 { &hf_camel_inter_MSCHandOver,
9008 { "inter-MSCHandOver", "camel.inter_MSCHandOver",
9009 FT_NONE, BASE_NONE, NULL, 0,
9010 "camel.NULL", HFILL }},
9011 { &hf_camel_changeOfLocationAlt,
9012 { "changeOfLocationAlt", "camel.changeOfLocationAlt",
9013 FT_NONE, BASE_NONE, NULL, 0,
9014 "camel.ChangeOfLocationAlt", HFILL }},
9015 { &hf_camel_maxTransferredVolume,
9016 { "maxTransferredVolume", "camel.maxTransferredVolume",
9017 FT_UINT32, BASE_DEC, NULL, 0,
9018 "camel.INTEGER_1_2147483647", HFILL }},
9019 { &hf_camel_maxElapsedTime,
9020 { "maxElapsedTime", "camel.maxElapsedTime",
9021 FT_UINT32, BASE_DEC, NULL, 0,
9022 "camel.INTEGER_1_86400", HFILL }},
9023 { &hf_camel_transferredVolume,
9024 { "transferredVolume", "camel.transferredVolume",
9025 FT_UINT32, BASE_DEC, VALS(camel_TransferredVolume_vals), 0,
9026 "camel.TransferredVolume", HFILL }},
9027 { &hf_camel_elapsedTime,
9028 { "elapsedTime", "camel.elapsedTime",
9029 FT_UINT32, BASE_DEC, VALS(camel_ElapsedTime_vals), 0,
9030 "camel.ElapsedTime", HFILL }},
9031 { &hf_camel_transferredVolumeRollOver,
9032 { "transferredVolumeRollOver", "camel.transferredVolumeRollOver",
9033 FT_UINT32, BASE_DEC, VALS(camel_TransferredVolumeRollOver_vals), 0,
9034 "camel.TransferredVolumeRollOver", HFILL }},
9035 { &hf_camel_elapsedTimeRollOver,
9036 { "elapsedTimeRollOver", "camel.elapsedTimeRollOver",
9037 FT_UINT32, BASE_DEC, VALS(camel_ElapsedTimeRollOver_vals), 0,
9038 "camel.ElapsedTimeRollOver", HFILL }},
9039 { &hf_camel_minimumNbOfDigits,
9040 { "minimumNbOfDigits", "camel.minimumNbOfDigits",
9041 FT_UINT32, BASE_DEC, NULL, 0,
9042 "camel.INTEGER_1_30", HFILL }},
9043 { &hf_camel_maximumNbOfDigits,
9044 { "maximumNbOfDigits", "camel.maximumNbOfDigits",
9045 FT_UINT32, BASE_DEC, NULL, 0,
9046 "camel.INTEGER_1_30", HFILL }},
9047 { &hf_camel_endOfReplyDigit,
9048 { "endOfReplyDigit", "camel.endOfReplyDigit",
9049 FT_BYTES, BASE_HEX, NULL, 0,
9050 "camel.OCTET_STRING_SIZE_1_2", HFILL }},
9051 { &hf_camel_cancelDigit,
9052 { "cancelDigit", "camel.cancelDigit",
9053 FT_BYTES, BASE_HEX, NULL, 0,
9054 "camel.OCTET_STRING_SIZE_1_2", HFILL }},
9055 { &hf_camel_startDigit,
9056 { "startDigit", "camel.startDigit",
9057 FT_BYTES, BASE_HEX, NULL, 0,
9058 "camel.OCTET_STRING_SIZE_1_2", HFILL }},
9059 { &hf_camel_firstDigitTimeOut,
9060 { "firstDigitTimeOut", "camel.firstDigitTimeOut",
9061 FT_UINT32, BASE_DEC, NULL, 0,
9062 "camel.INTEGER_1_127", HFILL }},
9063 { &hf_camel_interDigitTimeOut,
9064 { "interDigitTimeOut", "camel.interDigitTimeOut",
9065 FT_UINT32, BASE_DEC, NULL, 0,
9066 "camel.INTEGER_1_127", HFILL }},
9067 { &hf_camel_errorTreatment,
9068 { "errorTreatment", "camel.errorTreatment",
9069 FT_UINT32, BASE_DEC, VALS(camel_ErrorTreatment_vals), 0,
9070 "camel.ErrorTreatment", HFILL }},
9071 { &hf_camel_interruptableAnnInd,
9072 { "interruptableAnnInd", "camel.interruptableAnnInd",
9073 FT_BOOLEAN, 8, NULL, 0,
9074 "camel.BOOLEAN", HFILL }},
9075 { &hf_camel_voiceInformation,
9076 { "voiceInformation", "camel.voiceInformation",
9077 FT_BOOLEAN, 8, NULL, 0,
9078 "camel.BOOLEAN", HFILL }},
9079 { &hf_camel_voiceBack,
9080 { "voiceBack", "camel.voiceBack",
9081 FT_BOOLEAN, 8, NULL, 0,
9082 "camel.BOOLEAN", HFILL }},
9083 { &hf_camel_collectedDigits,
9084 { "collectedDigits", "camel.collectedDigits",
9085 FT_NONE, BASE_NONE, NULL, 0,
9086 "camel.CollectedDigits", HFILL }},
9087 { &hf_camel_basicGapCriteria,
9088 { "basicGapCriteria", "camel.basicGapCriteria",
9089 FT_UINT32, BASE_DEC, VALS(camel_BasicGapCriteria_vals), 0,
9090 "camel.BasicGapCriteria", HFILL }},
9092 { "scfID", "camel.scfID",
9093 FT_BYTES, BASE_HEX, NULL, 0,
9094 "camel.ScfID", HFILL }},
9095 { &hf_camel_DestinationRoutingAddress_item,
9096 { "Item", "camel.DestinationRoutingAddress_item",
9097 FT_BYTES, BASE_HEX, NULL, 0,
9098 "camel.CalledPartyNumber", HFILL }},
9099 { &hf_camel_applicationTimer,
9100 { "applicationTimer", "camel.applicationTimer",
9101 FT_UINT32, BASE_DEC, NULL, 0,
9102 "camel.ApplicationTimer", HFILL }},
9103 { &hf_camel_midCallControlInfo,
9104 { "midCallControlInfo", "camel.midCallControlInfo",
9105 FT_NONE, BASE_NONE, NULL, 0,
9106 "camel.MidCallControlInfo", HFILL }},
9107 { &hf_camel_dpSpecificCriteriaAlt,
9108 { "dpSpecificCriteriaAlt", "camel.dpSpecificCriteriaAlt",
9109 FT_NONE, BASE_NONE, NULL, 0,
9110 "camel.DpSpecificCriteriaAlt", HFILL }},
9111 { &hf_camel_changeOfPositionControlInfo,
9112 { "changeOfPositionControlInfo", "camel.changeOfPositionControlInfo",
9113 FT_UINT32, BASE_DEC, NULL, 0,
9114 "camel.ChangeOfPositionControlInfo", HFILL }},
9115 { &hf_camel_oServiceChangeSpecificInfo,
9116 { "oServiceChangeSpecificInfo", "camel.oServiceChangeSpecificInfo",
9117 FT_NONE, BASE_NONE, NULL, 0,
9118 "camel.T_oServiceChangeSpecificInfo", HFILL }},
9119 { &hf_camel_ext_basicServiceCode,
9120 { "ext-basicServiceCode", "camel.ext_basicServiceCode",
9121 FT_UINT32, BASE_DEC, VALS(gsm_map_Ext_BasicServiceCode_vals), 0,
9122 "gsm_map.Ext_BasicServiceCode", HFILL }},
9123 { &hf_camel_tServiceChangeSpecificInfo,
9124 { "tServiceChangeSpecificInfo", "camel.tServiceChangeSpecificInfo",
9125 FT_NONE, BASE_NONE, NULL, 0,
9126 "camel.T_tServiceChangeSpecificInfo", HFILL }},
9127 { &hf_camel_timeGPRSIfNoTariffSwitch,
9128 { "timeGPRSIfNoTariffSwitch", "camel.timeGPRSIfNoTariffSwitch",
9129 FT_UINT32, BASE_DEC, NULL, 0,
9130 "camel.INTEGER_0_86400", HFILL }},
9131 { &hf_camel_timeGPRSIfTariffSwitch,
9132 { "timeGPRSIfTariffSwitch", "camel.timeGPRSIfTariffSwitch",
9133 FT_NONE, BASE_NONE, NULL, 0,
9134 "camel.T_timeGPRSIfTariffSwitch", HFILL }},
9135 { &hf_camel_timeGPRSSinceLastTariffSwitch,
9136 { "timeGPRSSinceLastTariffSwitch", "camel.timeGPRSSinceLastTariffSwitch",
9137 FT_UINT32, BASE_DEC, NULL, 0,
9138 "camel.INTEGER_0_86400", HFILL }},
9139 { &hf_camel_timeGPRSTariffSwitchInterval,
9140 { "timeGPRSTariffSwitchInterval", "camel.timeGPRSTariffSwitchInterval",
9141 FT_UINT32, BASE_DEC, NULL, 0,
9142 "camel.INTEGER_0_86400", HFILL }},
9143 { &hf_camel_rOTimeGPRSIfNoTariffSwitch,
9144 { "rOTimeGPRSIfNoTariffSwitch", "camel.rOTimeGPRSIfNoTariffSwitch",
9145 FT_UINT32, BASE_DEC, NULL, 0,
9146 "camel.INTEGER_0_255", HFILL }},
9147 { &hf_camel_rOTimeGPRSIfTariffSwitch,
9148 { "rOTimeGPRSIfTariffSwitch", "camel.rOTimeGPRSIfTariffSwitch",
9149 FT_NONE, BASE_NONE, NULL, 0,
9150 "camel.T_rOTimeGPRSIfTariffSwitch", HFILL }},
9151 { &hf_camel_rOTimeGPRSSinceLastTariffSwitch,
9152 { "rOTimeGPRSSinceLastTariffSwitch", "camel.rOTimeGPRSSinceLastTariffSwitch",
9153 FT_UINT32, BASE_DEC, NULL, 0,
9154 "camel.INTEGER_0_255", HFILL }},
9155 { &hf_camel_rOTimeGPRSTariffSwitchInterval,
9156 { "rOTimeGPRSTariffSwitchInterval", "camel.rOTimeGPRSTariffSwitchInterval",
9157 FT_UINT32, BASE_DEC, NULL, 0,
9158 "camel.INTEGER_0_255", HFILL }},
9159 { &hf_camel_pDPTypeOrganization,
9160 { "pDPTypeOrganization", "camel.pDPTypeOrganization",
9161 FT_BYTES, BASE_HEX, NULL, 0,
9162 "camel.OCTET_STRING_SIZE_1", HFILL }},
9163 { &hf_camel_pDPTypeNumber,
9164 { "pDPTypeNumber", "camel.pDPTypeNumber",
9165 FT_BYTES, BASE_HEX, NULL, 0,
9166 "camel.OCTET_STRING_SIZE_1", HFILL }},
9167 { &hf_camel_pDPAddress,
9168 { "pDPAddress", "camel.pDPAddress",
9169 FT_BYTES, BASE_HEX, NULL, 0,
9170 "camel.OCTET_STRING_SIZE_1_63", HFILL }},
9171 { &hf_camel_routeSelectFailureSpecificInfo,
9172 { "routeSelectFailureSpecificInfo", "camel.routeSelectFailureSpecificInfo",
9173 FT_NONE, BASE_NONE, NULL, 0,
9174 "camel.T_routeSelectFailureSpecificInfo", HFILL }},
9175 { &hf_camel_failureCause,
9176 { "failureCause", "camel.failureCause",
9177 FT_BYTES, BASE_HEX, NULL, 0,
9178 "camel.Cause", HFILL }},
9179 { &hf_camel_oCalledPartyBusySpecificInfo,
9180 { "oCalledPartyBusySpecificInfo", "camel.oCalledPartyBusySpecificInfo",
9181 FT_NONE, BASE_NONE, NULL, 0,
9182 "camel.T_oCalledPartyBusySpecificInfo", HFILL }},
9183 { &hf_camel_busyCause,
9184 { "busyCause", "camel.busyCause",
9185 FT_BYTES, BASE_HEX, NULL, 0,
9186 "camel.Cause", HFILL }},
9187 { &hf_camel_oNoAnswerSpecificInfo,
9188 { "oNoAnswerSpecificInfo", "camel.oNoAnswerSpecificInfo",
9189 FT_NONE, BASE_NONE, NULL, 0,
9190 "camel.T_oNoAnswerSpecificInfo", HFILL }},
9191 { &hf_camel_oAnswerSpecificInfo,
9192 { "oAnswerSpecificInfo", "camel.oAnswerSpecificInfo",
9193 FT_NONE, BASE_NONE, NULL, 0,
9194 "camel.T_oAnswerSpecificInfo", HFILL }},
9195 { &hf_camel_destinationAddress,
9196 { "destinationAddress", "camel.destinationAddress",
9197 FT_BYTES, BASE_HEX, NULL, 0,
9198 "camel.CalledPartyNumber", HFILL }},
9199 { &hf_camel_or_Call,
9200 { "or-Call", "camel.or_Call",
9201 FT_NONE, BASE_NONE, NULL, 0,
9202 "camel.NULL", HFILL }},
9203 { &hf_camel_forwardedCall,
9204 { "forwardedCall", "camel.forwardedCall",
9205 FT_NONE, BASE_NONE, NULL, 0,
9206 "camel.NULL", HFILL }},
9207 { &hf_camel_chargeIndicator,
9208 { "chargeIndicator", "camel.chargeIndicator",
9209 FT_BYTES, BASE_HEX, NULL, 0,
9210 "camel.ChargeIndicator", HFILL }},
9211 { &hf_camel_ext_basicServiceCode2,
9212 { "ext-basicServiceCode2", "camel.ext_basicServiceCode2",
9213 FT_UINT32, BASE_DEC, VALS(gsm_map_Ext_BasicServiceCode_vals), 0,
9214 "gsm_map.Ext_BasicServiceCode", HFILL }},
9215 { &hf_camel_oMidCallSpecificInfo,
9216 { "oMidCallSpecificInfo", "camel.oMidCallSpecificInfo",
9217 FT_NONE, BASE_NONE, NULL, 0,
9218 "camel.T_oMidCallSpecificInfo", HFILL }},
9219 { &hf_camel_midCallEvents,
9220 { "midCallEvents", "camel.midCallEvents",
9221 FT_UINT32, BASE_DEC, VALS(camel_T_midCallEvents_vals), 0,
9222 "camel.T_midCallEvents", HFILL }},
9223 { &hf_camel_dTMFDigitsCompleted,
9224 { "dTMFDigitsCompleted", "camel.dTMFDigitsCompleted",
9225 FT_BYTES, BASE_HEX, NULL, 0,
9226 "camel.Digits", HFILL }},
9227 { &hf_camel_dTMFDigitsTimeOut,
9228 { "dTMFDigitsTimeOut", "camel.dTMFDigitsTimeOut",
9229 FT_BYTES, BASE_HEX, NULL, 0,
9230 "camel.Digits", HFILL }},
9231 { &hf_camel_oDisconnectSpecificInfo,
9232 { "oDisconnectSpecificInfo", "camel.oDisconnectSpecificInfo",
9233 FT_NONE, BASE_NONE, NULL, 0,
9234 "camel.T_oDisconnectSpecificInfo", HFILL }},
9235 { &hf_camel_releaseCause,
9236 { "releaseCause", "camel.releaseCause",
9237 FT_BYTES, BASE_HEX, NULL, 0,
9238 "camel.Cause", HFILL }},
9239 { &hf_camel_tBusySpecificInfo,
9240 { "tBusySpecificInfo", "camel.tBusySpecificInfo",
9241 FT_NONE, BASE_NONE, NULL, 0,
9242 "camel.T_tBusySpecificInfo", HFILL }},
9243 { &hf_camel_callForwarded,
9244 { "callForwarded", "camel.callForwarded",
9245 FT_NONE, BASE_NONE, NULL, 0,
9246 "camel.NULL", HFILL }},
9247 { &hf_camel_routeNotPermitted,
9248 { "routeNotPermitted", "camel.routeNotPermitted",
9249 FT_NONE, BASE_NONE, NULL, 0,
9250 "camel.NULL", HFILL }},
9251 { &hf_camel_forwardingDestinationNumber,
9252 { "forwardingDestinationNumber", "camel.forwardingDestinationNumber",
9253 FT_BYTES, BASE_HEX, NULL, 0,
9254 "camel.CalledPartyNumber", HFILL }},
9255 { &hf_camel_tNoAnswerSpecificInfo,
9256 { "tNoAnswerSpecificInfo", "camel.tNoAnswerSpecificInfo",
9257 FT_NONE, BASE_NONE, NULL, 0,
9258 "camel.T_tNoAnswerSpecificInfo", HFILL }},
9259 { &hf_camel_tAnswerSpecificInfo,
9260 { "tAnswerSpecificInfo", "camel.tAnswerSpecificInfo",
9261 FT_NONE, BASE_NONE, NULL, 0,
9262 "camel.T_tAnswerSpecificInfo", HFILL }},
9263 { &hf_camel_tMidCallSpecificInfo,
9264 { "tMidCallSpecificInfo", "camel.tMidCallSpecificInfo",
9265 FT_NONE, BASE_NONE, NULL, 0,
9266 "camel.T_tMidCallSpecificInfo", HFILL }},
9267 { &hf_camel_midCallEvents1,
9268 { "midCallEvents", "camel.midCallEvents",
9269 FT_UINT32, BASE_DEC, VALS(camel_T_midCallEvents1_vals), 0,
9270 "camel.T_midCallEvents1", HFILL }},
9271 { &hf_camel_tDisconnectSpecificInfo,
9272 { "tDisconnectSpecificInfo", "camel.tDisconnectSpecificInfo",
9273 FT_NONE, BASE_NONE, NULL, 0,
9274 "camel.T_tDisconnectSpecificInfo", HFILL }},
9275 { &hf_camel_oTermSeizedSpecificInfo,
9276 { "oTermSeizedSpecificInfo", "camel.oTermSeizedSpecificInfo",
9277 FT_NONE, BASE_NONE, NULL, 0,
9278 "camel.T_oTermSeizedSpecificInfo", HFILL }},
9279 { &hf_camel_locationInformation,
9280 { "locationInformation", "camel.locationInformation",
9281 FT_NONE, BASE_NONE, NULL, 0,
9282 "gsm_map.LocationInformation", HFILL }},
9283 { &hf_camel_callAcceptedSpecificInfo,
9284 { "callAcceptedSpecificInfo", "camel.callAcceptedSpecificInfo",
9285 FT_NONE, BASE_NONE, NULL, 0,
9286 "camel.T_callAcceptedSpecificInfo", HFILL }},
9287 { &hf_camel_oAbandonSpecificInfo,
9288 { "oAbandonSpecificInfo", "camel.oAbandonSpecificInfo",
9289 FT_NONE, BASE_NONE, NULL, 0,
9290 "camel.T_oAbandonSpecificInfo", HFILL }},
9291 { &hf_camel_oChangeOfPositionSpecificInfo,
9292 { "oChangeOfPositionSpecificInfo", "camel.oChangeOfPositionSpecificInfo",
9293 FT_NONE, BASE_NONE, NULL, 0,
9294 "camel.T_oChangeOfPositionSpecificInfo", HFILL }},
9295 { &hf_camel_metDPCriteriaList,
9296 { "metDPCriteriaList", "camel.metDPCriteriaList",
9297 FT_UINT32, BASE_DEC, NULL, 0,
9298 "camel.MetDPCriteriaList", HFILL }},
9299 { &hf_camel_tChangeOfPositionSpecificInfo,
9300 { "tChangeOfPositionSpecificInfo", "camel.tChangeOfPositionSpecificInfo",
9301 FT_NONE, BASE_NONE, NULL, 0,
9302 "camel.T_tChangeOfPositionSpecificInfo", HFILL }},
9303 { &hf_camel_dpSpecificInfoAlt,
9304 { "dpSpecificInfoAlt", "camel.dpSpecificInfoAlt",
9305 FT_NONE, BASE_NONE, NULL, 0,
9306 "camel.DpSpecificInfoAlt", HFILL }},
9307 { &hf_camel_o_smsFailureSpecificInfo,
9308 { "o-smsFailureSpecificInfo", "camel.o_smsFailureSpecificInfo",
9309 FT_NONE, BASE_NONE, NULL, 0,
9310 "camel.T_o_smsFailureSpecificInfo", HFILL }},
9311 { &hf_camel_smsfailureCause,
9312 { "smsfailureCause", "camel.smsfailureCause",
9313 FT_UINT32, BASE_DEC, VALS(camel_MO_SMSCause_vals), 0,
9314 "camel.MO_SMSCause", HFILL }},
9315 { &hf_camel_o_smsSubmittedSpecificInfo,
9316 { "o-smsSubmittedSpecificInfo", "camel.o_smsSubmittedSpecificInfo",
9317 FT_NONE, BASE_NONE, NULL, 0,
9318 "camel.T_o_smsSubmittedSpecificInfo", HFILL }},
9320 { "foo", "camel.foo",
9321 FT_UINT32, BASE_DEC, NULL, 0,
9322 "camel.INTEGER_0", HFILL }},
9323 { &hf_camel_t_smsFailureSpecificInfo,
9324 { "t-smsFailureSpecificInfo", "camel.t_smsFailureSpecificInfo",
9325 FT_NONE, BASE_NONE, NULL, 0,
9326 "camel.T_t_smsFailureSpecificInfo", HFILL }},
9327 { &hf_camel_failureCause1,
9328 { "failureCause", "camel.failureCause",
9329 FT_BYTES, BASE_HEX, NULL, 0,
9330 "camel.MT_SMSCause", HFILL }},
9331 { &hf_camel_t_smsDeliverySpecificInfo,
9332 { "t-smsDeliverySpecificInfo", "camel.t_smsDeliverySpecificInfo",
9333 FT_NONE, BASE_NONE, NULL, 0,
9334 "camel.T_t_smsDeliverySpecificInfo", HFILL }},
9335 { &hf_camel_Extensions_item,
9336 { "Item", "camel.Extensions_item",
9337 FT_NONE, BASE_NONE, NULL, 0,
9338 "camel.ExtensionField", HFILL }},
9339 { &hf_camel_callDiversionTreatmentIndicator,
9340 { "callDiversionTreatmentIndicator", "camel.callDiversionTreatmentIndicator",
9341 FT_BYTES, BASE_HEX, NULL, 0,
9342 "camel.OCTET_STRING_SIZE_1", HFILL }},
9343 { &hf_camel_callingPartyRestrictionIndicator,
9344 { "callingPartyRestrictionIndicator", "camel.callingPartyRestrictionIndicator",
9345 FT_BYTES, BASE_HEX, NULL, 0,
9346 "camel.OCTET_STRING_SIZE_1", HFILL }},
9347 { &hf_camel_compoundGapCriteria,
9348 { "compoundGapCriteria", "camel.compoundGapCriteria",
9349 FT_NONE, BASE_NONE, NULL, 0,
9350 "camel.CompoundCriteria", HFILL }},
9351 { &hf_camel_duration1,
9352 { "duration1", "camel.duration1",
9353 FT_INT32, BASE_DEC, NULL, 0,
9354 "camel.Duration", HFILL }},
9355 { &hf_camel_gapInterval,
9356 { "gapInterval", "camel.gapInterval",
9357 FT_INT32, BASE_DEC, NULL, 0,
9358 "camel.Interval", HFILL }},
9359 { &hf_camel_informationToSend,
9360 { "informationToSend", "camel.informationToSend",
9361 FT_UINT32, BASE_DEC, VALS(camel_InformationToSend_vals), 0,
9362 "camel.InformationToSend", HFILL }},
9363 { &hf_camel_GenericNumbers_item,
9364 { "Item", "camel.GenericNumbers_item",
9365 FT_BYTES, BASE_HEX, NULL, 0,
9366 "camel.GenericNumber", HFILL }},
9367 { &hf_camel_short_QoS_format,
9368 { "short-QoS-format", "camel.short_QoS_format",
9369 FT_BYTES, BASE_HEX, NULL, 0,
9370 "gsm_map.QoS_Subscribed", HFILL }},
9371 { &hf_camel_long_QoS_format,
9372 { "long-QoS-format", "camel.long_QoS_format",
9373 FT_BYTES, BASE_HEX, NULL, 0,
9374 "gsm_map.Ext_QoS_Subscribed", HFILL }},
9375 { &hf_camel_supplement_to_long_QoS_format,
9376 { "supplement-to-long-QoS-format", "camel.supplement_to_long_QoS_format",
9377 FT_BYTES, BASE_HEX, NULL, 0,
9378 "gsm_map.Ext2_QoS_Subscribed", HFILL }},
9379 { &hf_camel_gPRSEventType,
9380 { "gPRSEventType", "camel.gPRSEventType",
9381 FT_UINT32, BASE_DEC, VALS(camel_GPRSEventType_vals), 0,
9382 "camel.GPRSEventType", HFILL }},
9383 { &hf_camel_attachChangeOfPositionSpecificInformation,
9384 { "attachChangeOfPositionSpecificInformation", "camel.attachChangeOfPositionSpecificInformation",
9385 FT_NONE, BASE_NONE, NULL, 0,
9386 "camel.T_attachChangeOfPositionSpecificInformation", HFILL }},
9387 { &hf_camel_locationInformationGPRS,
9388 { "locationInformationGPRS", "camel.locationInformationGPRS",
9389 FT_NONE, BASE_NONE, NULL, 0,
9390 "camel.LocationInformationGPRS", HFILL }},
9391 { &hf_camel_pdp_ContextchangeOfPositionSpecificInformation,
9392 { "pdp-ContextchangeOfPositionSpecificInformation", "camel.pdp_ContextchangeOfPositionSpecificInformation",
9393 FT_NONE, BASE_NONE, NULL, 0,
9394 "camel.T_pdp_ContextchangeOfPositionSpecificInformation", HFILL }},
9395 { &hf_camel_accessPointName,
9396 { "accessPointName", "camel.accessPointName",
9397 FT_BYTES, BASE_HEX, NULL, 0,
9398 "camel.AccessPointName", HFILL }},
9399 { &hf_camel_chargingID,
9400 { "chargingID", "camel.chargingID",
9401 FT_BYTES, BASE_HEX, NULL, 0,
9402 "gsm_map.GPRSChargingID", HFILL }},
9403 { &hf_camel_pDPType,
9404 { "pDPType", "camel.pDPType",
9405 FT_NONE, BASE_NONE, NULL, 0,
9406 "camel.PDPType", HFILL }},
9407 { &hf_camel_qualityOfService,
9408 { "qualityOfService", "camel.qualityOfService",
9409 FT_NONE, BASE_NONE, NULL, 0,
9410 "camel.QualityOfService", HFILL }},
9411 { &hf_camel_timeAndTimeZone,
9412 { "timeAndTimeZone", "camel.timeAndTimeZone",
9413 FT_BYTES, BASE_HEX, NULL, 0,
9414 "camel.TimeAndTimezone", HFILL }},
9415 { &hf_camel_gGSNAddress,
9416 { "gGSNAddress", "camel.gGSNAddress",
9417 FT_BYTES, BASE_HEX, NULL, 0,
9418 "gsm_map.GSN_Address", HFILL }},
9419 { &hf_camel_detachSpecificInformation,
9420 { "detachSpecificInformation", "camel.detachSpecificInformation",
9421 FT_NONE, BASE_NONE, NULL, 0,
9422 "camel.T_detachSpecificInformation", HFILL }},
9423 { &hf_camel_inititatingEntity,
9424 { "inititatingEntity", "camel.inititatingEntity",
9425 FT_UINT32, BASE_DEC, VALS(camel_InitiatingEntity_vals), 0,
9426 "camel.InitiatingEntity", HFILL }},
9427 { &hf_camel_routeingAreaUpdate,
9428 { "routeingAreaUpdate", "camel.routeingAreaUpdate",
9429 FT_NONE, BASE_NONE, NULL, 0,
9430 "camel.NULL", HFILL }},
9431 { &hf_camel_disconnectSpecificInformation,
9432 { "disconnectSpecificInformation", "camel.disconnectSpecificInformation",
9433 FT_NONE, BASE_NONE, NULL, 0,
9434 "camel.T_disconnectSpecificInformation", HFILL }},
9435 { &hf_camel_pDPContextEstablishmentSpecificInformation,
9436 { "pDPContextEstablishmentSpecificInformation", "camel.pDPContextEstablishmentSpecificInformation",
9437 FT_NONE, BASE_NONE, NULL, 0,
9438 "camel.T_pDPContextEstablishmentSpecificInformation", HFILL }},
9439 { &hf_camel_pDPInitiationType,
9440 { "pDPInitiationType", "camel.pDPInitiationType",
9441 FT_UINT32, BASE_DEC, VALS(camel_PDPInitiationType_vals), 0,
9442 "camel.PDPInitiationType", HFILL }},
9443 { &hf_camel_secondaryPDPContext,
9444 { "secondaryPDPContext", "camel.secondaryPDPContext",
9445 FT_NONE, BASE_NONE, NULL, 0,
9446 "camel.NULL", HFILL }},
9447 { &hf_camel_pDPContextEstablishmentAcknowledgementSpecificInformation,
9448 { "pDPContextEstablishmentAcknowledgementSpecificInformation", "camel.pDPContextEstablishmentAcknowledgementSpecificInformation",
9449 FT_NONE, BASE_NONE, NULL, 0,
9450 "camel.T_pDPContextEstablishmentAcknowledgementSpecificInformation", HFILL }},
9451 { &hf_camel_mSNetworkCapability,
9452 { "mSNetworkCapability", "camel.mSNetworkCapability",
9453 FT_BYTES, BASE_HEX, NULL, 0,
9454 "camel.MSNetworkCapability", HFILL }},
9455 { &hf_camel_mSRadioAccessCapability,
9456 { "mSRadioAccessCapability", "camel.mSRadioAccessCapability",
9457 FT_BYTES, BASE_HEX, NULL, 0,
9458 "camel.MSRadioAccessCapability", HFILL }},
9459 { &hf_camel_messageID,
9460 { "messageID", "camel.messageID",
9461 FT_UINT32, BASE_DEC, VALS(camel_MessageID_vals), 0,
9462 "camel.MessageID", HFILL }},
9463 { &hf_camel_numberOfRepetitions,
9464 { "numberOfRepetitions", "camel.numberOfRepetitions",
9465 FT_UINT32, BASE_DEC, NULL, 0,
9466 "camel.INTEGER_1_127", HFILL }},
9467 { &hf_camel_duration2,
9468 { "duration2", "camel.duration2",
9469 FT_UINT32, BASE_DEC, NULL, 0,
9470 "camel.INTEGER_0_32767", HFILL }},
9471 { &hf_camel_interval,
9472 { "interval", "camel.interval",
9473 FT_UINT32, BASE_DEC, NULL, 0,
9474 "camel.INTEGER_0_32767", HFILL }},
9475 { &hf_camel_inbandInfo,
9476 { "inbandInfo", "camel.inbandInfo",
9477 FT_NONE, BASE_NONE, NULL, 0,
9478 "camel.InbandInfo", HFILL }},
9480 { "tone", "camel.tone",
9481 FT_NONE, BASE_NONE, NULL, 0,
9482 "camel.Tone", HFILL }},
9483 { &hf_camel_cellGlobalIdOrServiceAreaIdOrLAI,
9484 { "cellGlobalIdOrServiceAreaIdOrLAI", "camel.cellGlobalIdOrServiceAreaIdOrLAI",
9485 FT_BYTES, BASE_HEX, NULL, 0,
9486 "camel.CellGlobalIdOrServiceAreaIdOrLAI", HFILL }},
9487 { &hf_camel_routeingAreaIdentity,
9488 { "routeingAreaIdentity", "camel.routeingAreaIdentity",
9489 FT_BYTES, BASE_HEX, NULL, 0,
9490 "gsm_map.RAIdentity", HFILL }},
9491 { &hf_camel_geographicalInformation,
9492 { "geographicalInformation", "camel.geographicalInformation",
9493 FT_BYTES, BASE_HEX, NULL, 0,
9494 "gsm_map.GeographicalInformation", HFILL }},
9495 { &hf_camel_sgsn_Number,
9496 { "sgsn-Number", "camel.sgsn_Number",
9497 FT_BYTES, BASE_HEX, NULL, 0,
9498 "camel.ISDN_AddressString", HFILL }},
9499 { &hf_camel_selectedLSAIdentity,
9500 { "selectedLSAIdentity", "camel.selectedLSAIdentity",
9501 FT_BYTES, BASE_HEX, NULL, 0,
9502 "gsm_map.LSAIdentity", HFILL }},
9503 { &hf_camel_extensionContainer,
9504 { "extensionContainer", "camel.extensionContainer",
9505 FT_NONE, BASE_NONE, NULL, 0,
9506 "camel.ExtensionContainer", HFILL }},
9507 { &hf_camel_saiPresent,
9508 { "saiPresent", "camel.saiPresent",
9509 FT_NONE, BASE_NONE, NULL, 0,
9510 "camel.NULL", HFILL }},
9511 { &hf_camel_elementaryMessageID,
9512 { "elementaryMessageID", "camel.elementaryMessageID",
9513 FT_UINT32, BASE_DEC, NULL, 0,
9514 "camel.Integer4", HFILL }},
9516 { "text", "camel.text",
9517 FT_NONE, BASE_NONE, NULL, 0,
9518 "camel.T_text", HFILL }},
9519 { &hf_camel_messageContent,
9520 { "messageContent", "camel.messageContent",
9521 FT_STRING, BASE_NONE, NULL, 0,
9522 "camel.IA5String_SIZE_1_127", HFILL }},
9523 { &hf_camel_attributes,
9524 { "attributes", "camel.attributes",
9525 FT_BYTES, BASE_HEX, NULL, 0,
9526 "camel.OCTET_STRING_SIZE_2_10", HFILL }},
9527 { &hf_camel_elementaryMessageIDs,
9528 { "elementaryMessageIDs", "camel.elementaryMessageIDs",
9529 FT_UINT32, BASE_DEC, NULL, 0,
9530 "camel.SEQUENCE_SIZE_1_16_OF_Integer4", HFILL }},
9531 { &hf_camel_elementaryMessageIDs_item,
9532 { "Item", "camel.elementaryMessageIDs_item",
9533 FT_UINT32, BASE_DEC, NULL, 0,
9534 "camel.Integer4", HFILL }},
9535 { &hf_camel_variableMessage,
9536 { "variableMessage", "camel.variableMessage",
9537 FT_NONE, BASE_NONE, NULL, 0,
9538 "camel.T_variableMessage", HFILL }},
9539 { &hf_camel_variableParts,
9540 { "variableParts", "camel.variableParts",
9541 FT_UINT32, BASE_DEC, NULL, 0,
9542 "camel.VariablePartsArray", HFILL }},
9543 { &hf_camel_MetDPCriteriaList_item,
9544 { "Item", "camel.MetDPCriteriaList_item",
9545 FT_UINT32, BASE_DEC, VALS(camel_MetDPCriterion_vals), 0,
9546 "camel.MetDPCriterion", HFILL }},
9547 { &hf_camel_enteringCellGlobalId,
9548 { "enteringCellGlobalId", "camel.enteringCellGlobalId",
9549 FT_BYTES, BASE_HEX, NULL, 0,
9550 "gsm_map.CellGlobalIdOrServiceAreaIdFixedLength", HFILL }},
9551 { &hf_camel_leavingCellGlobalId,
9552 { "leavingCellGlobalId", "camel.leavingCellGlobalId",
9553 FT_BYTES, BASE_HEX, NULL, 0,
9554 "gsm_map.CellGlobalIdOrServiceAreaIdFixedLength", HFILL }},
9555 { &hf_camel_enteringServiceAreaId,
9556 { "enteringServiceAreaId", "camel.enteringServiceAreaId",
9557 FT_BYTES, BASE_HEX, NULL, 0,
9558 "gsm_map.CellGlobalIdOrServiceAreaIdFixedLength", HFILL }},
9559 { &hf_camel_leavingServiceAreaId,
9560 { "leavingServiceAreaId", "camel.leavingServiceAreaId",
9561 FT_BYTES, BASE_HEX, NULL, 0,
9562 "gsm_map.CellGlobalIdOrServiceAreaIdFixedLength", HFILL }},
9563 { &hf_camel_enteringLocationAreaId,
9564 { "enteringLocationAreaId", "camel.enteringLocationAreaId",
9565 FT_BYTES, BASE_HEX, NULL, 0,
9566 "gsm_map.LAIFixedLength", HFILL }},
9567 { &hf_camel_leavingLocationAreaId,
9568 { "leavingLocationAreaId", "camel.leavingLocationAreaId",
9569 FT_BYTES, BASE_HEX, NULL, 0,
9570 "gsm_map.LAIFixedLength", HFILL }},
9571 { &hf_camel_inter_SystemHandOverToUMTS,
9572 { "inter-SystemHandOverToUMTS", "camel.inter_SystemHandOverToUMTS",
9573 FT_NONE, BASE_NONE, NULL, 0,
9574 "camel.NULL", HFILL }},
9575 { &hf_camel_inter_SystemHandOverToGSM,
9576 { "inter-SystemHandOverToGSM", "camel.inter_SystemHandOverToGSM",
9577 FT_NONE, BASE_NONE, NULL, 0,
9578 "camel.NULL", HFILL }},
9579 { &hf_camel_metDPCriterionAlt,
9580 { "metDPCriterionAlt", "camel.metDPCriterionAlt",
9581 FT_NONE, BASE_NONE, NULL, 0,
9582 "camel.MetDPCriterionAlt", HFILL }},
9583 { &hf_camel_minimumNumberOfDigits,
9584 { "minimumNumberOfDigits", "camel.minimumNumberOfDigits",
9585 FT_UINT32, BASE_DEC, NULL, 0,
9586 "camel.INTEGER_1_30", HFILL }},
9587 { &hf_camel_maximumNumberOfDigits,
9588 { "maximumNumberOfDigits", "camel.maximumNumberOfDigits",
9589 FT_UINT32, BASE_DEC, NULL, 0,
9590 "camel.INTEGER_1_30", HFILL }},
9591 { &hf_camel_interDigitTimeout,
9592 { "interDigitTimeout", "camel.interDigitTimeout",
9593 FT_UINT32, BASE_DEC, NULL, 0,
9594 "camel.INTEGER_1_127", HFILL }},
9595 { &hf_camel_requested_QoS,
9596 { "requested-QoS", "camel.requested_QoS",
9597 FT_UINT32, BASE_DEC, VALS(camel_GPRS_QoS_vals), 0,
9598 "camel.GPRS_QoS", HFILL }},
9599 { &hf_camel_subscribed_QoS,
9600 { "subscribed-QoS", "camel.subscribed_QoS",
9601 FT_UINT32, BASE_DEC, VALS(camel_GPRS_QoS_vals), 0,
9602 "camel.GPRS_QoS", HFILL }},
9603 { &hf_camel_negotiated_QoS,
9604 { "negotiated-QoS", "camel.negotiated_QoS",
9605 FT_UINT32, BASE_DEC, VALS(camel_GPRS_QoS_vals), 0,
9606 "camel.GPRS_QoS", HFILL }},
9607 { &hf_camel_requested_QoS_Extension,
9608 { "requested-QoS-Extension", "camel.requested_QoS_Extension",
9609 FT_NONE, BASE_NONE, NULL, 0,
9610 "camel.GPRS_QoS_Extension", HFILL }},
9611 { &hf_camel_subscribed_QoS_Extension,
9612 { "subscribed-QoS-Extension", "camel.subscribed_QoS_Extension",
9613 FT_NONE, BASE_NONE, NULL, 0,
9614 "camel.GPRS_QoS_Extension", HFILL }},
9615 { &hf_camel_negotiated_QoS_Extension,
9616 { "negotiated-QoS-Extension", "camel.negotiated_QoS_Extension",
9617 FT_NONE, BASE_NONE, NULL, 0,
9618 "camel.GPRS_QoS_Extension", HFILL }},
9619 { &hf_camel_receivingSideID,
9620 { "receivingSideID", "camel.receivingSideID",
9621 FT_BYTES, BASE_HEX, NULL, 0,
9622 "camel.LegType", HFILL }},
9623 { &hf_camel_RequestedInformationList_item,
9624 { "Item", "camel.RequestedInformationList_item",
9625 FT_NONE, BASE_NONE, NULL, 0,
9626 "camel.RequestedInformation", HFILL }},
9627 { &hf_camel_RequestedInformationTypeList_item,
9628 { "Item", "camel.RequestedInformationTypeList_item",
9629 FT_UINT32, BASE_DEC, VALS(camel_RequestedInformationType_vals), 0,
9630 "camel.RequestedInformationType", HFILL }},
9631 { &hf_camel_requestedInformationType,
9632 { "requestedInformationType", "camel.requestedInformationType",
9633 FT_UINT32, BASE_DEC, VALS(camel_RequestedInformationType_vals), 0,
9634 "camel.RequestedInformationType", HFILL }},
9635 { &hf_camel_requestedInformationValue,
9636 { "requestedInformationValue", "camel.requestedInformationValue",
9637 FT_UINT32, BASE_DEC, VALS(camel_RequestedInformationValue_vals), 0,
9638 "camel.RequestedInformationValue", HFILL }},
9639 { &hf_camel_callAttemptElapsedTimeValue,
9640 { "callAttemptElapsedTimeValue", "camel.callAttemptElapsedTimeValue",
9641 FT_UINT32, BASE_DEC, NULL, 0,
9642 "camel.INTEGER_0_255", HFILL }},
9643 { &hf_camel_callStopTimeValue,
9644 { "callStopTimeValue", "camel.callStopTimeValue",
9645 FT_STRING, NONE, NULL, 0,
9646 "camel.DateAndTime", HFILL }},
9647 { &hf_camel_callConnectedElapsedTimeValue,
9648 { "callConnectedElapsedTimeValue", "camel.callConnectedElapsedTimeValue",
9649 FT_UINT32, BASE_DEC, NULL, 0,
9650 "camel.Integer4", HFILL }},
9651 { &hf_camel_releaseCauseValue,
9652 { "releaseCauseValue", "camel.releaseCauseValue",
9653 FT_BYTES, BASE_HEX, NULL, 0,
9654 "camel.Cause", HFILL }},
9655 { &hf_camel_sendingSideID,
9656 { "sendingSideID", "camel.sendingSideID",
9657 FT_BYTES, BASE_HEX, NULL, 0,
9658 "camel.LegType", HFILL }},
9659 { &hf_camel_forwardServiceInteractionInd,
9660 { "forwardServiceInteractionInd", "camel.forwardServiceInteractionInd",
9661 FT_NONE, BASE_NONE, NULL, 0,
9662 "camel.ForwardServiceInteractionInd", HFILL }},
9663 { &hf_camel_backwardServiceInteractionInd,
9664 { "backwardServiceInteractionInd", "camel.backwardServiceInteractionInd",
9665 FT_NONE, BASE_NONE, NULL, 0,
9666 "camel.BackwardServiceInteractionInd", HFILL }},
9667 { &hf_camel_bothwayThroughConnectionInd,
9668 { "bothwayThroughConnectionInd", "camel.bothwayThroughConnectionInd",
9669 FT_UINT32, BASE_DEC, VALS(camel_BothwayThroughConnectionInd_vals), 0,
9670 "camel.BothwayThroughConnectionInd", HFILL }},
9671 { &hf_camel_connectedNumberTreatmentInd,
9672 { "connectedNumberTreatmentInd", "camel.connectedNumberTreatmentInd",
9673 FT_UINT32, BASE_DEC, VALS(camel_ConnectedNumberTreatmentInd_vals), 0,
9674 "camel.ConnectedNumberTreatmentInd", HFILL }},
9675 { &hf_camel_nonCUGCall,
9676 { "nonCUGCall", "camel.nonCUGCall",
9677 FT_NONE, BASE_NONE, NULL, 0,
9678 "camel.NULL", HFILL }},
9679 { &hf_camel_holdTreatmentIndicator,
9680 { "holdTreatmentIndicator", "camel.holdTreatmentIndicator",
9681 FT_BYTES, BASE_HEX, NULL, 0,
9682 "camel.OCTET_STRING_SIZE_1", HFILL }},
9683 { &hf_camel_cwTreatmentIndicator,
9684 { "cwTreatmentIndicator", "camel.cwTreatmentIndicator",
9685 FT_BYTES, BASE_HEX, NULL, 0,
9686 "camel.OCTET_STRING_SIZE_1", HFILL }},
9687 { &hf_camel_ectTreatmentIndicator,
9688 { "ectTreatmentIndicator", "camel.ectTreatmentIndicator",
9689 FT_BYTES, BASE_HEX, NULL, 0,
9690 "camel.OCTET_STRING_SIZE_1", HFILL }},
9691 { &hf_camel_eventTypeSMS,
9692 { "eventTypeSMS", "camel.eventTypeSMS",
9693 FT_UINT32, BASE_DEC, VALS(camel_EventTypeSMS_vals), 0,
9694 "camel.EventTypeSMS", HFILL }},
9695 { &hf_camel_timeSinceTariffSwitch,
9696 { "timeSinceTariffSwitch", "camel.timeSinceTariffSwitch",
9697 FT_UINT32, BASE_DEC, NULL, 0,
9698 "camel.INTEGER_0_864000", HFILL }},
9699 { &hf_camel_tttariffSwitchInterval,
9700 { "tttariffSwitchInterval", "camel.tttariffSwitchInterval",
9701 FT_UINT32, BASE_DEC, NULL, 0,
9702 "camel.INTEGER_1_864000", HFILL }},
9703 { &hf_camel_timeIfNoTariffSwitch,
9704 { "timeIfNoTariffSwitch", "camel.timeIfNoTariffSwitch",
9705 FT_UINT32, BASE_DEC, NULL, 0,
9706 "camel.TimeIfNoTariffSwitch", HFILL }},
9707 { &hf_camel_timeIfTariffSwitch,
9708 { "timeIfTariffSwitch", "camel.timeIfTariffSwitch",
9709 FT_NONE, BASE_NONE, NULL, 0,
9710 "camel.TimeIfTariffSwitch", HFILL }},
9712 { "toneID", "camel.toneID",
9713 FT_UINT32, BASE_DEC, NULL, 0,
9714 "camel.Integer4", HFILL }},
9715 { &hf_camel_duration3,
9716 { "duration3", "camel.duration3",
9717 FT_UINT32, BASE_DEC, NULL, 0,
9718 "camel.Integer4", HFILL }},
9719 { &hf_camel_volumeIfNoTariffSwitch,
9720 { "volumeIfNoTariffSwitch", "camel.volumeIfNoTariffSwitch",
9721 FT_UINT32, BASE_DEC, NULL, 0,
9722 "camel.INTEGER_0_2147483647", HFILL }},
9723 { &hf_camel_volumeIfTariffSwitch,
9724 { "volumeIfTariffSwitch", "camel.volumeIfTariffSwitch",
9725 FT_NONE, BASE_NONE, NULL, 0,
9726 "camel.T_volumeIfTariffSwitch", HFILL }},
9727 { &hf_camel_volumeSinceLastTariffSwitch,
9728 { "volumeSinceLastTariffSwitch", "camel.volumeSinceLastTariffSwitch",
9729 FT_UINT32, BASE_DEC, NULL, 0,
9730 "camel.INTEGER_0_2147483647", HFILL }},
9731 { &hf_camel_volumeTariffSwitchInterval,
9732 { "volumeTariffSwitchInterval", "camel.volumeTariffSwitchInterval",
9733 FT_UINT32, BASE_DEC, NULL, 0,
9734 "camel.INTEGER_0_2147483647", HFILL }},
9735 { &hf_camel_rOVolumeIfNoTariffSwitch,
9736 { "rOVolumeIfNoTariffSwitch", "camel.rOVolumeIfNoTariffSwitch",
9737 FT_UINT32, BASE_DEC, NULL, 0,
9738 "camel.INTEGER_0_255", HFILL }},
9739 { &hf_camel_rOVolumeIfTariffSwitch,
9740 { "rOVolumeIfTariffSwitch", "camel.rOVolumeIfTariffSwitch",
9741 FT_NONE, BASE_NONE, NULL, 0,
9742 "camel.T_rOVolumeIfTariffSwitch", HFILL }},
9743 { &hf_camel_rOVolumeSinceLastTariffSwitch,
9744 { "rOVolumeSinceLastTariffSwitch", "camel.rOVolumeSinceLastTariffSwitch",
9745 FT_UINT32, BASE_DEC, NULL, 0,
9746 "camel.INTEGER_0_255", HFILL }},
9747 { &hf_camel_rOVolumeTariffSwitchInterval,
9748 { "rOVolumeTariffSwitchInterval", "camel.rOVolumeTariffSwitchInterval",
9749 FT_UINT32, BASE_DEC, NULL, 0,
9750 "camel.INTEGER_0_255", HFILL }},
9751 { &hf_camel_integer,
9752 { "integer", "camel.integer",
9753 FT_UINT32, BASE_DEC, NULL, 0,
9754 "camel.Integer4", HFILL }},
9756 { "number", "camel.number",
9757 FT_BYTES, BASE_HEX, NULL, 0,
9758 "camel.Digits", HFILL }},
9760 { "time", "camel.time",
9761 FT_BYTES, BASE_HEX, NULL, 0,
9762 "camel.OCTET_STRING_SIZE_2", HFILL }},
9764 { "date", "camel.date",
9765 FT_BYTES, BASE_HEX, NULL, 0,
9766 "camel.OCTET_STRING_SIZE_4", HFILL }},
9768 { "price", "camel.price",
9769 FT_BYTES, BASE_HEX, NULL, 0,
9770 "camel.OCTET_STRING_SIZE_4", HFILL }},
9771 { &hf_camel_pDPTypeOrganization1,
9772 { "pDPTypeOrganization", "camel.pDPTypeOrganization",
9773 FT_UINT8, BASE_DEC, VALS(gsm_map_PDP_Type_Organisation_vals), 0x0f,
9774 "camel.PDPTypeOrganization", HFILL }},
9775 { &hf_camel_pDPTypeNumber1,
9776 { "pDPTypeNumber", "camel.pDPTypeNumber",
9777 FT_BYTES, BASE_HEX, NULL, 0,
9778 "camel.PDPTypeNumber", HFILL }},
9779 { &hf_camel_pDPAddress1,
9780 { "pDPAddress", "camel.pDPAddress",
9781 FT_BYTES, BASE_HEX, NULL, 0,
9782 "camel.PDPAddress", HFILL }},
9784 { "local", "camel.local",
9785 FT_INT32, BASE_DEC, NULL, 0,
9786 "camel.INTEGER", HFILL }},
9788 { "global", "camel.global",
9789 FT_OID, BASE_NONE, NULL, 0,
9790 "camel.OBJECT_IDENTIFIER", HFILL }},
9791 { &hf_camel_messageType,
9792 { "messageType", "camel.messageType",
9793 FT_UINT32, BASE_DEC, VALS(camel_T_messageType_vals), 0,
9794 "camel.T_messageType", HFILL }},
9795 { &hf_camel_firstExtensionExtensionType,
9796 { "firstExtensionExtensionType", "camel.firstExtensionExtensionType",
9797 FT_NONE, BASE_NONE, NULL, 0,
9798 "camel.NULL", HFILL }},
9800 { "extId", "camel.extId",
9801 FT_OID, BASE_NONE, NULL, 0,
9802 "camel.ExtensionSetextensionId", HFILL }},
9803 { &hf_camel_callresultOctet,
9804 { "callresultOctet", "camel.callresultOctet",
9805 FT_BYTES, BASE_HEX, NULL, 0,
9806 "camel.CallresultoctetPDU", HFILL }},
9807 { &hf_camel_allRequests,
9808 { "allRequests", "camel.allRequests",
9809 FT_NONE, BASE_NONE, NULL, 0,
9810 "camel.NULL", HFILL }},
9811 { &hf_camel_callSegmentToCancel,
9812 { "callSegmentToCancel", "camel.callSegmentToCancel",
9813 FT_NONE, BASE_NONE, NULL, 0,
9814 "camel.CallSegmentToCancel", HFILL }},
9815 { &hf_camel_digitsResponse,
9816 { "digitsResponse", "camel.digitsResponse",
9817 FT_BYTES, BASE_HEX, NULL, 0,
9818 "camel.Digits", HFILL }},
9820 { "pdpID", "camel.pdpID",
9821 FT_BYTES, BASE_HEX, NULL, 0,
9822 "camel.PDPId", HFILL }},
9823 { &hf_camel_gPRSCause,
9824 { "gPRSCause", "camel.gPRSCause",
9825 FT_BYTES, BASE_HEX, NULL, 0,
9826 "camel.GPRSCause", HFILL }},
9827 { &hf_camel_gprsCause,
9828 { "gprsCause", "camel.gprsCause",
9829 FT_BYTES, BASE_HEX, NULL, 0,
9830 "camel.GPRSCause", HFILL }},
9831 { &hf_camel_gPRSEvent,
9832 { "gPRSEvent", "camel.gPRSEvent",
9833 FT_UINT32, BASE_DEC, NULL, 0,
9834 "camel.GPRSEventArray", HFILL }},
9835 { &hf_camel_GPRSEventArray_item,
9836 { "Item", "camel.GPRSEventArray_item",
9837 FT_NONE, BASE_NONE, NULL, 0,
9838 "camel.GPRSEvent", HFILL }},
9839 { &hf_camel_sCIGPRSBillingChargingCharacteristics,
9840 { "sCIGPRSBillingChargingCharacteristics", "camel.sCIGPRSBillingChargingCharacteristics",
9841 FT_BYTES, BASE_HEX, NULL, 0,
9842 "camel.SCIGPRSBillingChargingCharacteristics", HFILL }},
9843 { &hf_camel_assumedIdle,
9844 { "assumedIdle", "camel.assumedIdle",
9845 FT_NONE, BASE_NONE, NULL, 0,
9846 "camel.NULL", HFILL }},
9847 { &hf_camel_camelBusy,
9848 { "camelBusy", "camel.camelBusy",
9849 FT_NONE, BASE_NONE, NULL, 0,
9850 "camel.NULL", HFILL }},
9851 { &hf_camel_netDetNotReachable,
9852 { "netDetNotReachable", "camel.netDetNotReachable",
9853 FT_UINT32, BASE_DEC, VALS(camel_NotReachableReason_vals), 0,
9854 "camel.NotReachableReason", HFILL }},
9855 { &hf_camel_notProvidedFromVLR,
9856 { "notProvidedFromVLR", "camel.notProvidedFromVLR",
9857 FT_NONE, BASE_NONE, NULL, 0,
9858 "camel.NULL", HFILL }},
9859 { &hf_camel_PrivateExtensionList_item,
9860 { "Item", "camel.PrivateExtensionList_item",
9861 FT_NONE, BASE_NONE, NULL, 0,
9862 "camel.PrivateExtension", HFILL }},
9863 { &hf_camel_cellIdFixedLength,
9864 { "cellIdFixedLength", "camel.cellIdFixedLength",
9865 FT_BYTES, BASE_HEX, NULL, 0,
9866 "camel.CellIdFixedLength", HFILL }},
9867 { &hf_camel_laiFixedLength,
9868 { "laiFixedLength", "camel.laiFixedLength",
9869 FT_BYTES, BASE_HEX, NULL, 0,
9870 "gsm_map.LAIFixedLength", HFILL }},
9871 { &hf_camel_VariablePartsArray_item,
9872 { "Item", "camel.VariablePartsArray_item",
9873 FT_UINT32, BASE_DEC, VALS(camel_VariablePart_vals), 0,
9874 "camel.VariablePart", HFILL }},
9875 { &hf_camel_gmscAddress,
9876 { "gmscAddress", "camel.gmscAddress",
9877 FT_BYTES, BASE_HEX, NULL, 0,
9878 "camel.ISDN_AddressString", HFILL }},
9879 { &hf_camel_ms_Classmark2,
9880 { "ms-Classmark2", "camel.ms_Classmark2",
9881 FT_BYTES, BASE_HEX, NULL, 0,
9882 "gsm_map.MS_Classmark2", HFILL }},
9884 { "iMEI", "camel.iMEI",
9885 FT_BYTES, BASE_HEX, NULL, 0,
9886 "gsm_map.IMEI", HFILL }},
9887 { &hf_camel_supportedCamelPhases,
9888 { "supportedCamelPhases", "camel.supportedCamelPhases",
9889 FT_BYTES, BASE_HEX, NULL, 0,
9890 "camel.SupportedCamelPhases", HFILL }},
9891 { &hf_camel_offeredCamel4Functionalities,
9892 { "offeredCamel4Functionalities", "camel.offeredCamel4Functionalities",
9893 FT_BYTES, BASE_HEX, NULL, 0,
9894 "camel.OfferedCamel4Functionalities", HFILL }},
9895 { &hf_camel_bearerCapability2,
9896 { "bearerCapability2", "camel.bearerCapability2",
9897 FT_UINT32, BASE_DEC, VALS(camel_BearerCapability_vals), 0,
9898 "camel.BearerCapability", HFILL }},
9899 { &hf_camel_highLayerCompatibility2,
9900 { "highLayerCompatibility2", "camel.highLayerCompatibility2",
9901 FT_BYTES, BASE_HEX, NULL, 0,
9902 "camel.HighLayerCompatibility", HFILL }},
9903 { &hf_camel_lowLayerCompatibility,
9904 { "lowLayerCompatibility", "camel.lowLayerCompatibility",
9905 FT_BYTES, BASE_HEX, NULL, 0,
9906 "camel.LowLayerCompatibility", HFILL }},
9907 { &hf_camel_lowLayerCompatibility2,
9908 { "lowLayerCompatibility2", "camel.lowLayerCompatibility2",
9909 FT_BYTES, BASE_HEX, NULL, 0,
9910 "camel.LowLayerCompatibility", HFILL }},
9911 { &hf_camel_enhancedDialledServicesAllowed,
9912 { "enhancedDialledServicesAllowed", "camel.enhancedDialledServicesAllowed",
9913 FT_NONE, BASE_NONE, NULL, 0,
9914 "camel.NULL", HFILL }},
9915 { &hf_camel_uu_Data,
9916 { "uu-Data", "camel.uu_Data",
9917 FT_NONE, BASE_NONE, NULL, 0,
9918 "gsm_map.UU_Data", HFILL }},
9919 { &hf_camel_destinationRoutingAddress,
9920 { "destinationRoutingAddress", "camel.destinationRoutingAddress",
9921 FT_UINT32, BASE_DEC, NULL, 0,
9922 "camel.DestinationRoutingAddress", HFILL }},
9923 { &hf_camel_legToBeCreated,
9924 { "legToBeCreated", "camel.legToBeCreated",
9925 FT_UINT32, BASE_DEC, VALS(camel_LegID_vals), 0,
9926 "camel.LegID", HFILL }},
9927 { &hf_camel_newCallSegment,
9928 { "newCallSegment", "camel.newCallSegment",
9929 FT_UINT32, BASE_DEC, NULL, 0,
9930 "camel.CallSegmentID", HFILL }},
9931 { &hf_camel_callingPartyNumber,
9932 { "callingPartyNumber", "camel.callingPartyNumber",
9933 FT_BYTES, BASE_HEX, NULL, 0,
9934 "camel.CallingPartyNumber", HFILL }},
9935 { &hf_camel_callReferenceNumber,
9936 { "callReferenceNumber", "camel.callReferenceNumber",
9937 FT_BYTES, BASE_HEX, NULL, 0,
9938 "camel.CallReferenceNumber", HFILL }},
9939 { &hf_camel_gsmSCFAddress,
9940 { "gsmSCFAddress", "camel.gsmSCFAddress",
9941 FT_BYTES, BASE_HEX, NULL, 0,
9942 "camel.ISDN_AddressString", HFILL }},
9943 { &hf_camel_suppress_T_CSI,
9944 { "suppress-T-CSI", "camel.suppress_T_CSI",
9945 FT_NONE, BASE_NONE, NULL, 0,
9946 "camel.NULL", HFILL }},
9947 { &hf_camel_legIDToMove,
9948 { "legIDToMove", "camel.legIDToMove",
9949 FT_UINT32, BASE_DEC, VALS(camel_LegID_vals), 0,
9950 "camel.LegID", HFILL }},
9951 { &hf_camel_legOrCallSegment,
9952 { "legOrCallSegment", "camel.legOrCallSegment",
9953 FT_UINT32, BASE_DEC, VALS(camel_LegOrCallSegment_vals), 0,
9954 "camel.LegOrCallSegment", HFILL }},
9955 { &hf_camel_miscGPRSInfo,
9956 { "miscGPRSInfo", "camel.miscGPRSInfo",
9957 FT_NONE, BASE_NONE, NULL, 0,
9958 "camel.MiscCallInfo", HFILL }},
9959 { &hf_camel_gPRSEventSpecificInformation,
9960 { "gPRSEventSpecificInformation", "camel.gPRSEventSpecificInformation",
9961 FT_UINT32, BASE_DEC, VALS(camel_GPRSEventSpecificInformation_vals), 0,
9962 "camel.GPRSEventSpecificInformation", HFILL }},
9964 { "type", "camel.type",
9965 FT_UINT32, BASE_DEC, VALS(camel_Code_vals), 0,
9966 "camel.SupportedExtensionsid", HFILL }},
9967 { &hf_camel_criticality,
9968 { "criticality", "camel.criticality",
9969 FT_UINT32, BASE_DEC, VALS(camel_CriticalityType_vals), 0,
9970 "camel.CriticalityType", HFILL }},
9972 { "value", "camel.value",
9973 FT_UINT32, BASE_DEC, VALS(camel_SupportedExtensionsExtensionType_vals), 0,
9974 "camel.SupportedExtensionsExtensionType", HFILL }},
9975 { &hf_camel_aChBillingChargingCharacteristics,
9976 { "aChBillingChargingCharacteristics", "camel.aChBillingChargingCharacteristics",
9977 FT_UINT32, BASE_DEC, VALS(camel_AChBillingChargingCharacteristics_vals), 0,
9978 "camel.AChBillingChargingCharacteristics", HFILL }},
9979 { &hf_camel_partyToCharge1,
9980 { "partyToCharge1", "camel.partyToCharge1",
9981 FT_UINT32, BASE_DEC, VALS(camel_SendingSideID_vals), 0,
9982 "camel.SendingSideID", HFILL }},
9983 { &hf_camel_ExtensionsArray_item,
9984 { "Item", "camel.ExtensionsArray_item",
9985 FT_NONE, BASE_NONE, NULL, 0,
9986 "camel.ExtensionField", HFILL }},
9987 { &hf_camel_correlationID,
9988 { "correlationID", "camel.correlationID",
9989 FT_BYTES, BASE_HEX, NULL, 0,
9990 "camel.CorrelationID", HFILL }},
9991 { &hf_camel_iPSSPCapabilities,
9992 { "iPSSPCapabilities", "camel.iPSSPCapabilities",
9993 FT_BYTES, BASE_HEX, NULL, 0,
9994 "camel.IPSSPCapabilities", HFILL }},
9995 { &hf_camel_requestedInformationTypeList,
9996 { "requestedInformationTypeList", "camel.requestedInformationTypeList",
9997 FT_UINT32, BASE_DEC, NULL, 0,
9998 "camel.RequestedInformationTypeList", HFILL }},
10000 { "legID3", "camel.legID3",
10001 FT_UINT32, BASE_DEC, VALS(camel_SendingSideID_vals), 0,
10002 "camel.SendingSideID", HFILL }},
10003 { &hf_camel_alertingPattern,
10004 { "alertingPattern", "camel.alertingPattern",
10005 FT_BYTES, BASE_HEX, NULL, 0,
10006 "camel.AlertingPattern", HFILL }},
10007 { &hf_camel_originalCalledPartyID,
10008 { "originalCalledPartyID", "camel.originalCalledPartyID",
10009 FT_BYTES, BASE_HEX, NULL, 0,
10010 "camel.OriginalCalledPartyID", HFILL }},
10011 { &hf_camel_carrier,
10012 { "carrier", "camel.carrier",
10013 FT_BYTES, BASE_HEX, NULL, 0,
10014 "camel.Carrier", HFILL }},
10015 { &hf_camel_callingPartysCategory,
10016 { "callingPartysCategory", "camel.callingPartysCategory",
10017 FT_UINT16, BASE_DEC, VALS(isup_calling_partys_category_value), 0,
10018 "camel.CallingPartysCategory", HFILL }},
10019 { &hf_camel_redirectingPartyID,
10020 { "redirectingPartyID", "camel.redirectingPartyID",
10021 FT_BYTES, BASE_HEX, NULL, 0,
10022 "camel.RedirectingPartyID", HFILL }},
10023 { &hf_camel_redirectionInformation,
10024 { "redirectionInformation", "camel.redirectionInformation",
10025 FT_BYTES, BASE_HEX, NULL, 0,
10026 "camel.RedirectionInformation", HFILL }},
10027 { &hf_camel_genericNumbers,
10028 { "genericNumbers", "camel.genericNumbers",
10029 FT_UINT32, BASE_DEC, NULL, 0,
10030 "camel.GenericNumbers", HFILL }},
10031 { &hf_camel_serviceInteractionIndicatorsTwo,
10032 { "serviceInteractionIndicatorsTwo", "camel.serviceInteractionIndicatorsTwo",
10033 FT_NONE, BASE_NONE, NULL, 0,
10034 "camel.ServiceInteractionIndicatorsTwo", HFILL }},
10035 { &hf_camel_chargeNumber,
10036 { "chargeNumber", "camel.chargeNumber",
10037 FT_BYTES, BASE_HEX, NULL, 0,
10038 "camel.ChargeNumber", HFILL }},
10039 { &hf_camel_cug_Interlock,
10040 { "cug-Interlock", "camel.cug_Interlock",
10041 FT_BYTES, BASE_HEX, NULL, 0,
10042 "camel.CUG_Interlock", HFILL }},
10043 { &hf_camel_cug_OutgoingAccess,
10044 { "cug-OutgoingAccess", "camel.cug_OutgoingAccess",
10045 FT_NONE, BASE_NONE, NULL, 0,
10046 "camel.NULL", HFILL }},
10047 { &hf_camel_suppressionOfAnnouncement,
10048 { "suppressionOfAnnouncement", "camel.suppressionOfAnnouncement",
10049 FT_NONE, BASE_NONE, NULL, 0,
10050 "camel.SuppressionOfAnnouncement", HFILL }},
10051 { &hf_camel_oCSIApplicable,
10052 { "oCSIApplicable", "camel.oCSIApplicable",
10053 FT_NONE, BASE_NONE, NULL, 0,
10054 "camel.OCSIApplicable", HFILL }},
10055 { &hf_camel_naOliInfo,
10056 { "naOliInfo", "camel.naOliInfo",
10057 FT_BYTES, BASE_HEX, NULL, 0,
10058 "camel.NAOliInfo", HFILL }},
10059 { &hf_camel_bor_InterrogationRequested,
10060 { "bor-InterrogationRequested", "camel.bor_InterrogationRequested",
10061 FT_NONE, BASE_NONE, NULL, 0,
10062 "camel.NULL", HFILL }},
10063 { &hf_camel_resourceAddress,
10064 { "resourceAddress", "camel.resourceAddress",
10065 FT_UINT32, BASE_DEC, VALS(camel_T_resourceAddress_vals), 0,
10066 "camel.T_resourceAddress", HFILL }},
10067 { &hf_camel_ipRoutingAddress,
10068 { "ipRoutingAddress", "camel.ipRoutingAddress",
10069 FT_BYTES, BASE_HEX, NULL, 0,
10070 "camel.IPRoutingAddress", HFILL }},
10072 { "none", "camel.none",
10073 FT_NONE, BASE_NONE, NULL, 0,
10074 "camel.NULL", HFILL }},
10075 { &hf_camel_suppress_O_CSI,
10076 { "suppress-O-CSI", "camel.suppress_O_CSI",
10077 FT_NONE, BASE_NONE, NULL, 0,
10078 "camel.NULL", HFILL }},
10079 { &hf_camel_continueWithArgumentArgExtension,
10080 { "continueWithArgumentArgExtension", "camel.continueWithArgumentArgExtension",
10081 FT_NONE, BASE_NONE, NULL, 0,
10082 "camel.ContinueWithArgumentArgExtension", HFILL }},
10083 { &hf_camel_suppress_D_CSI,
10084 { "suppress-D-CSI", "camel.suppress_D_CSI",
10085 FT_NONE, BASE_NONE, NULL, 0,
10086 "camel.NULL", HFILL }},
10087 { &hf_camel_suppress_N_CSI,
10088 { "suppress-N-CSI", "camel.suppress_N_CSI",
10089 FT_NONE, BASE_NONE, NULL, 0,
10090 "camel.NULL", HFILL }},
10091 { &hf_camel_suppressOutgoingCallBarring,
10092 { "suppressOutgoingCallBarring", "camel.suppressOutgoingCallBarring",
10093 FT_NONE, BASE_NONE, NULL, 0,
10094 "camel.NULL", HFILL }},
10095 { &hf_camel_legToBeReleased,
10096 { "legToBeReleased", "camel.legToBeReleased",
10097 FT_UINT32, BASE_DEC, VALS(camel_LegID_vals), 0,
10098 "camel.LegID", HFILL }},
10099 { &hf_camel_callSegmentFailure,
10100 { "callSegmentFailure", "camel.callSegmentFailure",
10101 FT_NONE, BASE_NONE, NULL, 0,
10102 "camel.CallSegmentFailure", HFILL }},
10103 { &hf_camel_bCSM_Failure,
10104 { "bCSM-Failure", "camel.bCSM_Failure",
10105 FT_NONE, BASE_NONE, NULL, 0,
10106 "camel.BCSM_Failure", HFILL }},
10107 { &hf_camel_assistingSSPIPRoutingAddress,
10108 { "assistingSSPIPRoutingAddress", "camel.assistingSSPIPRoutingAddress",
10109 FT_BYTES, BASE_HEX, NULL, 0,
10110 "camel.AssistingSSPIPRoutingAddress", HFILL }},
10111 { &hf_camel_eventSpecificInformationBCSM,
10112 { "eventSpecificInformationBCSM", "camel.eventSpecificInformationBCSM",
10113 FT_UINT32, BASE_DEC, VALS(camel_EventSpecificInformationBCSM_vals), 0,
10114 "camel.EventSpecificInformationBCSM", HFILL }},
10115 { &hf_camel_legID4,
10116 { "legID4", "camel.legID4",
10117 FT_UINT32, BASE_DEC, VALS(camel_ReceivingSideID_vals), 0,
10118 "camel.ReceivingSideID", HFILL }},
10119 { &hf_camel_miscCallInfo,
10120 { "miscCallInfo", "camel.miscCallInfo",
10121 FT_NONE, BASE_NONE, NULL, 0,
10122 "camel.MiscCallInfo", HFILL }},
10123 { &hf_camel_timerID,
10124 { "timerID", "camel.timerID",
10125 FT_UINT32, BASE_DEC, VALS(camel_TimerID_vals), 0,
10126 "camel.TimerID", HFILL }},
10127 { &hf_camel_timervalue,
10128 { "timervalue", "camel.timervalue",
10129 FT_UINT32, BASE_DEC, NULL, 0,
10130 "camel.TimerValue", HFILL }},
10131 { &hf_camel_sCIBillingChargingCharacteristics,
10132 { "sCIBillingChargingCharacteristics", "camel.sCIBillingChargingCharacteristics",
10133 FT_BYTES, BASE_HEX, NULL, 0,
10134 "camel.SCIBillingChargingCharacteristics", HFILL }},
10135 { &hf_camel_partyToCharge2,
10136 { "partyToCharge2", "camel.partyToCharge2",
10137 FT_UINT32, BASE_DEC, VALS(camel_SendingSideID_vals), 0,
10138 "camel.SendingSideID", HFILL }},
10139 { &hf_camel_legToBeSplit,
10140 { "legToBeSplit", "camel.legToBeSplit",
10141 FT_UINT32, BASE_DEC, VALS(camel_LegID_vals), 0,
10142 "camel.LegID", HFILL }},
10143 { &hf_camel_destinationReference,
10144 { "destinationReference", "camel.destinationReference",
10145 FT_UINT32, BASE_DEC, NULL, 0,
10146 "camel.Integer4", HFILL }},
10147 { &hf_camel_originationReference,
10148 { "originationReference", "camel.originationReference",
10149 FT_UINT32, BASE_DEC, NULL, 0,
10150 "camel.Integer4", HFILL }},
10151 { &hf_camel_eventSpecificInformationSMS,
10152 { "eventSpecificInformationSMS", "camel.eventSpecificInformationSMS",
10153 FT_UINT32, BASE_DEC, VALS(camel_EventSpecificInformationSMS_vals), 0,
10154 "camel.EventSpecificInformationSMS", HFILL }},
10155 { &hf_camel_sMSEvents,
10156 { "sMSEvents", "camel.sMSEvents",
10157 FT_UINT32, BASE_DEC, NULL, 0,
10158 "camel.SMSEventArray", HFILL }},
10159 { &hf_camel_SMSEventArray_item,
10160 { "Item", "camel.SMSEventArray_item",
10161 FT_NONE, BASE_NONE, NULL, 0,
10162 "camel.SMSEvent", HFILL }},
10163 { &hf_camel_bcsmEvents,
10164 { "bcsmEvents", "camel.bcsmEvents",
10165 FT_UINT32, BASE_DEC, NULL, 0,
10166 "camel.BCSMEventArray", HFILL }},
10167 { &hf_camel_BCSMEventArray_item,
10168 { "Item", "camel.BCSMEventArray_item",
10169 FT_NONE, BASE_NONE, NULL, 0,
10170 "camel.BCSMEvent", HFILL }},
10171 { &hf_camel_callingPartysNumber,
10172 { "callingPartysNumber", "camel.callingPartysNumber",
10173 FT_BYTES, BASE_HEX, NULL, 0,
10174 "camel.ISDN_AddressString", HFILL }},
10175 { &hf_camel_destinationSubscriberNumber,
10176 { "destinationSubscriberNumber", "camel.destinationSubscriberNumber",
10177 FT_BYTES, BASE_HEX, NULL, 0,
10178 "camel.CalledPartyBCDNumber", HFILL }},
10179 { &hf_camel_sMSCAddress,
10180 { "sMSCAddress", "camel.sMSCAddress",
10181 FT_BYTES, BASE_HEX, NULL, 0,
10182 "camel.ISDN_AddressString", HFILL }},
10183 { &hf_camel_requestedInformationList,
10184 { "requestedInformationList", "camel.requestedInformationList",
10185 FT_UINT32, BASE_DEC, NULL, 0,
10186 "camel.RequestedInformationList", HFILL }},
10187 { &hf_camel_legID5,
10188 { "legID5", "camel.legID5",
10189 FT_UINT32, BASE_DEC, VALS(camel_ReceivingSideID_vals), 0,
10190 "camel.ReceivingSideID", HFILL }},
10191 { &hf_camel_disconnectFromIPForbidden,
10192 { "disconnectFromIPForbidden", "camel.disconnectFromIPForbidden",
10193 FT_BOOLEAN, 8, NULL, 0,
10194 "camel.BOOLEAN", HFILL }},
10195 { &hf_camel_requestAnnouncementComplete,
10196 { "requestAnnouncementComplete", "camel.requestAnnouncementComplete",
10197 FT_BOOLEAN, 8, NULL, 0,
10198 "camel.BOOLEAN", HFILL }},
10199 { &hf_camel_collectedInfo,
10200 { "collectedInfo", "camel.collectedInfo",
10201 FT_UINT32, BASE_DEC, VALS(camel_CollectedInfo_vals), 0,
10202 "camel.CollectedInfo", HFILL }},
10203 { &hf_camel_mSISDN,
10204 { "mSISDN", "camel.mSISDN",
10205 FT_BYTES, BASE_HEX, NULL, 0,
10206 "camel.ISDN_AddressString", HFILL }},
10208 { "iMSI", "camel.iMSI",
10209 FT_BYTES, BASE_HEX, NULL, 0,
10210 "gsm_map.IMSI", HFILL }},
10211 { &hf_camel_gPRSMSClass,
10212 { "gPRSMSClass", "camel.gPRSMSClass",
10213 FT_NONE, BASE_NONE, NULL, 0,
10214 "camel.GPRSMSClass", HFILL }},
10215 { &hf_camel_sGSNCapabilities,
10216 { "sGSNCapabilities", "camel.sGSNCapabilities",
10217 FT_BYTES, BASE_HEX, NULL, 0,
10218 "camel.SGSNCapabilities", HFILL }},
10219 { &hf_camel_gapCriteria,
10220 { "gapCriteria", "camel.gapCriteria",
10221 FT_UINT32, BASE_DEC, VALS(camel_GapCriteria_vals), 0,
10222 "camel.GapCriteria", HFILL }},
10223 { &hf_camel_gapIndicators,
10224 { "gapIndicators", "camel.gapIndicators",
10225 FT_NONE, BASE_NONE, NULL, 0,
10226 "camel.GapIndicators", HFILL }},
10227 { &hf_camel_controlType,
10228 { "controlType", "camel.controlType",
10229 FT_UINT32, BASE_DEC, VALS(camel_ControlType_vals), 0,
10230 "camel.ControlType", HFILL }},
10231 { &hf_camel_gapTreatment,
10232 { "gapTreatment", "camel.gapTreatment",
10233 FT_UINT32, BASE_DEC, VALS(camel_GapTreatment_vals), 0,
10234 "camel.GapTreatment", HFILL }},
10235 { &hf_camel_calledPartyNumber,
10236 { "calledPartyNumber", "camel.calledPartyNumber",
10237 FT_BYTES, BASE_HEX, NULL, 0,
10238 "camel.CalledPartyNumber", HFILL }},
10239 { &hf_camel_cGEncountered,
10240 { "cGEncountered", "camel.cGEncountered",
10241 FT_UINT32, BASE_DEC, VALS(camel_CGEncountered_vals), 0,
10242 "camel.CGEncountered", HFILL }},
10243 { &hf_camel_locationNumber,
10244 { "locationNumber", "camel.locationNumber",
10245 FT_BYTES, BASE_HEX, NULL, 0,
10246 "camel.LocationNumber", HFILL }},
10247 { &hf_camel_highLayerCompatibility,
10248 { "highLayerCompatibility", "camel.highLayerCompatibility",
10249 FT_BYTES, BASE_HEX, NULL, 0,
10250 "camel.HighLayerCompatibility", HFILL }},
10251 { &hf_camel_additionalCallingPartyNumber,
10252 { "additionalCallingPartyNumber", "camel.additionalCallingPartyNumber",
10253 FT_BYTES, BASE_HEX, NULL, 0,
10254 "camel.AdditionalCallingPartyNumber", HFILL }},
10255 { &hf_camel_bearerCapability,
10256 { "bearerCapability", "camel.bearerCapability",
10257 FT_UINT32, BASE_DEC, VALS(camel_BearerCapability_vals), 0,
10258 "camel.BearerCapability", HFILL }},
10259 { &hf_camel_cug_Index,
10260 { "cug-Index", "camel.cug_Index",
10261 FT_UINT32, BASE_DEC, NULL, 0,
10262 "camel.CUG_Index", HFILL }},
10263 { &hf_camel_subscriberState,
10264 { "subscriberState", "camel.subscriberState",
10265 FT_UINT32, BASE_DEC, VALS(gsm_map_SubscriberState_vals), 0,
10266 "camel.SubscriberState", HFILL }},
10267 { &hf_camel_mscAddress,
10268 { "mscAddress", "camel.mscAddress",
10269 FT_BYTES, BASE_HEX, NULL, 0,
10270 "camel.ISDN_AddressString", HFILL }},
10271 { &hf_camel_calledPartyBCDNumber,
10272 { "calledPartyBCDNumber", "camel.calledPartyBCDNumber",
10273 FT_BYTES, BASE_HEX, NULL, 0,
10274 "camel.CalledPartyBCDNumber", HFILL }},
10275 { &hf_camel_timeAndTimezone,
10276 { "timeAndTimezone", "camel.timeAndTimezone",
10277 FT_BYTES, BASE_HEX, NULL, 0,
10278 "camel.TimeAndTimezone", HFILL }},
10279 { &hf_camel_gsm_ForwardingPending,
10280 { "gsm-ForwardingPending", "camel.gsm_ForwardingPending",
10281 FT_NONE, BASE_NONE, NULL, 0,
10282 "camel.NULL", HFILL }},
10283 { &hf_camel_initialDPArgExtension,
10284 { "initialDPArgExtension", "camel.initialDPArgExtension",
10285 FT_NONE, BASE_NONE, NULL, 0,
10286 "camel.InitialDPArgExtension", HFILL }},
10287 { &hf_camel_callingPartyNumberas,
10288 { "callingPartyNumberas", "camel.callingPartyNumberas",
10289 FT_BYTES, BASE_HEX, NULL, 0,
10290 "camel.ISDN_AddressString", HFILL }},
10291 { &hf_camel_locationInformationMSC,
10292 { "locationInformationMSC", "camel.locationInformationMSC",
10293 FT_NONE, BASE_NONE, NULL, 0,
10294 "gsm_map.LocationInformation", HFILL }},
10295 { &hf_camel_tPShortMessageSubmissionSpecificInfo,
10296 { "tPShortMessageSubmissionSpecificInfo", "camel.tPShortMessageSubmissionSpecificInfo",
10297 FT_BYTES, BASE_HEX, NULL, 0,
10298 "camel.TPShortMessageSubmissionInfo", HFILL }},
10299 { &hf_camel_tPProtocolIdentifier,
10300 { "tPProtocolIdentifier", "camel.tPProtocolIdentifier",
10301 FT_BYTES, BASE_HEX, NULL, 0,
10302 "camel.TPProtocolIdentifier", HFILL }},
10303 { &hf_camel_tPDataCodingScheme,
10304 { "tPDataCodingScheme", "camel.tPDataCodingScheme",
10305 FT_BYTES, BASE_HEX, NULL, 0,
10306 "camel.TPDataCodingScheme", HFILL }},
10307 { &hf_camel_tPValidityPeriod,
10308 { "tPValidityPeriod", "camel.tPValidityPeriod",
10309 FT_BYTES, BASE_HEX, NULL, 0,
10310 "camel.TPValidityPeriod", HFILL }},
10311 { &hf_camel_smsReferenceNumber,
10312 { "smsReferenceNumber", "camel.smsReferenceNumber",
10313 FT_BYTES, BASE_HEX, NULL, 0,
10314 "camel.CallReferenceNumber", HFILL }},
10315 { &hf_camel_sgsnNumber,
10316 { "sgsnNumber", "camel.sgsnNumber",
10317 FT_BYTES, BASE_HEX, NULL, 0,
10318 "camel.ISDN_AddressString", HFILL }},
10319 { &hf_camel_privateExtensionList,
10320 { "privateExtensionList", "camel.privateExtensionList",
10321 FT_UINT32, BASE_DEC, NULL, 0,
10322 "camel.PrivateExtensionList", HFILL }},
10323 { &hf_camel_pcs_Extensions,
10324 { "pcs-Extensions", "camel.pcs_Extensions",
10325 FT_NONE, BASE_NONE, NULL, 0,
10326 "camel.PCS_Extensions", HFILL }},
10327 { &hf_camel_chargingCharacteristics,
10328 { "chargingCharacteristics", "camel.chargingCharacteristics",
10329 FT_UINT32, BASE_DEC, VALS(camel_ChargingCharacteristics_vals), 0,
10330 "camel.ChargingCharacteristics", HFILL }},
10331 { &hf_camel_chargingResult,
10332 { "chargingResult", "camel.chargingResult",
10333 FT_UINT32, BASE_DEC, VALS(camel_ChargingResult_vals), 0,
10334 "camel.ChargingResult", HFILL }},
10335 { &hf_camel_active,
10336 { "active", "camel.active",
10337 FT_BOOLEAN, 8, NULL, 0,
10338 "camel.BOOLEAN", HFILL }},
10339 { &hf_camel_chargingRollOver,
10340 { "chargingRollOver", "camel.chargingRollOver",
10341 FT_UINT32, BASE_DEC, VALS(camel_ChargingRollOver_vals), 0,
10342 "camel.ChargingRollOver", HFILL }},
10343 { &hf_camel_problem,
10344 { "problem", "camel.problem",
10345 FT_UINT32, BASE_DEC, VALS(camel_T_problem_vals), 0,
10346 "camel.T_problem", HFILL }},
10347 { &hf_camel_operation,
10348 { "operation", "camel.operation",
10349 FT_INT32, BASE_DEC, NULL, 0,
10350 "camel.InvokeID", HFILL }},
10351 { &hf_camel_SupportedCamelPhases_phase1,
10352 { "phase1", "camel.phase1",
10353 FT_BOOLEAN, 8, NULL, 0x80,
10355 { &hf_camel_SupportedCamelPhases_phase2,
10356 { "phase2", "camel.phase2",
10357 FT_BOOLEAN, 8, NULL, 0x40,
10359 { &hf_camel_SupportedCamelPhases_phase3,
10360 { "phase3", "camel.phase3",
10361 FT_BOOLEAN, 8, NULL, 0x20,
10363 { &hf_camel_SupportedCamelPhases_phase4,
10364 { "phase4", "camel.phase4",
10365 FT_BOOLEAN, 8, NULL, 0x10,
10367 { &hf_camel_OfferedCamel4Functionalities_initiateCallAttempt,
10368 { "initiateCallAttempt", "camel.initiateCallAttempt",
10369 FT_BOOLEAN, 8, NULL, 0x80,
10371 { &hf_camel_OfferedCamel4Functionalities_splitLeg,
10372 { "splitLeg", "camel.splitLeg",
10373 FT_BOOLEAN, 8, NULL, 0x40,
10375 { &hf_camel_OfferedCamel4Functionalities_moveLeg,
10376 { "moveLeg", "camel.moveLeg",
10377 FT_BOOLEAN, 8, NULL, 0x20,
10379 { &hf_camel_OfferedCamel4Functionalities_disconnectLeg,
10380 { "disconnectLeg", "camel.disconnectLeg",
10381 FT_BOOLEAN, 8, NULL, 0x10,
10383 { &hf_camel_OfferedCamel4Functionalities_entityReleased,
10384 { "entityReleased", "camel.entityReleased",
10385 FT_BOOLEAN, 8, NULL, 0x08,
10387 { &hf_camel_OfferedCamel4Functionalities_dfc_WithArgument,
10388 { "dfc-WithArgument", "camel.dfc-WithArgument",
10389 FT_BOOLEAN, 8, NULL, 0x04,
10391 { &hf_camel_OfferedCamel4Functionalities_playTone,
10392 { "playTone", "camel.playTone",
10393 FT_BOOLEAN, 8, NULL, 0x02,
10395 { &hf_camel_OfferedCamel4Functionalities_dtmf_MidCall,
10396 { "dtmf-MidCall", "camel.dtmf-MidCall",
10397 FT_BOOLEAN, 8, NULL, 0x01,
10399 { &hf_camel_OfferedCamel4Functionalities_chargingIndicator,
10400 { "chargingIndicator", "camel.chargingIndicator",
10401 FT_BOOLEAN, 8, NULL, 0x80,
10403 { &hf_camel_OfferedCamel4Functionalities_alertingDP,
10404 { "alertingDP", "camel.alertingDP",
10405 FT_BOOLEAN, 8, NULL, 0x40,
10407 { &hf_camel_OfferedCamel4Functionalities_locationAtAlerting,
10408 { "locationAtAlerting", "camel.locationAtAlerting",
10409 FT_BOOLEAN, 8, NULL, 0x20,
10411 { &hf_camel_OfferedCamel4Functionalities_changeOfPositionDP,
10412 { "changeOfPositionDP", "camel.changeOfPositionDP",
10413 FT_BOOLEAN, 8, NULL, 0x10,
10415 { &hf_camel_OfferedCamel4Functionalities_or_Interactions,
10416 { "or-Interactions", "camel.or-Interactions",
10417 FT_BOOLEAN, 8, NULL, 0x08,
10419 { &hf_camel_OfferedCamel4Functionalities_warningToneEnhancements,
10420 { "warningToneEnhancements", "camel.warningToneEnhancements",
10421 FT_BOOLEAN, 8, NULL, 0x04,
10423 { &hf_camel_OfferedCamel4Functionalities_cf_Enhancements,
10424 { "cf-Enhancements", "camel.cf-Enhancements",
10425 FT_BOOLEAN, 8, NULL, 0x02,
10427 { &hf_camel_OfferedCamel4Functionalities_subscribedEnhancedDialledServices,
10428 { "subscribedEnhancedDialledServices", "camel.subscribedEnhancedDialledServices",
10429 FT_BOOLEAN, 8, NULL, 0x01,
10431 { &hf_camel_OfferedCamel4Functionalities_servingNetworkEnhancedDialledServices,
10432 { "servingNetworkEnhancedDialledServices", "camel.servingNetworkEnhancedDialledServices",
10433 FT_BOOLEAN, 8, NULL, 0x80,
10435 { &hf_camel_OfferedCamel4Functionalities_criteriaForChangeOfPositionDP,
10436 { "criteriaForChangeOfPositionDP", "camel.criteriaForChangeOfPositionDP",
10437 FT_BOOLEAN, 8, NULL, 0x40,
10439 { &hf_camel_OfferedCamel4Functionalities_serviceChangeDP,
10440 { "serviceChangeDP", "camel.serviceChangeDP",
10441 FT_BOOLEAN, 8, NULL, 0x20,
10444 /*--- End of included file: packet-camel-hfarr.c ---*/
10445 #line 733 "packet-camel-template.c"
10448 /* List of subtrees */
10449 static gint *ett[] = {
10451 &ett_camel_InvokeId,
10452 &ett_camel_InvokePDU,
10453 &ett_camel_ReturnResultPDU,
10454 &ett_camel_ReturnResult_result,
10455 &ett_camel_camelPDU,
10456 &ett_camelisup_parameter,
10458 &ett_camel_isdn_address_string,
10459 &ett_camel_MSRadioAccessCapability,
10460 &ett_camel_MSNetworkCapability,
10461 &ett_camel_AccessPointName,
10462 &ett_camel_pdptypenumber,
10464 /*--- Included file: packet-camel-ettarr.c ---*/
10465 #line 1 "packet-camel-ettarr.c"
10466 &ett_camel_PBSGSNCapabilities,
10467 &ett_camel_PBIPSSPCapabilities,
10468 &ett_camel_PBAddressString,
10469 &ett_camel_PBISDNAddressString,
10470 &ett_camel_PBGeographicalInformation,
10471 &ett_camel_PBGSNAddress,
10472 &ett_camel_PBRedirectionInformation,
10473 &ett_camel_PBCalledPartyNumber,
10474 &ett_camel_PBCallingPartyNumber,
10475 &ett_camel_PBRedirectingNumber,
10476 &ett_camel_PBCause,
10477 &ett_camel_PBGenericNumber,
10478 &ett_camel_PBLocationNumber,
10479 &ett_camel_PBCalledPartyBCDNumber,
10480 &ett_camel_AChBillingChargingCharacteristics,
10481 &ett_camel_T_actimeDurationCharging,
10482 &ett_camel_AChChargingAddress,
10483 &ett_camel_AOCBeforeAnswer,
10484 &ett_camel_AOCGprs,
10485 &ett_camel_AOCSubsequent,
10486 &ett_camel_AudibleIndicator,
10487 &ett_camel_BackwardServiceInteractionInd,
10488 &ett_camel_BasicGapCriteria,
10489 &ett_camel_T_calledAddressAndService,
10490 &ett_camel_T_callingAddressAndService,
10491 &ett_camel_BCSMEvent,
10492 &ett_camel_BCSM_Failure,
10493 &ett_camel_BearerCapability,
10495 &ett_camel_BurstList,
10496 &ett_camel_CAI_Gsm0224,
10497 &ett_camel_CallSegmentFailure,
10498 &ett_camel_CallSegmentToCancel,
10499 &ett_camel_CAMEL_AChBillingChargingCharacteristics,
10500 &ett_camel_T_timeDurationCharging,
10501 &ett_camel_CAMEL_CallResult,
10502 &ett_camel_T_timeDurationChargingResult,
10503 &ett_camel_CAMEL_FCIBillingChargingCharacteristics,
10504 &ett_camel_T_fCIBCCCAMELsequence1,
10505 &ett_camel_CAMEL_FCIGPRSBillingChargingCharacteristics,
10506 &ett_camel_T_fCIBCCCAMELsequence2,
10507 &ett_camel_CAMEL_FCISMSBillingChargingCharacteristics,
10508 &ett_camel_T_fCIBCCCAMELsequence3,
10509 &ett_camel_CAMEL_SCIBillingChargingCharacteristics,
10510 &ett_camel_CAMEL_SCIBillingChargingCharacteristicsAlt,
10511 &ett_camel_CamelSCIGPRSBillingChargingCharacteristics,
10512 &ett_camel_ChangeOfPositionControlInfo,
10513 &ett_camel_ChangeOfLocation,
10514 &ett_camel_ChangeOfLocationAlt,
10515 &ett_camel_ChargingCharacteristics,
10516 &ett_camel_ChargingResult,
10517 &ett_camel_ChargingRollOver,
10518 &ett_camel_CollectedDigits,
10519 &ett_camel_CollectedInfo,
10520 &ett_camel_CompoundCriteria,
10521 &ett_camel_DestinationRoutingAddress,
10522 &ett_camel_DpSpecificCriteria,
10523 &ett_camel_DpSpecificCriteriaAlt,
10524 &ett_camel_DpSpecificInfoAlt,
10525 &ett_camel_T_oServiceChangeSpecificInfo,
10526 &ett_camel_T_tServiceChangeSpecificInfo,
10527 &ett_camel_ElapsedTime,
10528 &ett_camel_T_timeGPRSIfTariffSwitch,
10529 &ett_camel_ElapsedTimeRollOver,
10530 &ett_camel_T_rOTimeGPRSIfTariffSwitch,
10531 &ett_camel_EndUserAddress,
10532 &ett_camel_EventSpecificInformationBCSM,
10533 &ett_camel_T_routeSelectFailureSpecificInfo,
10534 &ett_camel_T_oCalledPartyBusySpecificInfo,
10535 &ett_camel_T_oNoAnswerSpecificInfo,
10536 &ett_camel_T_oAnswerSpecificInfo,
10537 &ett_camel_T_oMidCallSpecificInfo,
10538 &ett_camel_T_midCallEvents,
10539 &ett_camel_T_oDisconnectSpecificInfo,
10540 &ett_camel_T_tBusySpecificInfo,
10541 &ett_camel_T_tNoAnswerSpecificInfo,
10542 &ett_camel_T_tAnswerSpecificInfo,
10543 &ett_camel_T_tMidCallSpecificInfo,
10544 &ett_camel_T_midCallEvents1,
10545 &ett_camel_T_tDisconnectSpecificInfo,
10546 &ett_camel_T_oTermSeizedSpecificInfo,
10547 &ett_camel_T_callAcceptedSpecificInfo,
10548 &ett_camel_T_oAbandonSpecificInfo,
10549 &ett_camel_T_oChangeOfPositionSpecificInfo,
10550 &ett_camel_T_tChangeOfPositionSpecificInfo,
10551 &ett_camel_EventSpecificInformationSMS,
10552 &ett_camel_T_o_smsFailureSpecificInfo,
10553 &ett_camel_T_o_smsSubmittedSpecificInfo,
10554 &ett_camel_T_t_smsFailureSpecificInfo,
10555 &ett_camel_T_t_smsDeliverySpecificInfo,
10556 &ett_camel_Extensions,
10557 &ett_camel_ForwardServiceInteractionInd,
10558 &ett_camel_GapCriteria,
10559 &ett_camel_GapIndicators,
10560 &ett_camel_GapOnService,
10561 &ett_camel_GapTreatment,
10562 &ett_camel_GenericNumbers,
10563 &ett_camel_GPRS_QoS,
10564 &ett_camel_GPRS_QoS_Extension,
10565 &ett_camel_GPRSEvent,
10566 &ett_camel_GPRSEventSpecificInformation,
10567 &ett_camel_T_attachChangeOfPositionSpecificInformation,
10568 &ett_camel_T_pdp_ContextchangeOfPositionSpecificInformation,
10569 &ett_camel_T_detachSpecificInformation,
10570 &ett_camel_T_disconnectSpecificInformation,
10571 &ett_camel_T_pDPContextEstablishmentSpecificInformation,
10572 &ett_camel_T_pDPContextEstablishmentAcknowledgementSpecificInformation,
10573 &ett_camel_GPRSMSClass,
10574 &ett_camel_InbandInfo,
10575 &ett_camel_InformationToSend,
10576 &ett_camel_LegOrCallSegment,
10577 &ett_camel_LocationInformationGPRS,
10578 &ett_camel_MessageID,
10580 &ett_camel_SEQUENCE_SIZE_1_16_OF_Integer4,
10581 &ett_camel_T_variableMessage,
10582 &ett_camel_MetDPCriteriaList,
10583 &ett_camel_MetDPCriterion,
10584 &ett_camel_MetDPCriterionAlt,
10585 &ett_camel_MidCallControlInfo,
10586 &ett_camel_QualityOfService,
10587 &ett_camel_ReceivingSideID,
10588 &ett_camel_RequestedInformationList,
10589 &ett_camel_RequestedInformationTypeList,
10590 &ett_camel_RequestedInformation,
10591 &ett_camel_RequestedInformationValue,
10592 &ett_camel_SendingSideID,
10593 &ett_camel_ServiceInteractionIndicatorsTwo,
10594 &ett_camel_SMSEvent,
10595 &ett_camel_TimeIfTariffSwitch,
10596 &ett_camel_TimeInformation,
10598 &ett_camel_TransferredVolume,
10599 &ett_camel_T_volumeIfTariffSwitch,
10600 &ett_camel_TransferredVolumeRollOver,
10601 &ett_camel_T_rOVolumeIfTariffSwitch,
10602 &ett_camel_VariablePart,
10603 &ett_camel_PDPType,
10605 &ett_camel_PCS_Extensions,
10606 &ett_camel_MiscCallInfo,
10607 &ett_camel_SupportedExtensionsExtensionType,
10608 &ett_camel_PrivateExtension,
10609 &ett_camel_ApplyChargingReportArg,
10610 &ett_camel_CancelArg,
10611 &ett_camel_ReceivedInformationArg,
10612 &ett_camel_ConnectGPRSArg,
10613 &ett_camel_EntityReleasedGPRSArg,
10614 &ett_camel_ReleaseGPRSArg,
10615 &ett_camel_RequestReportGPRSEventArg,
10616 &ett_camel_GPRSEventArray,
10617 &ett_camel_SendChargingInformationGPRSArg,
10618 &ett_camel_SubscriberState,
10619 &ett_camel_PrivateExtensionList,
10620 &ett_camel_CellIdOrLAI,
10622 &ett_camel_VariablePartsArray,
10623 &ett_camel_InitialDPArgExtension,
10624 &ett_camel_InitiateCallAttemptArg,
10625 &ett_camel_InitiateCallAttemptRes,
10626 &ett_camel_MoveLegArg,
10627 &ett_camel_PlayToneArg,
10628 &ett_camel_SupportedCamelPhases,
10629 &ett_camel_OfferedCamel4Functionalities,
10630 &ett_camel_EventReportGPRSArg,
10631 &ett_camel_ExtensionField,
10632 &ett_camel_ApplyChargingArg,
10633 &ett_camel_ExtensionsArray,
10634 &ett_camel_AssistRequestInstructionsArg,
10635 &ett_camel_CallInformationRequestArg,
10636 &ett_camel_ConnectArg,
10637 &ett_camel_ConnectToResourceArg,
10638 &ett_camel_T_resourceAddress,
10639 &ett_camel_ContinueWithArgumentArg,
10640 &ett_camel_ContinueWithArgumentArgExtension,
10641 &ett_camel_DisconnectLegArg,
10642 &ett_camel_EntityReleasedArg,
10643 &ett_camel_DisconnectForwardConnectionWithArgumentArg,
10644 &ett_camel_EstablishTemporaryConnectionArg,
10645 &ett_camel_EventReportBCSMArg,
10646 &ett_camel_ResetTimerArg,
10647 &ett_camel_SendChargingInformationArg,
10648 &ett_camel_SplitLegArg,
10649 &ett_camel_CAPGPRSReferenceNumber,
10650 &ett_camel_EventReportSMSArg,
10651 &ett_camel_RequestReportSMSEventArg,
10652 &ett_camel_SMSEventArray,
10653 &ett_camel_ResetTimerSMSArg,
10654 &ett_camel_RequestReportBCSMEventArg,
10655 &ett_camel_BCSMEventArray,
10656 &ett_camel_ConnectSMSArg,
10657 &ett_camel_CallInformationReportArg,
10658 &ett_camel_PlayAnnouncementArg,
10659 &ett_camel_PromptAndCollectUserInformationArg,
10660 &ett_camel_InitialDPGPRSArg,
10661 &ett_camel_CallGapArg,
10662 &ett_camel_InitialDPArg,
10663 &ett_camel_InitialDPSMSArg,
10664 &ett_camel_ExtensionContainer,
10665 &ett_camel_ApplyChargingGPRSArg,
10666 &ett_camel_ApplyChargingReportGPRSArg,
10667 &ett_camel_CancelGPRSArg,
10668 &ett_camel_ContinueGPRSArg,
10669 &ett_camel_ResetTimerGPRSArg,
10670 &ett_camel_CancelFailedPARAM,
10672 /*--- End of included file: packet-camel-ettarr.c ---*/
10673 #line 751 "packet-camel-template.c"
10676 /* Register protocol */
10677 proto_camel = proto_register_protocol(PNAME, PSNAME, PFNAME);
10679 proto_register_field_array(proto_camel, hf, array_length(hf));
10680 proto_register_subtree_array(ett, array_length(ett));
10682 register_ber_oid_dissector_handle("0.4.0.0.1.0.50.1",camel_handle, proto_camel, "itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) gsm-Network|umts-Network(1) applicationContext(0) cap-gsmssf-to-gsmscf(50) version2(1)" );
10683 register_ber_oid_dissector_handle("0.4.0.0.1.0.51.1",camel_handle, proto_camel, "itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) gsm-Network|umts-Network(1) applicationContext(0) cap-assist-handoff-gsmssf-to-gsmscf(51) version2(1)" );
10684 register_ber_oid_dissector_handle("0.4.0.0.1.0.52.1",camel_handle, proto_camel, "itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) gsm-Network|umts-Network(1) applicationContext(0) cap-gsmSRF-to-gsmscf(52) version2(1)" );
10685 register_ber_oid_dissector_handle("0.4.0.0.1.21.3.50",camel_handle, proto_camel, "itu-t(0) identified-organization(4) etsi(0) mobileDomain(0) gsm-Network(1) cAP3OE(21) ac(3) id-ac-CAP-gprsSSF-gsmSCF-AC(50)" );
10687 add_oid_str_name("0.4.0.0.1.1.5.2","iitu-t(0) identified-organization(4) etsi(0) mobileDomain(0) gsm-Network(1) abstractSyntax(1) cap-GPRS-ReferenceNumber(5) version3(2)");
10691 /* Register our configuration options, particularly our ssn:s */
10692 /* Set default SSNs */
10693 range_convert_str(&global_ssn_range, "6-9", MAX_SSN);
10694 ssn_range = range_empty();
10696 camel_module = prefs_register_protocol(proto_camel, proto_reg_handoff_camel);
10698 prefs_register_enum_preference(camel_module, "date.format", "Date Format",
10699 "The date format: (DD/MM) or (MM/DD)",
10700 &date_format, date_options, FALSE);
10703 prefs_register_range_preference(camel_module, "tcap.ssn",
10705 "TCAP Subsystem numbers used for Camel",
10706 &global_ssn_range, MAX_SSN);