1 /* Do not modify this file. Changes will be overwritten. */
2 /* Generated automatically by the ASN.1 to Wireshark dissector compiler */
3 /* packet-isdn-sup.c */
4 /* ../../tools/asn2wrs.py -b -k -p isdn-sup -c ./isdn-sup.cnf -s ./packet-isdn-sup-template -D . -O ../../epan/dissectors Addressing-Data-Elements.asn Basic-Service-Elements.asn Embedded-Q931-Types.asn General-Errors.asn Advice-of-Charge-Operations.asn Closed-User-Group-Service-Operations.asn Conference-Add-On-Operations.asn Diversion-Operations.asn MCID-Operations.asn User-To-User-Signalling-Operations.asn Freephone-Operations.asn */
6 /* Input file: packet-isdn-sup-template.c */
8 #line 1 "../../asn1/isdn-sup/packet-isdn-sup-template.c"
9 /* packet-isdn-sup-template.c
10 * Routines for ETSI Integrated Services Digital Network (ISDN)
11 * supplementary services
12 * Copyright 2013, Anders Broman <anders.broman@ericsson.com>
16 * Wireshark - Network traffic analyzer
17 * By Gerald Combs <gerald@wireshark.org>
18 * Copyright 1998 Gerald Combs
20 * This program is free software; you can redistribute it and/or
21 * modify it under the terms of the GNU General Public License
22 * as published by the Free Software Foundation; either version 2
23 * of the License, or (at your option) any later version.
25 * This program is distributed in the hope that it will be useful,
26 * but WITHOUT ANY WARRANTY; without even the implied warranty of
27 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
28 * GNU General Public License for more details.
30 * You should have received a copy of the GNU General Public License
31 * along with this program; if not, write to the Free Software
32 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
33 * References: ETSI 300 374
39 #include <epan/packet.h>
42 #include "packet-ber.h"
44 #define PNAME "ISDN supplementary services"
45 #define PSNAME "ISDN_SUP"
46 #define PFNAME "isdn_sup"
49 /*--- Included file: packet-isdn-sup-val.h ---*/
50 #line 1 "../../asn1/isdn-sup/packet-isdn-sup-val.h"
51 #define fPHOID "0.4.0.210.1"
53 /*--- End of included file: packet-isdn-sup-val.h ---*/
54 #line 41 "../../asn1/isdn-sup/packet-isdn-sup-template.c"
56 /* Initialize the protocol and registered fields */
57 static int proto_isdn_sup
= -1;
58 static int hf_isdn_sup_operation
= -1;
59 static int hf_isdn_sup_error
= -1;
61 /* Global variables */
65 static rose_ctx_t isdn_sup_rose_ctx
;
68 typedef struct _isdn_sup_op_t
{
70 new_dissector_t arg_pdu
;
71 new_dissector_t res_pdu
;
74 typedef struct _isdn_global_sup_op_t
{
76 new_dissector_t arg_pdu
;
77 new_dissector_t res_pdu
;
78 } isdn_sup_global_op_t
;
81 typedef struct isdn_sup_err_t
{
83 new_dissector_t err_pdu
;
86 static const value_string isdn_sup_str_operation
[] = {
88 /*--- Included file: packet-isdn-sup-table10.c ---*/
89 #line 1 "../../asn1/isdn-sup/packet-isdn-sup-table10.c"
90 { 1, "userUserService" },
93 { 7, "activationDiversion" },
94 { 8, "deactivationDiversion" },
95 { 9, "activationStatusNotificationDiv" },
96 { 10, "deactivationStatusNotificationDiv" },
97 { 11, "interrogationDiversion" },
98 { 12, "diversionInformation" },
99 { 13, "callDeflection" },
100 { 14, "callRerouteing" },
101 { 15, "divertingLegInformation2" },
102 { 17, "interrogateServedUserNumbers" },
103 { 18, "divertingLegInformation1" },
104 { 19, "divertingLegInformation3" },
105 { 30, "chargingRequest" },
106 { 31, "aOCSCurrency" },
107 { 32, "aOCSSpecialArr" },
108 { 33, "aOCDCurrency" },
109 { 34, "aOCDChargingUnit" },
110 { 35, "aOCECurrency" },
111 { 36, "aOCEChargingUnit" },
116 { 44, "isolateCONF" },
117 { 45, "reattachCONF" },
120 /*--- End of included file: packet-isdn-sup-table10.c ---*/
121 #line 74 "../../asn1/isdn-sup/packet-isdn-sup-template.c"
126 static const value_string isdn_sup_str_error
[] = {
128 /*--- Included file: packet-isdn-sup-table20.c ---*/
129 #line 1 "../../asn1/isdn-sup/packet-isdn-sup-table20.c"
130 { 0, "notSubscribed" },
131 { 3, "notAvailable" },
132 { 4, "notImplemented" },
133 { 6, "invalidServedUserNr" },
134 { 7, "invalidCallState" },
135 { 8, "basicServiceNotProvided" },
136 { 9, "notIncomingCall" },
137 { 10, "supplementaryServiceInteractionNotAllowed" },
138 { 11, "resourceUnavailable" },
139 { 26, "noChargingInfoAvailable" },
140 { 16, "invalidOrUnregisteredCUGIndex" },
141 { 17, "requestedBasicServiceViolatesCUGConstraints" },
142 { 18, "outgoingCallsBarredWithinCUG" },
143 { 19, "incomingCallsBarredWithinCUG" },
144 { 20, "userNotMemberOfCUG" },
145 { 21, "inconsistencyInDesignatedFacilityAndSubscriberClass" },
146 { 28, "illConferenceId" },
147 { 29, "illPartyId" },
148 { 30, "numberOfPartiesExceeded" },
150 { 32, "notAllowed" },
151 { 12, "invalidDivertedToNr" },
152 { 14, "specialServiceNr" },
153 { 15, "diversionToServedUserNr" },
154 { 23, "incomingCallAccepted" },
155 { 24, "numberOfDiversionsExceeded" },
156 { 46, "notActivated" },
157 { 48, "requestAlreadyAccepted" },
158 { 1, "rejectedByTheNetwork" },
159 { 2, "rejectedByTheUser" },
161 /*--- End of included file: packet-isdn-sup-table20.c ---*/
162 #line 80 "../../asn1/isdn-sup/packet-isdn-sup-template.c"
166 static int hf_isdn_sup
= -1;
169 /*--- Included file: packet-isdn-sup-hf.c ---*/
170 #line 1 "../../asn1/isdn-sup/packet-isdn-sup-hf.c"
171 static int hf_isdn_sup_ChargingRequestArg_PDU
= -1; /* ChargingRequestArg */
172 static int hf_isdn_sup_ChargingRequestRes_PDU
= -1; /* ChargingRequestRes */
173 static int hf_isdn_sup_AOCSCurrencyArg_PDU
= -1; /* AOCSCurrencyArg */
174 static int hf_isdn_sup_AOCSSpecialArrArg_PDU
= -1; /* AOCSSpecialArrArg */
175 static int hf_isdn_sup_AOCDCurrencyArg_PDU
= -1; /* AOCDCurrencyArg */
176 static int hf_isdn_sup_AOCDChargingUnitArg_PDU
= -1; /* AOCDChargingUnitArg */
177 static int hf_isdn_sup_AOCECurrencyArg_PDU
= -1; /* AOCECurrencyArg */
178 static int hf_isdn_sup_AOCEChargingUnitArg_PDU
= -1; /* AOCEChargingUnitArg */
179 static int hf_isdn_sup_CUGcallArg_PDU
= -1; /* CUGcallArg */
180 static int hf_isdn_sup_BeginCONFArg_PDU
= -1; /* BeginCONFArg */
181 static int hf_isdn_sup_BeginCONFRes_PDU
= -1; /* BeginCONFRes */
182 static int hf_isdn_sup_AddCONFArg_PDU
= -1; /* AddCONFArg */
183 static int hf_isdn_sup_AddCONFRes_PDU
= -1; /* AddCONFRes */
184 static int hf_isdn_sup_SplitCONFArg_PDU
= -1; /* SplitCONFArg */
185 static int hf_isdn_sup_DropCONFArg_PDU
= -1; /* DropCONFArg */
186 static int hf_isdn_sup_IsolateCONFArg_PDU
= -1; /* IsolateCONFArg */
187 static int hf_isdn_sup_ReattachCONFArg_PDU
= -1; /* ReattachCONFArg */
188 static int hf_isdn_sup_PartyDISCArg_PDU
= -1; /* PartyDISCArg */
189 static int hf_isdn_sup_ActivationDiversionArg_PDU
= -1; /* ActivationDiversionArg */
190 static int hf_isdn_sup_DeactivationDiversionArg_PDU
= -1; /* DeactivationDiversionArg */
191 static int hf_isdn_sup_ActivationStatusNotificationDivArg_PDU
= -1; /* ActivationStatusNotificationDivArg */
192 static int hf_isdn_sup_DeactivationStatusNotificationDivArg_PDU
= -1; /* DeactivationStatusNotificationDivArg */
193 static int hf_isdn_sup_InterrogationDiversionArg_PDU
= -1; /* InterrogationDiversionArg */
194 static int hf_isdn_sup_InterrogationDiversionRes_PDU
= -1; /* InterrogationDiversionRes */
195 static int hf_isdn_sup_InterrogateServedUserNumbersRes_PDU
= -1; /* InterrogateServedUserNumbersRes */
196 static int hf_isdn_sup_DiversionInformationArg_PDU
= -1; /* DiversionInformationArg */
197 static int hf_isdn_sup_CallDeflectionArg_PDU
= -1; /* CallDeflectionArg */
198 static int hf_isdn_sup_CallRerouteingArg_PDU
= -1; /* CallRerouteingArg */
199 static int hf_isdn_sup_DivertingLegInformation1Arg_PDU
= -1; /* DivertingLegInformation1Arg */
200 static int hf_isdn_sup_DivertingLegInformation2Arg_PDU
= -1; /* DivertingLegInformation2Arg */
201 static int hf_isdn_sup_DivertingLegInformation3Arg_PDU
= -1; /* DivertingLegInformation3Arg */
202 static int hf_isdn_sup_UserUserServiceArg_PDU
= -1; /* UserUserServiceArg */
203 static int hf_isdn_sup_CalledFreephoneNrArg_PDU
= -1; /* CalledFreephoneNrArg */
204 static int hf_isdn_sup_Monitor_T_FPHArg_PDU
= -1; /* Monitor_T_FPHArg */
205 static int hf_isdn_sup_Free_T_FPHArg_PDU
= -1; /* Free_T_FPHArg */
206 static int hf_isdn_sup_Call_T_FPHArg_PDU
= -1; /* Call_T_FPHArg */
207 static int hf_isdn_sup_presentationallowedaddressscreened
= -1; /* AddressScreened */
208 static int hf_isdn_sup_presentationRestricted
= -1; /* NULL */
209 static int hf_isdn_sup_numberNotAvailableDueToInterworking
= -1; /* NULL */
210 static int hf_isdn_sup_presentationrestrictedaddressscreened
= -1; /* AddressScreened */
211 static int hf_isdn_sup_presentationAllowedAddress
= -1; /* Address */
212 static int hf_isdn_sup_presentationRestrictedAddress
= -1; /* Address */
213 static int hf_isdn_sup_presentationallowednumberscreened
= -1; /* NumberScreened */
214 static int hf_isdn_sup_presentationrestrictednumberscreened
= -1; /* NumberScreened */
215 static int hf_isdn_sup_presentationAllowedNumber
= -1; /* PartyNumber */
216 static int hf_isdn_sup_presentationRestrictedNumber
= -1; /* PartyNumber */
217 static int hf_isdn_sup_partyNumber
= -1; /* PartyNumber */
218 static int hf_isdn_sup_screeningIndicator
= -1; /* ScreeningIndicator */
219 static int hf_isdn_sup_partySubaddress
= -1; /* PartySubaddress */
220 static int hf_isdn_sup_unknownPartyNumber
= -1; /* NumberDigits */
221 static int hf_isdn_sup_publicPartyNumber
= -1; /* PublicPartyNumber */
222 static int hf_isdn_sup_nsapEncodedNumber
= -1; /* NsapEncodedNumber */
223 static int hf_isdn_sup_dataPartyNumber
= -1; /* NumberDigits */
224 static int hf_isdn_sup_telexPartyNumber
= -1; /* NumberDigits */
225 static int hf_isdn_sup_privatePartyNumber
= -1; /* PrivatePartyNumber */
226 static int hf_isdn_sup_nationalStandardPartyNumber
= -1; /* NumberDigits */
227 static int hf_isdn_sup_publicTypeOfNumber
= -1; /* PublicTypeOfNumber */
228 static int hf_isdn_sup_publicNumberDigits
= -1; /* NumberDigits */
229 static int hf_isdn_sup_privateTypeOfNumber
= -1; /* PrivateTypeOfNumber */
230 static int hf_isdn_sup_privateNumberDigits
= -1; /* NumberDigits */
231 static int hf_isdn_sup_userSpecifiedSubaddress
= -1; /* UserSpecifiedSubaddress */
232 static int hf_isdn_sup_nSAPSubaddress
= -1; /* NSAPSubaddress */
233 static int hf_isdn_sup_subaddressInformation
= -1; /* SubaddressInformation */
234 static int hf_isdn_sup_oddCountIndicator
= -1; /* BOOLEAN */
235 static int hf_isdn_sup_aOCSCurrencyInfoList
= -1; /* AOCSCurrencyInfoList */
236 static int hf_isdn_sup_aOCSSpecialArrInfo
= -1; /* AOCSSpecialArrInfo */
237 static int hf_isdn_sup_chargingInfoFollows
= -1; /* NULL */
238 static int hf_isdn_sup_chargeNotAvailable
= -1; /* NULL */
239 static int hf_isdn_sup_aOCDCurrencyInfo
= -1; /* AOCDCurrencyInfo */
240 static int hf_isdn_sup_aOCDChargingUnitInfo
= -1; /* AOCDChargingUnitInfo */
241 static int hf_isdn_sup_aOCECurrencyInfo
= -1; /* AOCECurrencyInfo */
242 static int hf_isdn_sup_aOCEChargingUnitInfo
= -1; /* AOCEChargingUnitInfo */
243 static int hf_isdn_sup_AOCSCurrencyInfoList_item
= -1; /* AOCSCurrencyInfo */
244 static int hf_isdn_sup_chargedItem
= -1; /* ChargedItem */
245 static int hf_isdn_sup_chargingtype
= -1; /* T_chargingtype */
246 static int hf_isdn_sup_aocschargingtypespecificCurrency
= -1; /* AOCSChargingTypeSpecificCurrency */
247 static int hf_isdn_sup_durationCurrency
= -1; /* DurationCurrency */
248 static int hf_isdn_sup_flatRateCurrency
= -1; /* FlatRateCurrency */
249 static int hf_isdn_sup_volumeRateCurrency
= -1; /* VolumeRateCurrency */
250 static int hf_isdn_sup_specialChargingCode
= -1; /* SpecialChargingCode */
251 static int hf_isdn_sup_freeOfCharge
= -1; /* NULL */
252 static int hf_isdn_sup_currencyInfoNotAvailable
= -1; /* NULL */
253 static int hf_isdn_sup_dCurrency
= -1; /* Currency */
254 static int hf_isdn_sup_dAmount
= -1; /* Amount */
255 static int hf_isdn_sup_dChargingType
= -1; /* ChargingType */
256 static int hf_isdn_sup_dTime
= -1; /* Time */
257 static int hf_isdn_sup_dGranularity
= -1; /* Time */
258 static int hf_isdn_sup_fRCurrency
= -1; /* Currency */
259 static int hf_isdn_sup_fRAmount
= -1; /* Amount */
260 static int hf_isdn_sup_vRCurrency
= -1; /* Currency */
261 static int hf_isdn_sup_vRAmount
= -1; /* Amount */
262 static int hf_isdn_sup_vRVolumeUnit
= -1; /* VolumeUnit */
263 static int hf_isdn_sup_aocdspecificCurrency
= -1; /* AOCDSpecificCurrency */
264 static int hf_isdn_sup_recordedCurrency
= -1; /* RecordedCurrency */
265 static int hf_isdn_sup_typeOfChargingInfo
= -1; /* TypeOfChargingInfo */
266 static int hf_isdn_sup_aOCDBillingId
= -1; /* AOCDBillingId */
267 static int hf_isdn_sup_aocdspecificchargingunits
= -1; /* AOCDSpecificChargingUnits */
268 static int hf_isdn_sup_recordedUnitsList
= -1; /* RecordedUnitsList */
269 static int hf_isdn_sup_rCurrency
= -1; /* Currency */
270 static int hf_isdn_sup_rAmount
= -1; /* Amount */
271 static int hf_isdn_sup_RecordedUnitsList_item
= -1; /* RecordedUnits */
272 static int hf_isdn_sup_recoredunitscc
= -1; /* RecoredUnitsCc */
273 static int hf_isdn_sup_recordedNumberOfUnits
= -1; /* NumberOfUnits */
274 static int hf_isdn_sup_notAvailable
= -1; /* NULL */
275 static int hf_isdn_sup_recordedTypeOfUnits
= -1; /* TypeOfUnit */
276 static int hf_isdn_sup_aocecurrencycc
= -1; /* AOCECurrencyCc */
277 static int hf_isdn_sup_aoceccspecificCurrency
= -1; /* AOCECcSpecificCurrency */
278 static int hf_isdn_sup_aOCEBillingId
= -1; /* AOCEBillingId */
279 static int hf_isdn_sup_chargingAssociation
= -1; /* ChargingAssociation */
280 static int hf_isdn_sup_aocechargingunitcc
= -1; /* AOCEChargingUnitCc */
281 static int hf_isdn_sup_aoceccspecificchargingunits
= -1; /* AOCECcSpecificChargingUnits */
282 static int hf_isdn_sup_currencyAmount
= -1; /* CurrencyAmount */
283 static int hf_isdn_sup_multiplier
= -1; /* Multiplier */
284 static int hf_isdn_sup_lengthOfTimeUnit
= -1; /* LengthOfTimeUnit */
285 static int hf_isdn_sup_scale
= -1; /* Scale */
286 static int hf_isdn_sup_chargeNumber
= -1; /* PartyNumber */
287 static int hf_isdn_sup_chargeIdentifier
= -1; /* ChargeIdentifier */
288 static int hf_isdn_sup_oARequested
= -1; /* OARequested */
289 static int hf_isdn_sup_cUGIndex
= -1; /* CUGIndex */
290 static int hf_isdn_sup_conferenceId
= -1; /* ConferenceId */
291 static int hf_isdn_sup_partyId
= -1; /* PartyId */
292 static int hf_isdn_sup_procedure
= -1; /* Procedure */
293 static int hf_isdn_sup_basicService
= -1; /* BasicService */
294 static int hf_isdn_sup_forwardedToAddress
= -1; /* Address */
295 static int hf_isdn_sup_servedUserNr
= -1; /* ServedUserNr */
296 static int hf_isdn_sup_noReplyTimer
= -1; /* NoReplyTimer */
297 static int hf_isdn_sup_forwardedToAddresss
= -1; /* Address */
298 static int hf_isdn_sup_diversionReason
= -1; /* DiversionReason */
299 static int hf_isdn_sup_servedUserSubaddress
= -1; /* PartySubaddress */
300 static int hf_isdn_sup_callingAddress
= -1; /* PresentedAddressScreened */
301 static int hf_isdn_sup_originalCalledNr
= -1; /* PresentedNumberUnscreened */
302 static int hf_isdn_sup_lastDivertingNr
= -1; /* PresentedNumberUnscreened */
303 static int hf_isdn_sup_lastDivertingReason
= -1; /* DiversionReason */
304 static int hf_isdn_sup_userInfo
= -1; /* Q931InformationElement */
305 static int hf_isdn_sup_deflectionAddress
= -1; /* Address */
306 static int hf_isdn_sup_presentationAllowedDivertedToUser
= -1; /* PresentationAllowedIndicator */
307 static int hf_isdn_sup_rerouteingReason
= -1; /* DiversionReason */
308 static int hf_isdn_sup_calledAddress
= -1; /* Address */
309 static int hf_isdn_sup_rerouteingCounter
= -1; /* DiversionCounter */
310 static int hf_isdn_sup_q931InfoElement
= -1; /* Q931InformationElement */
311 static int hf_isdn_sup_lastRerouteingNr
= -1; /* PresentedNumberUnscreened */
312 static int hf_isdn_sup_subscriptionOption
= -1; /* SubscriptionOption */
313 static int hf_isdn_sup_callingPartySubaddress
= -1; /* PartySubaddress */
314 static int hf_isdn_sup_divertedToNumber
= -1; /* PresentedNumberUnscreened */
315 static int hf_isdn_sup_diversionCounter
= -1; /* DiversionCounter */
316 static int hf_isdn_sup_divertingNr
= -1; /* PresentedNumberUnscreened */
317 static int hf_isdn_sup_IntResultList_item
= -1; /* IntResult */
318 static int hf_isdn_sup_individualNumber
= -1; /* PartyNumber */
319 static int hf_isdn_sup_allNumbers
= -1; /* NULL */
320 static int hf_isdn_sup_ServedUserNumberList_item
= -1; /* PartyNumber */
321 static int hf_isdn_sup_service
= -1; /* Service */
322 static int hf_isdn_sup_preferred
= -1; /* Preferred */
323 static int hf_isdn_sup_servedUserDestination
= -1; /* PartyNumber */
324 static int hf_isdn_sup_queueIdentity
= -1; /* QueueIdentity */
325 static int hf_isdn_sup_fPHReference
= -1; /* FPHReference */
326 static int hf_isdn_sup_calledFreephoneNr
= -1; /* CalledFreephoneNr */
328 /*--- End of included file: packet-isdn-sup-hf.c ---*/
329 #line 86 "../../asn1/isdn-sup/packet-isdn-sup-template.c"
332 /* Initialize the subtree pointers */
333 static gint ett_isdn_sup
= -1;
336 /*--- Included file: packet-isdn-sup-ett.c ---*/
337 #line 1 "../../asn1/isdn-sup/packet-isdn-sup-ett.c"
338 static gint ett_isdn_sup_PresentedAddressScreened
= -1;
339 static gint ett_isdn_sup_PresentedAddressUnscreened
= -1;
340 static gint ett_isdn_sup_PresentedNumberScreened
= -1;
341 static gint ett_isdn_sup_PresentedNumberUnscreened
= -1;
342 static gint ett_isdn_sup_AddressScreened
= -1;
343 static gint ett_isdn_sup_NumberScreened
= -1;
344 static gint ett_isdn_sup_Address
= -1;
345 static gint ett_isdn_sup_PartyNumber
= -1;
346 static gint ett_isdn_sup_PublicPartyNumber
= -1;
347 static gint ett_isdn_sup_PrivatePartyNumber
= -1;
348 static gint ett_isdn_sup_PartySubaddress
= -1;
349 static gint ett_isdn_sup_UserSpecifiedSubaddress
= -1;
350 static gint ett_isdn_sup_ChargingRequestRes
= -1;
351 static gint ett_isdn_sup_AOCSCurrencyArg
= -1;
352 static gint ett_isdn_sup_AOCSSpecialArrArg
= -1;
353 static gint ett_isdn_sup_AOCDCurrencyArg
= -1;
354 static gint ett_isdn_sup_AOCDChargingUnitArg
= -1;
355 static gint ett_isdn_sup_AOCECurrencyArg
= -1;
356 static gint ett_isdn_sup_AOCEChargingUnitArg
= -1;
357 static gint ett_isdn_sup_AOCSCurrencyInfoList
= -1;
358 static gint ett_isdn_sup_AOCSCurrencyInfo
= -1;
359 static gint ett_isdn_sup_T_chargingtype
= -1;
360 static gint ett_isdn_sup_AOCSChargingTypeSpecificCurrency
= -1;
361 static gint ett_isdn_sup_DurationCurrency
= -1;
362 static gint ett_isdn_sup_FlatRateCurrency
= -1;
363 static gint ett_isdn_sup_VolumeRateCurrency
= -1;
364 static gint ett_isdn_sup_AOCDCurrencyInfo
= -1;
365 static gint ett_isdn_sup_AOCDSpecificCurrency
= -1;
366 static gint ett_isdn_sup_AOCDChargingUnitInfo
= -1;
367 static gint ett_isdn_sup_AOCDSpecificChargingUnits
= -1;
368 static gint ett_isdn_sup_RecordedCurrency
= -1;
369 static gint ett_isdn_sup_RecordedUnitsList
= -1;
370 static gint ett_isdn_sup_RecordedUnits
= -1;
371 static gint ett_isdn_sup_RecoredUnitsCc
= -1;
372 static gint ett_isdn_sup_AOCECurrencyInfo
= -1;
373 static gint ett_isdn_sup_AOCECurrencyCc
= -1;
374 static gint ett_isdn_sup_AOCECcSpecificCurrency
= -1;
375 static gint ett_isdn_sup_AOCEChargingUnitInfo
= -1;
376 static gint ett_isdn_sup_AOCEChargingUnitCc
= -1;
377 static gint ett_isdn_sup_AOCECcSpecificChargingUnits
= -1;
378 static gint ett_isdn_sup_Amount
= -1;
379 static gint ett_isdn_sup_Time
= -1;
380 static gint ett_isdn_sup_ChargingAssociation
= -1;
381 static gint ett_isdn_sup_CUGcallArg
= -1;
382 static gint ett_isdn_sup_BeginCONFRes
= -1;
383 static gint ett_isdn_sup_SplitCONFArg
= -1;
384 static gint ett_isdn_sup_ActivationDiversionArg
= -1;
385 static gint ett_isdn_sup_DeactivationDiversionArg
= -1;
386 static gint ett_isdn_sup_ActivationStatusNotificationDivArg
= -1;
387 static gint ett_isdn_sup_DeactivationStatusNotificationDivArg
= -1;
388 static gint ett_isdn_sup_InterrogationDiversionArg
= -1;
389 static gint ett_isdn_sup_DiversionInformationArg
= -1;
390 static gint ett_isdn_sup_CallDeflectionArg
= -1;
391 static gint ett_isdn_sup_CallRerouteingArg
= -1;
392 static gint ett_isdn_sup_DivertingLegInformation1Arg
= -1;
393 static gint ett_isdn_sup_DivertingLegInformation2Arg
= -1;
394 static gint ett_isdn_sup_IntResultList
= -1;
395 static gint ett_isdn_sup_IntResult
= -1;
396 static gint ett_isdn_sup_ServedUserNr
= -1;
397 static gint ett_isdn_sup_ServedUserNumberList
= -1;
398 static gint ett_isdn_sup_UserUserServiceArg
= -1;
399 static gint ett_isdn_sup_Monitor_T_FPHArg
= -1;
400 static gint ett_isdn_sup_Free_T_FPHArg
= -1;
401 static gint ett_isdn_sup_Call_T_FPHArg
= -1;
403 /*--- End of included file: packet-isdn-sup-ett.c ---*/
404 #line 92 "../../asn1/isdn-sup/packet-isdn-sup-template.c"
407 /* Preference settings default */
409 /* Global variables */
412 /*--- Included file: packet-isdn-sup-fn.c ---*/
413 #line 1 "../../asn1/isdn-sup/packet-isdn-sup-fn.c"
417 dissect_isdn_sup_NumberDigits(gboolean implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
418 offset
= dissect_ber_restricted_string(implicit_tag
, BER_UNI_TAG_NumericString
,
419 actx
, tree
, tvb
, offset
, hf_index
,
426 static const value_string isdn_sup_PublicTypeOfNumber_vals
[] = {
428 { 1, "internationalNumber" },
429 { 2, "nationalNumber" },
430 { 3, "networkSpecificNumber" },
431 { 4, "subscriberNumber" },
432 { 6, "abbreviatedNumber" },
438 dissect_isdn_sup_PublicTypeOfNumber(gboolean implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
439 offset
= dissect_ber_integer(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
446 static const ber_sequence_t PublicPartyNumber_sequence
[] = {
447 { &hf_isdn_sup_publicTypeOfNumber
, BER_CLASS_UNI
, BER_UNI_TAG_ENUMERATED
, BER_FLAGS_NOOWNTAG
, dissect_isdn_sup_PublicTypeOfNumber
},
448 { &hf_isdn_sup_publicNumberDigits
, BER_CLASS_UNI
, BER_UNI_TAG_NumericString
, BER_FLAGS_NOOWNTAG
, dissect_isdn_sup_NumberDigits
},
449 { NULL
, 0, 0, 0, NULL
}
453 dissect_isdn_sup_PublicPartyNumber(gboolean implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
454 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
455 PublicPartyNumber_sequence
, hf_index
, ett_isdn_sup_PublicPartyNumber
);
463 dissect_isdn_sup_NsapEncodedNumber(gboolean implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
464 offset
= dissect_ber_octet_string(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
471 static const value_string isdn_sup_PrivateTypeOfNumber_vals
[] = {
473 { 1, "level2RegionalNumber" },
474 { 2, "level1RegionalNumber" },
475 { 3, "pTNSpecificNumber" },
476 { 4, "localNumber" },
477 { 6, "abbreviatedNumber" },
483 dissect_isdn_sup_PrivateTypeOfNumber(gboolean implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
484 offset
= dissect_ber_integer(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
491 static const ber_sequence_t PrivatePartyNumber_sequence
[] = {
492 { &hf_isdn_sup_privateTypeOfNumber
, BER_CLASS_UNI
, BER_UNI_TAG_ENUMERATED
, BER_FLAGS_NOOWNTAG
, dissect_isdn_sup_PrivateTypeOfNumber
},
493 { &hf_isdn_sup_privateNumberDigits
, BER_CLASS_UNI
, BER_UNI_TAG_NumericString
, BER_FLAGS_NOOWNTAG
, dissect_isdn_sup_NumberDigits
},
494 { NULL
, 0, 0, 0, NULL
}
498 dissect_isdn_sup_PrivatePartyNumber(gboolean implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
499 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
500 PrivatePartyNumber_sequence
, hf_index
, ett_isdn_sup_PrivatePartyNumber
);
506 static const value_string isdn_sup_PartyNumber_vals
[] = {
507 { 0, "unknownPartyNumber" },
508 { 1, "publicPartyNumber" },
509 { 2, "nsapEncodedNumber" },
510 { 3, "dataPartyNumber" },
511 { 4, "telexPartyNumber" },
512 { 5, "privatePartyNumber" },
513 { 8, "nationalStandardPartyNumber" },
517 static const ber_choice_t PartyNumber_choice
[] = {
518 { 0, &hf_isdn_sup_unknownPartyNumber
, BER_CLASS_CON
, 0, BER_FLAGS_IMPLTAG
, dissect_isdn_sup_NumberDigits
},
519 { 1, &hf_isdn_sup_publicPartyNumber
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_isdn_sup_PublicPartyNumber
},
520 { 2, &hf_isdn_sup_nsapEncodedNumber
, BER_CLASS_CON
, 2, BER_FLAGS_IMPLTAG
, dissect_isdn_sup_NsapEncodedNumber
},
521 { 3, &hf_isdn_sup_dataPartyNumber
, BER_CLASS_CON
, 3, BER_FLAGS_IMPLTAG
, dissect_isdn_sup_NumberDigits
},
522 { 4, &hf_isdn_sup_telexPartyNumber
, BER_CLASS_CON
, 4, BER_FLAGS_IMPLTAG
, dissect_isdn_sup_NumberDigits
},
523 { 5, &hf_isdn_sup_privatePartyNumber
, BER_CLASS_CON
, 5, BER_FLAGS_IMPLTAG
, dissect_isdn_sup_PrivatePartyNumber
},
524 { 8, &hf_isdn_sup_nationalStandardPartyNumber
, BER_CLASS_CON
, 8, BER_FLAGS_IMPLTAG
, dissect_isdn_sup_NumberDigits
},
525 { 0, NULL
, 0, 0, 0, NULL
}
529 dissect_isdn_sup_PartyNumber(gboolean implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
530 offset
= dissect_ber_choice(actx
, tree
, tvb
, offset
,
531 PartyNumber_choice
, hf_index
, ett_isdn_sup_PartyNumber
,
538 static const value_string isdn_sup_ScreeningIndicator_vals
[] = {
539 { 0, "userProvidedNotScreened" },
540 { 1, "userProvidedVerifiedAndPassed" },
541 { 2, "userProvidedVerifiedAndFailed" },
542 { 3, "networkProvided" },
548 dissect_isdn_sup_ScreeningIndicator(gboolean implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
549 offset
= dissect_ber_integer(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
558 dissect_isdn_sup_SubaddressInformation(gboolean implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
559 offset
= dissect_ber_octet_string(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
568 dissect_isdn_sup_BOOLEAN(gboolean implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
569 offset
= dissect_ber_boolean(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
, NULL
);
575 static const ber_sequence_t UserSpecifiedSubaddress_sequence
[] = {
576 { &hf_isdn_sup_subaddressInformation
, BER_CLASS_UNI
, BER_UNI_TAG_OCTETSTRING
, BER_FLAGS_NOOWNTAG
, dissect_isdn_sup_SubaddressInformation
},
577 { &hf_isdn_sup_oddCountIndicator
, BER_CLASS_UNI
, BER_UNI_TAG_BOOLEAN
, BER_FLAGS_OPTIONAL
|BER_FLAGS_NOOWNTAG
, dissect_isdn_sup_BOOLEAN
},
578 { NULL
, 0, 0, 0, NULL
}
582 dissect_isdn_sup_UserSpecifiedSubaddress(gboolean implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
583 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
584 UserSpecifiedSubaddress_sequence
, hf_index
, ett_isdn_sup_UserSpecifiedSubaddress
);
592 dissect_isdn_sup_NSAPSubaddress(gboolean implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
593 offset
= dissect_ber_octet_string(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
600 static const value_string isdn_sup_PartySubaddress_vals
[] = {
601 { 0, "userSpecifiedSubaddress" },
602 { 1, "nSAPSubaddress" },
606 static const ber_choice_t PartySubaddress_choice
[] = {
607 { 0, &hf_isdn_sup_userSpecifiedSubaddress
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_NOOWNTAG
, dissect_isdn_sup_UserSpecifiedSubaddress
},
608 { 1, &hf_isdn_sup_nSAPSubaddress
, BER_CLASS_UNI
, BER_UNI_TAG_OCTETSTRING
, BER_FLAGS_NOOWNTAG
, dissect_isdn_sup_NSAPSubaddress
},
609 { 0, NULL
, 0, 0, 0, NULL
}
613 dissect_isdn_sup_PartySubaddress(gboolean implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
614 offset
= dissect_ber_choice(actx
, tree
, tvb
, offset
,
615 PartySubaddress_choice
, hf_index
, ett_isdn_sup_PartySubaddress
,
622 static const ber_sequence_t AddressScreened_sequence
[] = {
623 { &hf_isdn_sup_partyNumber
, BER_CLASS_ANY
/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG
|BER_FLAGS_NOTCHKTAG
, dissect_isdn_sup_PartyNumber
},
624 { &hf_isdn_sup_screeningIndicator
, BER_CLASS_UNI
, BER_UNI_TAG_ENUMERATED
, BER_FLAGS_NOOWNTAG
, dissect_isdn_sup_ScreeningIndicator
},
625 { &hf_isdn_sup_partySubaddress
, BER_CLASS_ANY
/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL
|BER_FLAGS_NOOWNTAG
|BER_FLAGS_NOTCHKTAG
, dissect_isdn_sup_PartySubaddress
},
626 { NULL
, 0, 0, 0, NULL
}
630 dissect_isdn_sup_AddressScreened(gboolean implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
631 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
632 AddressScreened_sequence
, hf_index
, ett_isdn_sup_AddressScreened
);
640 dissect_isdn_sup_NULL(gboolean implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
641 offset
= dissect_ber_null(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
);
647 static const value_string isdn_sup_PresentedAddressScreened_vals
[] = {
648 { 0, "presentationAllowedAddress" },
649 { 1, "presentationRestricted" },
650 { 2, "numberNotAvailableDueToInterworking" },
651 { 3, "presentationRestrictedAddress" },
655 static const ber_choice_t PresentedAddressScreened_choice
[] = {
656 { 0, &hf_isdn_sup_presentationallowedaddressscreened
, BER_CLASS_CON
, 0, BER_FLAGS_IMPLTAG
, dissect_isdn_sup_AddressScreened
},
657 { 1, &hf_isdn_sup_presentationRestricted
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_isdn_sup_NULL
},
658 { 2, &hf_isdn_sup_numberNotAvailableDueToInterworking
, BER_CLASS_CON
, 2, BER_FLAGS_IMPLTAG
, dissect_isdn_sup_NULL
},
659 { 3, &hf_isdn_sup_presentationrestrictedaddressscreened
, BER_CLASS_CON
, 3, BER_FLAGS_IMPLTAG
, dissect_isdn_sup_AddressScreened
},
660 { 0, NULL
, 0, 0, 0, NULL
}
664 dissect_isdn_sup_PresentedAddressScreened(gboolean implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
665 offset
= dissect_ber_choice(actx
, tree
, tvb
, offset
,
666 PresentedAddressScreened_choice
, hf_index
, ett_isdn_sup_PresentedAddressScreened
,
673 static const ber_sequence_t Address_sequence
[] = {
674 { &hf_isdn_sup_partyNumber
, BER_CLASS_ANY
/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG
|BER_FLAGS_NOTCHKTAG
, dissect_isdn_sup_PartyNumber
},
675 { &hf_isdn_sup_partySubaddress
, BER_CLASS_ANY
/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL
|BER_FLAGS_NOOWNTAG
|BER_FLAGS_NOTCHKTAG
, dissect_isdn_sup_PartySubaddress
},
676 { NULL
, 0, 0, 0, NULL
}
680 dissect_isdn_sup_Address(gboolean implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
681 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
682 Address_sequence
, hf_index
, ett_isdn_sup_Address
);
691 static const value_string isdn_sup_PresentedNumberUnscreened_vals
[] = {
692 { 0, "presentationAllowedNumber" },
693 { 1, "presentationRestricted" },
694 { 2, "numberNotAvailableDueToInterworking" },
695 { 3, "presentationRestrictedNumber" },
699 static const ber_choice_t PresentedNumberUnscreened_choice
[] = {
700 { 0, &hf_isdn_sup_presentationAllowedNumber
, BER_CLASS_CON
, 0, 0, dissect_isdn_sup_PartyNumber
},
701 { 1, &hf_isdn_sup_presentationRestricted
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_isdn_sup_NULL
},
702 { 2, &hf_isdn_sup_numberNotAvailableDueToInterworking
, BER_CLASS_CON
, 2, BER_FLAGS_IMPLTAG
, dissect_isdn_sup_NULL
},
703 { 3, &hf_isdn_sup_presentationRestrictedNumber
, BER_CLASS_CON
, 3, 0, dissect_isdn_sup_PartyNumber
},
704 { 0, NULL
, 0, 0, 0, NULL
}
708 dissect_isdn_sup_PresentedNumberUnscreened(gboolean implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
709 offset
= dissect_ber_choice(actx
, tree
, tvb
, offset
,
710 PresentedNumberUnscreened_choice
, hf_index
, ett_isdn_sup_PresentedNumberUnscreened
,
719 dissect_isdn_sup_PresentationAllowedIndicator(gboolean implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
720 offset
= dissect_ber_boolean(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
, NULL
);
726 static const value_string isdn_sup_BasicService_vals
[] = {
727 { 0, "allServices" },
729 { 2, "unrestrictedDigitalInformation" },
731 { 4, "unrestrictedDigitalInformationWithTonesAndAnnouncements" },
733 { 32, "telephony3k1Hz" },
735 { 34, "telefaxGroup4Class1" },
736 { 35, "videotexSyntaxBased" },
737 { 36, "videotelephony" },
738 { 37, "telefaxGroup2-3" },
739 { 38, "telephony7kHz" },
740 { 39, "euroFileTransfer" },
741 { 40, "fileTransferAndAccessManagement" },
742 { 41, "videoconference" },
743 { 42, "audioGraphicConference" },
749 dissect_isdn_sup_BasicService(gboolean implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
750 offset
= dissect_ber_integer(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
759 dissect_isdn_sup_OCTET_STRING(gboolean implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
760 offset
= dissect_ber_octet_string(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
769 dissect_isdn_sup_Q931InformationElement(gboolean implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
770 offset
= dissect_ber_tagged_type(implicit_tag
, actx
, tree
, tvb
, offset
,
771 hf_index
, BER_CLASS_APP
, 0, TRUE
, dissect_isdn_sup_OCTET_STRING
);
777 static const value_string isdn_sup_ChargingCase_vals
[] = {
778 { 0, "chargingInformationAtCallSetup" },
779 { 1, "chargingDuringACall" },
780 { 2, "chargingAtTheEndOfACall" },
786 dissect_isdn_sup_ChargingCase(gboolean implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
787 offset
= dissect_ber_integer(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
796 dissect_isdn_sup_ChargingRequestArg(gboolean implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
797 offset
= dissect_isdn_sup_ChargingCase(implicit_tag
, tvb
, offset
, actx
, tree
, hf_index
);
803 static const value_string isdn_sup_ChargedItem_vals
[] = {
804 { 0, "basicCommunication" },
805 { 1, "callAttempt" },
807 { 3, "userToUserInfo" },
808 { 4, "operationOfSupplementaryServ" },
814 dissect_isdn_sup_ChargedItem(gboolean implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
815 offset
= dissect_ber_integer(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
824 dissect_isdn_sup_Currency(gboolean implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
825 offset
= dissect_ber_restricted_string(implicit_tag
, BER_UNI_TAG_IA5String
,
826 actx
, tree
, tvb
, offset
, hf_index
,
835 dissect_isdn_sup_CurrencyAmount(gboolean implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
836 offset
= dissect_ber_integer(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
843 static const value_string isdn_sup_Multiplier_vals
[] = {
844 { 0, "oneThousandth" },
845 { 1, "oneHundredth" },
856 dissect_isdn_sup_Multiplier(gboolean implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
857 offset
= dissect_ber_integer(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
864 static const ber_sequence_t Amount_sequence
[] = {
865 { &hf_isdn_sup_currencyAmount
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_isdn_sup_CurrencyAmount
},
866 { &hf_isdn_sup_multiplier
, BER_CLASS_CON
, 2, BER_FLAGS_IMPLTAG
, dissect_isdn_sup_Multiplier
},
867 { NULL
, 0, 0, 0, NULL
}
871 dissect_isdn_sup_Amount(gboolean implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
872 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
873 Amount_sequence
, hf_index
, ett_isdn_sup_Amount
);
879 static const value_string isdn_sup_ChargingType_vals
[] = {
880 { 0, "continuousCharging" },
881 { 1, "stepFunction" },
887 dissect_isdn_sup_ChargingType(gboolean implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
888 offset
= dissect_ber_integer(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
897 dissect_isdn_sup_LengthOfTimeUnit(gboolean implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
898 offset
= dissect_ber_integer(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
905 static const value_string isdn_sup_Scale_vals
[] = {
906 { 0, "oneHundredthSecond" },
907 { 1, "oneTenthSecond" },
912 { 6, "twentyFourHours" },
918 dissect_isdn_sup_Scale(gboolean implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
919 offset
= dissect_ber_integer(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
926 static const ber_sequence_t Time_sequence
[] = {
927 { &hf_isdn_sup_lengthOfTimeUnit
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_isdn_sup_LengthOfTimeUnit
},
928 { &hf_isdn_sup_scale
, BER_CLASS_CON
, 2, BER_FLAGS_IMPLTAG
, dissect_isdn_sup_Scale
},
929 { NULL
, 0, 0, 0, NULL
}
933 dissect_isdn_sup_Time(gboolean implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
934 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
935 Time_sequence
, hf_index
, ett_isdn_sup_Time
);
941 static const ber_sequence_t DurationCurrency_sequence
[] = {
942 { &hf_isdn_sup_dCurrency
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_isdn_sup_Currency
},
943 { &hf_isdn_sup_dAmount
, BER_CLASS_CON
, 2, BER_FLAGS_IMPLTAG
, dissect_isdn_sup_Amount
},
944 { &hf_isdn_sup_dChargingType
, BER_CLASS_CON
, 3, BER_FLAGS_IMPLTAG
, dissect_isdn_sup_ChargingType
},
945 { &hf_isdn_sup_dTime
, BER_CLASS_CON
, 4, BER_FLAGS_IMPLTAG
, dissect_isdn_sup_Time
},
946 { &hf_isdn_sup_dGranularity
, BER_CLASS_CON
, 5, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_isdn_sup_Time
},
947 { NULL
, 0, 0, 0, NULL
}
951 dissect_isdn_sup_DurationCurrency(gboolean implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
952 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
953 DurationCurrency_sequence
, hf_index
, ett_isdn_sup_DurationCurrency
);
959 static const ber_sequence_t FlatRateCurrency_sequence
[] = {
960 { &hf_isdn_sup_fRCurrency
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_isdn_sup_Currency
},
961 { &hf_isdn_sup_fRAmount
, BER_CLASS_CON
, 2, BER_FLAGS_IMPLTAG
, dissect_isdn_sup_Amount
},
962 { NULL
, 0, 0, 0, NULL
}
966 dissect_isdn_sup_FlatRateCurrency(gboolean implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
967 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
968 FlatRateCurrency_sequence
, hf_index
, ett_isdn_sup_FlatRateCurrency
);
974 static const value_string isdn_sup_VolumeUnit_vals
[] = {
983 dissect_isdn_sup_VolumeUnit(gboolean implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
984 offset
= dissect_ber_integer(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
991 static const ber_sequence_t VolumeRateCurrency_sequence
[] = {
992 { &hf_isdn_sup_vRCurrency
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_isdn_sup_Currency
},
993 { &hf_isdn_sup_vRAmount
, BER_CLASS_CON
, 2, BER_FLAGS_IMPLTAG
, dissect_isdn_sup_Amount
},
994 { &hf_isdn_sup_vRVolumeUnit
, BER_CLASS_CON
, 3, BER_FLAGS_IMPLTAG
, dissect_isdn_sup_VolumeUnit
},
995 { NULL
, 0, 0, 0, NULL
}
999 dissect_isdn_sup_VolumeRateCurrency(gboolean implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1000 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
1001 VolumeRateCurrency_sequence
, hf_index
, ett_isdn_sup_VolumeRateCurrency
);
1007 static const value_string isdn_sup_AOCSChargingTypeSpecificCurrency_vals
[] = {
1008 { 1, "durationCurrency" },
1009 { 2, "flatRateCurrency" },
1010 { 3, "volumeRateCurrency" },
1014 static const ber_choice_t AOCSChargingTypeSpecificCurrency_choice
[] = {
1015 { 1, &hf_isdn_sup_durationCurrency
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_isdn_sup_DurationCurrency
},
1016 { 2, &hf_isdn_sup_flatRateCurrency
, BER_CLASS_CON
, 2, BER_FLAGS_IMPLTAG
, dissect_isdn_sup_FlatRateCurrency
},
1017 { 3, &hf_isdn_sup_volumeRateCurrency
, BER_CLASS_CON
, 3, BER_FLAGS_IMPLTAG
, dissect_isdn_sup_VolumeRateCurrency
},
1018 { 0, NULL
, 0, 0, 0, NULL
}
1022 dissect_isdn_sup_AOCSChargingTypeSpecificCurrency(gboolean implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1023 offset
= dissect_ber_choice(actx
, tree
, tvb
, offset
,
1024 AOCSChargingTypeSpecificCurrency_choice
, hf_index
, ett_isdn_sup_AOCSChargingTypeSpecificCurrency
,
1033 dissect_isdn_sup_SpecialChargingCode(gboolean implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1034 offset
= dissect_ber_integer(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
1041 static const value_string isdn_sup_T_chargingtype_vals
[] = {
1042 { 0, "specificCurrency" },
1043 { 1, "specialChargingCode" },
1044 { 2, "freeOfCharge" },
1045 { 3, "currencyInfoNotAvailable" },
1049 static const ber_choice_t T_chargingtype_choice
[] = {
1050 { 0, &hf_isdn_sup_aocschargingtypespecificCurrency
, BER_CLASS_ANY
/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG
, dissect_isdn_sup_AOCSChargingTypeSpecificCurrency
},
1051 { 1, &hf_isdn_sup_specialChargingCode
, BER_CLASS_UNI
, BER_UNI_TAG_INTEGER
, BER_FLAGS_NOOWNTAG
, dissect_isdn_sup_SpecialChargingCode
},
1052 { 2, &hf_isdn_sup_freeOfCharge
, BER_CLASS_CON
, 4, BER_FLAGS_IMPLTAG
, dissect_isdn_sup_NULL
},
1053 { 3, &hf_isdn_sup_currencyInfoNotAvailable
, BER_CLASS_CON
, 5, BER_FLAGS_IMPLTAG
, dissect_isdn_sup_NULL
},
1054 { 0, NULL
, 0, 0, 0, NULL
}
1058 dissect_isdn_sup_T_chargingtype(gboolean implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1059 offset
= dissect_ber_choice(actx
, tree
, tvb
, offset
,
1060 T_chargingtype_choice
, hf_index
, ett_isdn_sup_T_chargingtype
,
1067 static const ber_sequence_t AOCSCurrencyInfo_sequence
[] = {
1068 { &hf_isdn_sup_chargedItem
, BER_CLASS_UNI
, BER_UNI_TAG_ENUMERATED
, BER_FLAGS_NOOWNTAG
, dissect_isdn_sup_ChargedItem
},
1069 { &hf_isdn_sup_chargingtype
, BER_CLASS_ANY
/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG
|BER_FLAGS_NOTCHKTAG
, dissect_isdn_sup_T_chargingtype
},
1070 { NULL
, 0, 0, 0, NULL
}
1074 dissect_isdn_sup_AOCSCurrencyInfo(gboolean implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1075 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
1076 AOCSCurrencyInfo_sequence
, hf_index
, ett_isdn_sup_AOCSCurrencyInfo
);
1082 static const ber_sequence_t AOCSCurrencyInfoList_sequence_of
[1] = {
1083 { &hf_isdn_sup_AOCSCurrencyInfoList_item
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_NOOWNTAG
, dissect_isdn_sup_AOCSCurrencyInfo
},
1087 dissect_isdn_sup_AOCSCurrencyInfoList(gboolean implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1088 offset
= dissect_ber_sequence_of(implicit_tag
, actx
, tree
, tvb
, offset
,
1089 AOCSCurrencyInfoList_sequence_of
, hf_index
, ett_isdn_sup_AOCSCurrencyInfoList
);
1097 dissect_isdn_sup_AOCSSpecialArrInfo(gboolean implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1098 offset
= dissect_ber_integer(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
1105 static const value_string isdn_sup_ChargingRequestRes_vals
[] = {
1106 { 0, "aOCSCurrencyInfoList" },
1107 { 1, "aOCSSpecialArrInfo" },
1108 { 2, "chargingInfoFollows" },
1112 static const ber_choice_t ChargingRequestRes_choice
[] = {
1113 { 0, &hf_isdn_sup_aOCSCurrencyInfoList
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_NOOWNTAG
, dissect_isdn_sup_AOCSCurrencyInfoList
},
1114 { 1, &hf_isdn_sup_aOCSSpecialArrInfo
, BER_CLASS_UNI
, BER_UNI_TAG_INTEGER
, BER_FLAGS_NOOWNTAG
, dissect_isdn_sup_AOCSSpecialArrInfo
},
1115 { 2, &hf_isdn_sup_chargingInfoFollows
, BER_CLASS_UNI
, BER_UNI_TAG_NULL
, BER_FLAGS_NOOWNTAG
, dissect_isdn_sup_NULL
},
1116 { 0, NULL
, 0, 0, 0, NULL
}
1120 dissect_isdn_sup_ChargingRequestRes(gboolean implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1121 offset
= dissect_ber_choice(actx
, tree
, tvb
, offset
,
1122 ChargingRequestRes_choice
, hf_index
, ett_isdn_sup_ChargingRequestRes
,
1129 static const value_string isdn_sup_AOCSCurrencyArg_vals
[] = {
1130 { 0, "chargeNotAvailable" },
1131 { 1, "aOCSCurrencyInfoList" },
1135 static const ber_choice_t AOCSCurrencyArg_choice
[] = {
1136 { 0, &hf_isdn_sup_chargeNotAvailable
, BER_CLASS_UNI
, BER_UNI_TAG_NULL
, BER_FLAGS_NOOWNTAG
, dissect_isdn_sup_NULL
},
1137 { 1, &hf_isdn_sup_aOCSCurrencyInfoList
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_NOOWNTAG
, dissect_isdn_sup_AOCSCurrencyInfoList
},
1138 { 0, NULL
, 0, 0, 0, NULL
}
1142 dissect_isdn_sup_AOCSCurrencyArg(gboolean implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1143 offset
= dissect_ber_choice(actx
, tree
, tvb
, offset
,
1144 AOCSCurrencyArg_choice
, hf_index
, ett_isdn_sup_AOCSCurrencyArg
,
1151 static const value_string isdn_sup_AOCSSpecialArrArg_vals
[] = {
1152 { 0, "chargeNotAvailable" },
1153 { 1, "aOCSSpecialArrInfo" },
1157 static const ber_choice_t AOCSSpecialArrArg_choice
[] = {
1158 { 0, &hf_isdn_sup_chargeNotAvailable
, BER_CLASS_UNI
, BER_UNI_TAG_NULL
, BER_FLAGS_NOOWNTAG
, dissect_isdn_sup_NULL
},
1159 { 1, &hf_isdn_sup_aOCSSpecialArrInfo
, BER_CLASS_UNI
, BER_UNI_TAG_INTEGER
, BER_FLAGS_NOOWNTAG
, dissect_isdn_sup_AOCSSpecialArrInfo
},
1160 { 0, NULL
, 0, 0, 0, NULL
}
1164 dissect_isdn_sup_AOCSSpecialArrArg(gboolean implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1165 offset
= dissect_ber_choice(actx
, tree
, tvb
, offset
,
1166 AOCSSpecialArrArg_choice
, hf_index
, ett_isdn_sup_AOCSSpecialArrArg
,
1173 static const ber_sequence_t RecordedCurrency_sequence
[] = {
1174 { &hf_isdn_sup_rCurrency
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_isdn_sup_Currency
},
1175 { &hf_isdn_sup_rAmount
, BER_CLASS_CON
, 2, BER_FLAGS_IMPLTAG
, dissect_isdn_sup_Amount
},
1176 { NULL
, 0, 0, 0, NULL
}
1180 dissect_isdn_sup_RecordedCurrency(gboolean implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1181 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
1182 RecordedCurrency_sequence
, hf_index
, ett_isdn_sup_RecordedCurrency
);
1188 static const value_string isdn_sup_TypeOfChargingInfo_vals
[] = {
1196 dissect_isdn_sup_TypeOfChargingInfo(gboolean implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1197 offset
= dissect_ber_integer(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
1204 static const value_string isdn_sup_AOCDBillingId_vals
[] = {
1205 { 0, "normalCharging" },
1206 { 1, "reverseCharging" },
1207 { 2, "creditCardCharging" },
1213 dissect_isdn_sup_AOCDBillingId(gboolean implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1214 offset
= dissect_ber_integer(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
1221 static const ber_sequence_t AOCDSpecificCurrency_sequence
[] = {
1222 { &hf_isdn_sup_recordedCurrency
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_isdn_sup_RecordedCurrency
},
1223 { &hf_isdn_sup_typeOfChargingInfo
, BER_CLASS_CON
, 2, BER_FLAGS_IMPLTAG
, dissect_isdn_sup_TypeOfChargingInfo
},
1224 { &hf_isdn_sup_aOCDBillingId
, BER_CLASS_CON
, 3, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_isdn_sup_AOCDBillingId
},
1225 { NULL
, 0, 0, 0, NULL
}
1229 dissect_isdn_sup_AOCDSpecificCurrency(gboolean implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1230 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
1231 AOCDSpecificCurrency_sequence
, hf_index
, ett_isdn_sup_AOCDSpecificCurrency
);
1237 static const value_string isdn_sup_AOCDCurrencyInfo_vals
[] = {
1238 { 0, "specificCurrency" },
1239 { 1, "freeOfCharge" },
1243 static const ber_choice_t AOCDCurrencyInfo_choice
[] = {
1244 { 0, &hf_isdn_sup_aocdspecificCurrency
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_NOOWNTAG
, dissect_isdn_sup_AOCDSpecificCurrency
},
1245 { 1, &hf_isdn_sup_freeOfCharge
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_isdn_sup_NULL
},
1246 { 0, NULL
, 0, 0, 0, NULL
}
1250 dissect_isdn_sup_AOCDCurrencyInfo(gboolean implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1251 offset
= dissect_ber_choice(actx
, tree
, tvb
, offset
,
1252 AOCDCurrencyInfo_choice
, hf_index
, ett_isdn_sup_AOCDCurrencyInfo
,
1259 static const value_string isdn_sup_AOCDCurrencyArg_vals
[] = {
1260 { 0, "chargeNotAvailable" },
1261 { 1, "aOCDCurrencyInfo" },
1265 static const ber_choice_t AOCDCurrencyArg_choice
[] = {
1266 { 0, &hf_isdn_sup_chargeNotAvailable
, BER_CLASS_UNI
, BER_UNI_TAG_NULL
, BER_FLAGS_NOOWNTAG
, dissect_isdn_sup_NULL
},
1267 { 1, &hf_isdn_sup_aOCDCurrencyInfo
, BER_CLASS_ANY
/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG
, dissect_isdn_sup_AOCDCurrencyInfo
},
1268 { 0, NULL
, 0, 0, 0, NULL
}
1272 dissect_isdn_sup_AOCDCurrencyArg(gboolean implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1273 offset
= dissect_ber_choice(actx
, tree
, tvb
, offset
,
1274 AOCDCurrencyArg_choice
, hf_index
, ett_isdn_sup_AOCDCurrencyArg
,
1283 dissect_isdn_sup_NumberOfUnits(gboolean implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1284 offset
= dissect_ber_integer(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
1291 static const value_string isdn_sup_RecoredUnitsCc_vals
[] = {
1292 { 0, "recordedNumberOfUnits" },
1293 { 1, "notAvailable" },
1297 static const ber_choice_t RecoredUnitsCc_choice
[] = {
1298 { 0, &hf_isdn_sup_recordedNumberOfUnits
, BER_CLASS_UNI
, BER_UNI_TAG_INTEGER
, BER_FLAGS_NOOWNTAG
, dissect_isdn_sup_NumberOfUnits
},
1299 { 1, &hf_isdn_sup_notAvailable
, BER_CLASS_UNI
, BER_UNI_TAG_NULL
, BER_FLAGS_NOOWNTAG
, dissect_isdn_sup_NULL
},
1300 { 0, NULL
, 0, 0, 0, NULL
}
1304 dissect_isdn_sup_RecoredUnitsCc(gboolean implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1305 offset
= dissect_ber_choice(actx
, tree
, tvb
, offset
,
1306 RecoredUnitsCc_choice
, hf_index
, ett_isdn_sup_RecoredUnitsCc
,
1315 dissect_isdn_sup_TypeOfUnit(gboolean implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1316 offset
= dissect_ber_integer(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
1323 static const ber_sequence_t RecordedUnits_sequence
[] = {
1324 { &hf_isdn_sup_recoredunitscc
, BER_CLASS_ANY
/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG
|BER_FLAGS_NOTCHKTAG
, dissect_isdn_sup_RecoredUnitsCc
},
1325 { &hf_isdn_sup_recordedTypeOfUnits
, BER_CLASS_UNI
, BER_UNI_TAG_INTEGER
, BER_FLAGS_OPTIONAL
|BER_FLAGS_NOOWNTAG
, dissect_isdn_sup_TypeOfUnit
},
1326 { NULL
, 0, 0, 0, NULL
}
1330 dissect_isdn_sup_RecordedUnits(gboolean implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1331 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
1332 RecordedUnits_sequence
, hf_index
, ett_isdn_sup_RecordedUnits
);
1338 static const ber_sequence_t RecordedUnitsList_sequence_of
[1] = {
1339 { &hf_isdn_sup_RecordedUnitsList_item
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_NOOWNTAG
, dissect_isdn_sup_RecordedUnits
},
1343 dissect_isdn_sup_RecordedUnitsList(gboolean implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1344 offset
= dissect_ber_sequence_of(implicit_tag
, actx
, tree
, tvb
, offset
,
1345 RecordedUnitsList_sequence_of
, hf_index
, ett_isdn_sup_RecordedUnitsList
);
1351 static const ber_sequence_t AOCDSpecificChargingUnits_sequence
[] = {
1352 { &hf_isdn_sup_recordedUnitsList
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_isdn_sup_RecordedUnitsList
},
1353 { &hf_isdn_sup_typeOfChargingInfo
, BER_CLASS_CON
, 2, BER_FLAGS_IMPLTAG
, dissect_isdn_sup_TypeOfChargingInfo
},
1354 { &hf_isdn_sup_aOCDBillingId
, BER_CLASS_CON
, 3, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_isdn_sup_AOCDBillingId
},
1355 { NULL
, 0, 0, 0, NULL
}
1359 dissect_isdn_sup_AOCDSpecificChargingUnits(gboolean implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1360 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
1361 AOCDSpecificChargingUnits_sequence
, hf_index
, ett_isdn_sup_AOCDSpecificChargingUnits
);
1367 static const value_string isdn_sup_AOCDChargingUnitInfo_vals
[] = {
1368 { 0, "specificChargingUnits" },
1369 { 1, "freeOfCharge" },
1373 static const ber_choice_t AOCDChargingUnitInfo_choice
[] = {
1374 { 0, &hf_isdn_sup_aocdspecificchargingunits
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_NOOWNTAG
, dissect_isdn_sup_AOCDSpecificChargingUnits
},
1375 { 1, &hf_isdn_sup_freeOfCharge
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_isdn_sup_NULL
},
1376 { 0, NULL
, 0, 0, 0, NULL
}
1380 dissect_isdn_sup_AOCDChargingUnitInfo(gboolean implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1381 offset
= dissect_ber_choice(actx
, tree
, tvb
, offset
,
1382 AOCDChargingUnitInfo_choice
, hf_index
, ett_isdn_sup_AOCDChargingUnitInfo
,
1389 static const value_string isdn_sup_AOCDChargingUnitArg_vals
[] = {
1390 { 0, "chargeNotAvailable" },
1391 { 1, "aOCDChargingUnitInfo" },
1395 static const ber_choice_t AOCDChargingUnitArg_choice
[] = {
1396 { 0, &hf_isdn_sup_chargeNotAvailable
, BER_CLASS_UNI
, BER_UNI_TAG_NULL
, BER_FLAGS_NOOWNTAG
, dissect_isdn_sup_NULL
},
1397 { 1, &hf_isdn_sup_aOCDChargingUnitInfo
, BER_CLASS_ANY
/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG
, dissect_isdn_sup_AOCDChargingUnitInfo
},
1398 { 0, NULL
, 0, 0, 0, NULL
}
1402 dissect_isdn_sup_AOCDChargingUnitArg(gboolean implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1403 offset
= dissect_ber_choice(actx
, tree
, tvb
, offset
,
1404 AOCDChargingUnitArg_choice
, hf_index
, ett_isdn_sup_AOCDChargingUnitArg
,
1411 static const value_string isdn_sup_AOCEBillingId_vals
[] = {
1412 { 0, "normalCharging" },
1413 { 1, "reverseCharging" },
1414 { 2, "creditCardCharging" },
1415 { 3, "callForwardingUnconditional" },
1416 { 4, "callForwardingBusy" },
1417 { 5, "callForwardingNoReply" },
1418 { 6, "callDeflection" },
1419 { 7, "callTransfer" },
1425 dissect_isdn_sup_AOCEBillingId(gboolean implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1426 offset
= dissect_ber_integer(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
1433 static const ber_sequence_t AOCECcSpecificCurrency_sequence
[] = {
1434 { &hf_isdn_sup_recordedCurrency
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_isdn_sup_RecordedCurrency
},
1435 { &hf_isdn_sup_aOCEBillingId
, BER_CLASS_CON
, 2, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_isdn_sup_AOCEBillingId
},
1436 { NULL
, 0, 0, 0, NULL
}
1440 dissect_isdn_sup_AOCECcSpecificCurrency(gboolean implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1441 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
1442 AOCECcSpecificCurrency_sequence
, hf_index
, ett_isdn_sup_AOCECcSpecificCurrency
);
1448 static const value_string isdn_sup_AOCECurrencyCc_vals
[] = {
1449 { 0, "specificCurrency" },
1450 { 1, "freeOfCharge" },
1454 static const ber_choice_t AOCECurrencyCc_choice
[] = {
1455 { 0, &hf_isdn_sup_aoceccspecificCurrency
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_NOOWNTAG
, dissect_isdn_sup_AOCECcSpecificCurrency
},
1456 { 1, &hf_isdn_sup_freeOfCharge
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_isdn_sup_NULL
},
1457 { 0, NULL
, 0, 0, 0, NULL
}
1461 dissect_isdn_sup_AOCECurrencyCc(gboolean implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1462 offset
= dissect_ber_choice(actx
, tree
, tvb
, offset
,
1463 AOCECurrencyCc_choice
, hf_index
, ett_isdn_sup_AOCECurrencyCc
,
1472 dissect_isdn_sup_ChargeIdentifier(gboolean implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1473 offset
= dissect_ber_integer(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
1480 static const value_string isdn_sup_ChargingAssociation_vals
[] = {
1481 { 0, "chargeNumber" },
1482 { 1, "chargeIdentifier" },
1486 static const ber_choice_t ChargingAssociation_choice
[] = {
1487 { 0, &hf_isdn_sup_chargeNumber
, BER_CLASS_CON
, 0, 0, dissect_isdn_sup_PartyNumber
},
1488 { 1, &hf_isdn_sup_chargeIdentifier
, BER_CLASS_UNI
, BER_UNI_TAG_INTEGER
, BER_FLAGS_NOOWNTAG
, dissect_isdn_sup_ChargeIdentifier
},
1489 { 0, NULL
, 0, 0, 0, NULL
}
1493 dissect_isdn_sup_ChargingAssociation(gboolean implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1494 offset
= dissect_ber_choice(actx
, tree
, tvb
, offset
,
1495 ChargingAssociation_choice
, hf_index
, ett_isdn_sup_ChargingAssociation
,
1502 static const ber_sequence_t AOCECurrencyInfo_sequence
[] = {
1503 { &hf_isdn_sup_aocecurrencycc
, BER_CLASS_ANY
/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG
|BER_FLAGS_NOTCHKTAG
, dissect_isdn_sup_AOCECurrencyCc
},
1504 { &hf_isdn_sup_chargingAssociation
, BER_CLASS_ANY
/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL
|BER_FLAGS_NOOWNTAG
|BER_FLAGS_NOTCHKTAG
, dissect_isdn_sup_ChargingAssociation
},
1505 { NULL
, 0, 0, 0, NULL
}
1509 dissect_isdn_sup_AOCECurrencyInfo(gboolean implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1510 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
1511 AOCECurrencyInfo_sequence
, hf_index
, ett_isdn_sup_AOCECurrencyInfo
);
1517 static const value_string isdn_sup_AOCECurrencyArg_vals
[] = {
1518 { 0, "chargeNotAvailable" },
1519 { 1, "aOCECurrencyInfo" },
1523 static const ber_choice_t AOCECurrencyArg_choice
[] = {
1524 { 0, &hf_isdn_sup_chargeNotAvailable
, BER_CLASS_UNI
, BER_UNI_TAG_NULL
, BER_FLAGS_NOOWNTAG
, dissect_isdn_sup_NULL
},
1525 { 1, &hf_isdn_sup_aOCECurrencyInfo
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_NOOWNTAG
, dissect_isdn_sup_AOCECurrencyInfo
},
1526 { 0, NULL
, 0, 0, 0, NULL
}
1530 dissect_isdn_sup_AOCECurrencyArg(gboolean implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1531 offset
= dissect_ber_choice(actx
, tree
, tvb
, offset
,
1532 AOCECurrencyArg_choice
, hf_index
, ett_isdn_sup_AOCECurrencyArg
,
1539 static const ber_sequence_t AOCECcSpecificChargingUnits_sequence
[] = {
1540 { &hf_isdn_sup_recordedUnitsList
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_isdn_sup_RecordedUnitsList
},
1541 { &hf_isdn_sup_aOCEBillingId
, BER_CLASS_CON
, 2, BER_FLAGS_OPTIONAL
|BER_FLAGS_IMPLTAG
, dissect_isdn_sup_AOCEBillingId
},
1542 { NULL
, 0, 0, 0, NULL
}
1546 dissect_isdn_sup_AOCECcSpecificChargingUnits(gboolean implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1547 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
1548 AOCECcSpecificChargingUnits_sequence
, hf_index
, ett_isdn_sup_AOCECcSpecificChargingUnits
);
1554 static const value_string isdn_sup_AOCEChargingUnitCc_vals
[] = {
1555 { 0, "specificChargingUnits" },
1556 { 1, "freeOfCharge" },
1560 static const ber_choice_t AOCEChargingUnitCc_choice
[] = {
1561 { 0, &hf_isdn_sup_aoceccspecificchargingunits
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_NOOWNTAG
, dissect_isdn_sup_AOCECcSpecificChargingUnits
},
1562 { 1, &hf_isdn_sup_freeOfCharge
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_isdn_sup_NULL
},
1563 { 0, NULL
, 0, 0, 0, NULL
}
1567 dissect_isdn_sup_AOCEChargingUnitCc(gboolean implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1568 offset
= dissect_ber_choice(actx
, tree
, tvb
, offset
,
1569 AOCEChargingUnitCc_choice
, hf_index
, ett_isdn_sup_AOCEChargingUnitCc
,
1576 static const ber_sequence_t AOCEChargingUnitInfo_sequence
[] = {
1577 { &hf_isdn_sup_aocechargingunitcc
, BER_CLASS_ANY
/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG
|BER_FLAGS_NOTCHKTAG
, dissect_isdn_sup_AOCEChargingUnitCc
},
1578 { &hf_isdn_sup_chargingAssociation
, BER_CLASS_ANY
/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL
|BER_FLAGS_NOOWNTAG
|BER_FLAGS_NOTCHKTAG
, dissect_isdn_sup_ChargingAssociation
},
1579 { NULL
, 0, 0, 0, NULL
}
1583 dissect_isdn_sup_AOCEChargingUnitInfo(gboolean implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1584 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
1585 AOCEChargingUnitInfo_sequence
, hf_index
, ett_isdn_sup_AOCEChargingUnitInfo
);
1591 static const value_string isdn_sup_AOCEChargingUnitArg_vals
[] = {
1592 { 0, "chargeNotAvailable" },
1593 { 1, "aOCEChargingUnitInfo" },
1597 static const ber_choice_t AOCEChargingUnitArg_choice
[] = {
1598 { 0, &hf_isdn_sup_chargeNotAvailable
, BER_CLASS_UNI
, BER_UNI_TAG_NULL
, BER_FLAGS_NOOWNTAG
, dissect_isdn_sup_NULL
},
1599 { 1, &hf_isdn_sup_aOCEChargingUnitInfo
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_NOOWNTAG
, dissect_isdn_sup_AOCEChargingUnitInfo
},
1600 { 0, NULL
, 0, 0, 0, NULL
}
1604 dissect_isdn_sup_AOCEChargingUnitArg(gboolean implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1605 offset
= dissect_ber_choice(actx
, tree
, tvb
, offset
,
1606 AOCEChargingUnitArg_choice
, hf_index
, ett_isdn_sup_AOCEChargingUnitArg
,
1615 dissect_isdn_sup_OARequested(gboolean implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1616 offset
= dissect_ber_tagged_type(implicit_tag
, actx
, tree
, tvb
, offset
,
1617 hf_index
, BER_CLASS_CON
, 1, TRUE
, dissect_isdn_sup_BOOLEAN
);
1625 dissect_isdn_sup_INTEGER_0_32767(gboolean implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1626 offset
= dissect_ber_integer(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
1635 dissect_isdn_sup_CUGIndex(gboolean implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1636 offset
= dissect_ber_tagged_type(implicit_tag
, actx
, tree
, tvb
, offset
,
1637 hf_index
, BER_CLASS_CON
, 2, TRUE
, dissect_isdn_sup_INTEGER_0_32767
);
1643 static const ber_sequence_t CUGcallArg_sequence
[] = {
1644 { &hf_isdn_sup_oARequested
, BER_CLASS_CON
, 1, BER_FLAGS_OPTIONAL
|BER_FLAGS_NOOWNTAG
, dissect_isdn_sup_OARequested
},
1645 { &hf_isdn_sup_cUGIndex
, BER_CLASS_CON
, 2, BER_FLAGS_OPTIONAL
|BER_FLAGS_NOOWNTAG
, dissect_isdn_sup_CUGIndex
},
1646 { NULL
, 0, 0, 0, NULL
}
1650 dissect_isdn_sup_CUGcallArg(gboolean implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1651 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
1652 CUGcallArg_sequence
, hf_index
, ett_isdn_sup_CUGcallArg
);
1660 dissect_isdn_sup_ConfSize(gboolean implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1661 offset
= dissect_ber_integer(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
1670 dissect_isdn_sup_BeginCONFArg(gboolean implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1671 offset
= dissect_isdn_sup_ConfSize(implicit_tag
, tvb
, offset
, actx
, tree
, hf_index
);
1679 dissect_isdn_sup_ConferenceId(gboolean implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1680 offset
= dissect_ber_integer(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
1689 dissect_isdn_sup_PartyId(gboolean implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1690 offset
= dissect_ber_integer(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
1697 static const ber_sequence_t BeginCONFRes_sequence
[] = {
1698 { &hf_isdn_sup_conferenceId
, BER_CLASS_UNI
, BER_UNI_TAG_INTEGER
, BER_FLAGS_NOOWNTAG
, dissect_isdn_sup_ConferenceId
},
1699 { &hf_isdn_sup_partyId
, BER_CLASS_UNI
, BER_UNI_TAG_INTEGER
, BER_FLAGS_OPTIONAL
|BER_FLAGS_NOOWNTAG
, dissect_isdn_sup_PartyId
},
1700 { NULL
, 0, 0, 0, NULL
}
1704 dissect_isdn_sup_BeginCONFRes(gboolean implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1705 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
1706 BeginCONFRes_sequence
, hf_index
, ett_isdn_sup_BeginCONFRes
);
1714 dissect_isdn_sup_AddCONFArg(gboolean implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1715 offset
= dissect_isdn_sup_ConferenceId(implicit_tag
, tvb
, offset
, actx
, tree
, hf_index
);
1723 dissect_isdn_sup_AddCONFRes(gboolean implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1724 offset
= dissect_isdn_sup_PartyId(implicit_tag
, tvb
, offset
, actx
, tree
, hf_index
);
1730 static const ber_sequence_t SplitCONFArg_sequence
[] = {
1731 { &hf_isdn_sup_conferenceId
, BER_CLASS_UNI
, BER_UNI_TAG_INTEGER
, BER_FLAGS_NOOWNTAG
, dissect_isdn_sup_ConferenceId
},
1732 { &hf_isdn_sup_partyId
, BER_CLASS_UNI
, BER_UNI_TAG_INTEGER
, BER_FLAGS_NOOWNTAG
, dissect_isdn_sup_PartyId
},
1733 { NULL
, 0, 0, 0, NULL
}
1737 dissect_isdn_sup_SplitCONFArg(gboolean implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1738 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
1739 SplitCONFArg_sequence
, hf_index
, ett_isdn_sup_SplitCONFArg
);
1747 dissect_isdn_sup_DropCONFArg(gboolean implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1748 offset
= dissect_isdn_sup_PartyId(implicit_tag
, tvb
, offset
, actx
, tree
, hf_index
);
1756 dissect_isdn_sup_IsolateCONFArg(gboolean implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1757 offset
= dissect_isdn_sup_PartyId(implicit_tag
, tvb
, offset
, actx
, tree
, hf_index
);
1765 dissect_isdn_sup_ReattachCONFArg(gboolean implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1766 offset
= dissect_isdn_sup_PartyId(implicit_tag
, tvb
, offset
, actx
, tree
, hf_index
);
1774 dissect_isdn_sup_PartyDISCArg(gboolean implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1775 offset
= dissect_isdn_sup_PartyId(implicit_tag
, tvb
, offset
, actx
, tree
, hf_index
);
1781 static const value_string isdn_sup_Procedure_vals
[] = {
1790 dissect_isdn_sup_Procedure(gboolean implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1791 offset
= dissect_ber_integer(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
1798 static const value_string isdn_sup_ServedUserNr_vals
[] = {
1799 { 0, "individualNumber" },
1800 { 1, "allNumbers" },
1804 static const ber_choice_t ServedUserNr_choice
[] = {
1805 { 0, &hf_isdn_sup_individualNumber
, BER_CLASS_ANY
/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG
, dissect_isdn_sup_PartyNumber
},
1806 { 1, &hf_isdn_sup_allNumbers
, BER_CLASS_UNI
, BER_UNI_TAG_NULL
, BER_FLAGS_NOOWNTAG
, dissect_isdn_sup_NULL
},
1807 { 0, NULL
, 0, 0, 0, NULL
}
1811 dissect_isdn_sup_ServedUserNr(gboolean implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1812 offset
= dissect_ber_choice(actx
, tree
, tvb
, offset
,
1813 ServedUserNr_choice
, hf_index
, ett_isdn_sup_ServedUserNr
,
1822 dissect_isdn_sup_NoReplyTimer(gboolean implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1823 offset
= dissect_ber_integer(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
1830 static const ber_sequence_t ActivationDiversionArg_sequence
[] = {
1831 { &hf_isdn_sup_procedure
, BER_CLASS_UNI
, BER_UNI_TAG_ENUMERATED
, BER_FLAGS_NOOWNTAG
, dissect_isdn_sup_Procedure
},
1832 { &hf_isdn_sup_basicService
, BER_CLASS_UNI
, BER_UNI_TAG_ENUMERATED
, BER_FLAGS_NOOWNTAG
, dissect_isdn_sup_BasicService
},
1833 { &hf_isdn_sup_forwardedToAddress
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_NOOWNTAG
, dissect_isdn_sup_Address
},
1834 { &hf_isdn_sup_servedUserNr
, BER_CLASS_ANY
/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG
|BER_FLAGS_NOTCHKTAG
, dissect_isdn_sup_ServedUserNr
},
1835 { &hf_isdn_sup_noReplyTimer
, BER_CLASS_UNI
, BER_UNI_TAG_INTEGER
, BER_FLAGS_OPTIONAL
|BER_FLAGS_NOOWNTAG
, dissect_isdn_sup_NoReplyTimer
},
1836 { NULL
, 0, 0, 0, NULL
}
1840 dissect_isdn_sup_ActivationDiversionArg(gboolean implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1841 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
1842 ActivationDiversionArg_sequence
, hf_index
, ett_isdn_sup_ActivationDiversionArg
);
1848 static const ber_sequence_t DeactivationDiversionArg_sequence
[] = {
1849 { &hf_isdn_sup_procedure
, BER_CLASS_UNI
, BER_UNI_TAG_ENUMERATED
, BER_FLAGS_NOOWNTAG
, dissect_isdn_sup_Procedure
},
1850 { &hf_isdn_sup_basicService
, BER_CLASS_UNI
, BER_UNI_TAG_ENUMERATED
, BER_FLAGS_NOOWNTAG
, dissect_isdn_sup_BasicService
},
1851 { &hf_isdn_sup_servedUserNr
, BER_CLASS_ANY
/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG
|BER_FLAGS_NOTCHKTAG
, dissect_isdn_sup_ServedUserNr
},
1852 { NULL
, 0, 0, 0, NULL
}
1856 dissect_isdn_sup_DeactivationDiversionArg(gboolean implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1857 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
1858 DeactivationDiversionArg_sequence
, hf_index
, ett_isdn_sup_DeactivationDiversionArg
);
1864 static const ber_sequence_t ActivationStatusNotificationDivArg_sequence
[] = {
1865 { &hf_isdn_sup_procedure
, BER_CLASS_UNI
, BER_UNI_TAG_ENUMERATED
, BER_FLAGS_NOOWNTAG
, dissect_isdn_sup_Procedure
},
1866 { &hf_isdn_sup_basicService
, BER_CLASS_UNI
, BER_UNI_TAG_ENUMERATED
, BER_FLAGS_NOOWNTAG
, dissect_isdn_sup_BasicService
},
1867 { &hf_isdn_sup_forwardedToAddresss
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_NOOWNTAG
, dissect_isdn_sup_Address
},
1868 { &hf_isdn_sup_servedUserNr
, BER_CLASS_ANY
/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG
|BER_FLAGS_NOTCHKTAG
, dissect_isdn_sup_ServedUserNr
},
1869 { NULL
, 0, 0, 0, NULL
}
1873 dissect_isdn_sup_ActivationStatusNotificationDivArg(gboolean implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1874 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
1875 ActivationStatusNotificationDivArg_sequence
, hf_index
, ett_isdn_sup_ActivationStatusNotificationDivArg
);
1881 static const ber_sequence_t DeactivationStatusNotificationDivArg_sequence
[] = {
1882 { &hf_isdn_sup_procedure
, BER_CLASS_UNI
, BER_UNI_TAG_ENUMERATED
, BER_FLAGS_NOOWNTAG
, dissect_isdn_sup_Procedure
},
1883 { &hf_isdn_sup_basicService
, BER_CLASS_UNI
, BER_UNI_TAG_ENUMERATED
, BER_FLAGS_NOOWNTAG
, dissect_isdn_sup_BasicService
},
1884 { &hf_isdn_sup_servedUserNr
, BER_CLASS_ANY
/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG
|BER_FLAGS_NOTCHKTAG
, dissect_isdn_sup_ServedUserNr
},
1885 { NULL
, 0, 0, 0, NULL
}
1889 dissect_isdn_sup_DeactivationStatusNotificationDivArg(gboolean implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1890 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
1891 DeactivationStatusNotificationDivArg_sequence
, hf_index
, ett_isdn_sup_DeactivationStatusNotificationDivArg
);
1897 static const ber_sequence_t InterrogationDiversionArg_sequence
[] = {
1898 { &hf_isdn_sup_procedure
, BER_CLASS_UNI
, BER_UNI_TAG_ENUMERATED
, BER_FLAGS_NOOWNTAG
, dissect_isdn_sup_Procedure
},
1899 { &hf_isdn_sup_basicService
, BER_CLASS_UNI
, BER_UNI_TAG_ENUMERATED
, BER_FLAGS_OPTIONAL
|BER_FLAGS_NOOWNTAG
, dissect_isdn_sup_BasicService
},
1900 { &hf_isdn_sup_servedUserNr
, BER_CLASS_ANY
/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG
|BER_FLAGS_NOTCHKTAG
, dissect_isdn_sup_ServedUserNr
},
1901 { NULL
, 0, 0, 0, NULL
}
1905 dissect_isdn_sup_InterrogationDiversionArg(gboolean implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1906 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
1907 InterrogationDiversionArg_sequence
, hf_index
, ett_isdn_sup_InterrogationDiversionArg
);
1913 static const ber_sequence_t IntResult_sequence
[] = {
1914 { &hf_isdn_sup_servedUserNr
, BER_CLASS_ANY
/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG
|BER_FLAGS_NOTCHKTAG
, dissect_isdn_sup_ServedUserNr
},
1915 { &hf_isdn_sup_basicService
, BER_CLASS_UNI
, BER_UNI_TAG_ENUMERATED
, BER_FLAGS_NOOWNTAG
, dissect_isdn_sup_BasicService
},
1916 { &hf_isdn_sup_procedure
, BER_CLASS_UNI
, BER_UNI_TAG_ENUMERATED
, BER_FLAGS_NOOWNTAG
, dissect_isdn_sup_Procedure
},
1917 { &hf_isdn_sup_forwardedToAddress
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_NOOWNTAG
, dissect_isdn_sup_Address
},
1918 { NULL
, 0, 0, 0, NULL
}
1922 dissect_isdn_sup_IntResult(gboolean implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1923 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
1924 IntResult_sequence
, hf_index
, ett_isdn_sup_IntResult
);
1930 static const ber_sequence_t IntResultList_set_of
[1] = {
1931 { &hf_isdn_sup_IntResultList_item
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_NOOWNTAG
, dissect_isdn_sup_IntResult
},
1935 dissect_isdn_sup_IntResultList(gboolean implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1936 offset
= dissect_ber_set_of(implicit_tag
, actx
, tree
, tvb
, offset
,
1937 IntResultList_set_of
, hf_index
, ett_isdn_sup_IntResultList
);
1945 dissect_isdn_sup_InterrogationDiversionRes(gboolean implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1946 offset
= dissect_isdn_sup_IntResultList(implicit_tag
, tvb
, offset
, actx
, tree
, hf_index
);
1952 static const ber_sequence_t ServedUserNumberList_set_of
[1] = {
1953 { &hf_isdn_sup_ServedUserNumberList_item
, BER_CLASS_ANY
/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG
|BER_FLAGS_NOTCHKTAG
, dissect_isdn_sup_PartyNumber
},
1957 dissect_isdn_sup_ServedUserNumberList(gboolean implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1958 offset
= dissect_ber_set_of(implicit_tag
, actx
, tree
, tvb
, offset
,
1959 ServedUserNumberList_set_of
, hf_index
, ett_isdn_sup_ServedUserNumberList
);
1967 dissect_isdn_sup_InterrogateServedUserNumbersRes(gboolean implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1968 offset
= dissect_isdn_sup_ServedUserNumberList(implicit_tag
, tvb
, offset
, actx
, tree
, hf_index
);
1974 static const value_string isdn_sup_DiversionReason_vals
[] = {
1979 { 4, "cdAlerting" },
1980 { 5, "cdImmediate" },
1986 dissect_isdn_sup_DiversionReason(gboolean implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
1987 offset
= dissect_ber_integer(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
1994 static const ber_sequence_t DiversionInformationArg_sequence
[] = {
1995 { &hf_isdn_sup_diversionReason
, BER_CLASS_UNI
, BER_UNI_TAG_ENUMERATED
, BER_FLAGS_NOOWNTAG
, dissect_isdn_sup_DiversionReason
},
1996 { &hf_isdn_sup_basicService
, BER_CLASS_UNI
, BER_UNI_TAG_ENUMERATED
, BER_FLAGS_NOOWNTAG
, dissect_isdn_sup_BasicService
},
1997 { &hf_isdn_sup_servedUserSubaddress
, BER_CLASS_ANY
/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL
|BER_FLAGS_NOOWNTAG
|BER_FLAGS_NOTCHKTAG
, dissect_isdn_sup_PartySubaddress
},
1998 { &hf_isdn_sup_callingAddress
, BER_CLASS_CON
, 0, BER_FLAGS_OPTIONAL
|BER_FLAGS_NOTCHKTAG
, dissect_isdn_sup_PresentedAddressScreened
},
1999 { &hf_isdn_sup_originalCalledNr
, BER_CLASS_CON
, 1, BER_FLAGS_OPTIONAL
|BER_FLAGS_NOTCHKTAG
, dissect_isdn_sup_PresentedNumberUnscreened
},
2000 { &hf_isdn_sup_lastDivertingNr
, BER_CLASS_CON
, 2, BER_FLAGS_OPTIONAL
|BER_FLAGS_NOTCHKTAG
, dissect_isdn_sup_PresentedNumberUnscreened
},
2001 { &hf_isdn_sup_lastDivertingReason
, BER_CLASS_CON
, 3, BER_FLAGS_OPTIONAL
, dissect_isdn_sup_DiversionReason
},
2002 { &hf_isdn_sup_userInfo
, BER_CLASS_APP
, 0, BER_FLAGS_OPTIONAL
|BER_FLAGS_NOOWNTAG
, dissect_isdn_sup_Q931InformationElement
},
2003 { NULL
, 0, 0, 0, NULL
}
2007 dissect_isdn_sup_DiversionInformationArg(gboolean implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2008 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
2009 DiversionInformationArg_sequence
, hf_index
, ett_isdn_sup_DiversionInformationArg
);
2015 static const ber_sequence_t CallDeflectionArg_sequence
[] = {
2016 { &hf_isdn_sup_deflectionAddress
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_NOOWNTAG
, dissect_isdn_sup_Address
},
2017 { &hf_isdn_sup_presentationAllowedDivertedToUser
, BER_CLASS_UNI
, BER_UNI_TAG_BOOLEAN
, BER_FLAGS_OPTIONAL
|BER_FLAGS_NOOWNTAG
, dissect_isdn_sup_PresentationAllowedIndicator
},
2018 { NULL
, 0, 0, 0, NULL
}
2022 dissect_isdn_sup_CallDeflectionArg(gboolean implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2023 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
2024 CallDeflectionArg_sequence
, hf_index
, ett_isdn_sup_CallDeflectionArg
);
2032 dissect_isdn_sup_DiversionCounter(gboolean implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2033 offset
= dissect_ber_integer(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
2040 static const value_string isdn_sup_SubscriptionOption_vals
[] = {
2041 { 0, "noNotification" },
2042 { 1, "notificationWithoutDivertedToNr" },
2043 { 2, "notificationWithDivertedToNr" },
2049 dissect_isdn_sup_SubscriptionOption(gboolean implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2050 offset
= dissect_ber_integer(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
2057 static const ber_sequence_t CallRerouteingArg_sequence
[] = {
2058 { &hf_isdn_sup_rerouteingReason
, BER_CLASS_UNI
, BER_UNI_TAG_ENUMERATED
, BER_FLAGS_NOOWNTAG
, dissect_isdn_sup_DiversionReason
},
2059 { &hf_isdn_sup_calledAddress
, BER_CLASS_UNI
, BER_UNI_TAG_SEQUENCE
, BER_FLAGS_NOOWNTAG
, dissect_isdn_sup_Address
},
2060 { &hf_isdn_sup_rerouteingCounter
, BER_CLASS_UNI
, BER_UNI_TAG_INTEGER
, BER_FLAGS_NOOWNTAG
, dissect_isdn_sup_DiversionCounter
},
2061 { &hf_isdn_sup_q931InfoElement
, BER_CLASS_APP
, 0, BER_FLAGS_NOOWNTAG
, dissect_isdn_sup_Q931InformationElement
},
2062 { &hf_isdn_sup_lastRerouteingNr
, BER_CLASS_CON
, 1, BER_FLAGS_NOTCHKTAG
, dissect_isdn_sup_PresentedNumberUnscreened
},
2063 { &hf_isdn_sup_subscriptionOption
, BER_CLASS_CON
, 2, BER_FLAGS_OPTIONAL
, dissect_isdn_sup_SubscriptionOption
},
2064 { &hf_isdn_sup_callingPartySubaddress
, BER_CLASS_CON
, 3, BER_FLAGS_OPTIONAL
|BER_FLAGS_NOTCHKTAG
, dissect_isdn_sup_PartySubaddress
},
2065 { NULL
, 0, 0, 0, NULL
}
2069 dissect_isdn_sup_CallRerouteingArg(gboolean implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2070 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
2071 CallRerouteingArg_sequence
, hf_index
, ett_isdn_sup_CallRerouteingArg
);
2077 static const ber_sequence_t DivertingLegInformation1Arg_sequence
[] = {
2078 { &hf_isdn_sup_diversionReason
, BER_CLASS_UNI
, BER_UNI_TAG_ENUMERATED
, BER_FLAGS_NOOWNTAG
, dissect_isdn_sup_DiversionReason
},
2079 { &hf_isdn_sup_subscriptionOption
, BER_CLASS_UNI
, BER_UNI_TAG_ENUMERATED
, BER_FLAGS_NOOWNTAG
, dissect_isdn_sup_SubscriptionOption
},
2080 { &hf_isdn_sup_divertedToNumber
, BER_CLASS_ANY
/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL
|BER_FLAGS_NOOWNTAG
|BER_FLAGS_NOTCHKTAG
, dissect_isdn_sup_PresentedNumberUnscreened
},
2081 { NULL
, 0, 0, 0, NULL
}
2085 dissect_isdn_sup_DivertingLegInformation1Arg(gboolean implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2086 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
2087 DivertingLegInformation1Arg_sequence
, hf_index
, ett_isdn_sup_DivertingLegInformation1Arg
);
2093 static const ber_sequence_t DivertingLegInformation2Arg_sequence
[] = {
2094 { &hf_isdn_sup_diversionCounter
, BER_CLASS_UNI
, BER_UNI_TAG_INTEGER
, BER_FLAGS_NOOWNTAG
, dissect_isdn_sup_DiversionCounter
},
2095 { &hf_isdn_sup_diversionReason
, BER_CLASS_UNI
, BER_UNI_TAG_ENUMERATED
, BER_FLAGS_NOOWNTAG
, dissect_isdn_sup_DiversionReason
},
2096 { &hf_isdn_sup_divertingNr
, BER_CLASS_CON
, 1, BER_FLAGS_OPTIONAL
|BER_FLAGS_NOTCHKTAG
, dissect_isdn_sup_PresentedNumberUnscreened
},
2097 { &hf_isdn_sup_originalCalledNr
, BER_CLASS_CON
, 2, BER_FLAGS_OPTIONAL
|BER_FLAGS_NOTCHKTAG
, dissect_isdn_sup_PresentedNumberUnscreened
},
2098 { NULL
, 0, 0, 0, NULL
}
2102 dissect_isdn_sup_DivertingLegInformation2Arg(gboolean implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2103 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
2104 DivertingLegInformation2Arg_sequence
, hf_index
, ett_isdn_sup_DivertingLegInformation2Arg
);
2112 dissect_isdn_sup_DivertingLegInformation3Arg(gboolean implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2113 offset
= dissect_isdn_sup_PresentationAllowedIndicator(implicit_tag
, tvb
, offset
, actx
, tree
, hf_index
);
2119 static const value_string isdn_sup_Service_vals
[] = {
2128 dissect_isdn_sup_Service(gboolean implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2129 offset
= dissect_ber_integer(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
2138 dissect_isdn_sup_Preferred(gboolean implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2139 offset
= dissect_ber_boolean(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
, NULL
);
2145 static const ber_sequence_t UserUserServiceArg_sequence
[] = {
2146 { &hf_isdn_sup_service
, BER_CLASS_CON
, 1, BER_FLAGS_IMPLTAG
, dissect_isdn_sup_Service
},
2147 { &hf_isdn_sup_preferred
, BER_CLASS_CON
, 2, BER_FLAGS_IMPLTAG
, dissect_isdn_sup_Preferred
},
2148 { NULL
, 0, 0, 0, NULL
}
2152 dissect_isdn_sup_UserUserServiceArg(gboolean implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2153 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
2154 UserUserServiceArg_sequence
, hf_index
, ett_isdn_sup_UserUserServiceArg
);
2162 dissect_isdn_sup_CalledFreephoneNr(gboolean implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2163 offset
= dissect_isdn_sup_PartyNumber(implicit_tag
, tvb
, offset
, actx
, tree
, hf_index
);
2171 dissect_isdn_sup_CalledFreephoneNrArg(gboolean implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2172 offset
= dissect_isdn_sup_CalledFreephoneNr(implicit_tag
, tvb
, offset
, actx
, tree
, hf_index
);
2180 dissect_isdn_sup_QueueIdentity(gboolean implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2181 offset
= dissect_ber_integer(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
2188 static const ber_sequence_t Monitor_T_FPHArg_sequence
[] = {
2189 { &hf_isdn_sup_q931InfoElement
, BER_CLASS_APP
, 0, BER_FLAGS_NOOWNTAG
, dissect_isdn_sup_Q931InformationElement
},
2190 { &hf_isdn_sup_servedUserDestination
, BER_CLASS_ANY
/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG
|BER_FLAGS_NOTCHKTAG
, dissect_isdn_sup_PartyNumber
},
2191 { &hf_isdn_sup_queueIdentity
, BER_CLASS_UNI
, BER_UNI_TAG_INTEGER
, BER_FLAGS_OPTIONAL
|BER_FLAGS_NOOWNTAG
, dissect_isdn_sup_QueueIdentity
},
2192 { NULL
, 0, 0, 0, NULL
}
2196 dissect_isdn_sup_Monitor_T_FPHArg(gboolean implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2197 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
2198 Monitor_T_FPHArg_sequence
, hf_index
, ett_isdn_sup_Monitor_T_FPHArg
);
2206 dissect_isdn_sup_FPHReference(gboolean implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2207 offset
= dissect_ber_integer(implicit_tag
, actx
, tree
, tvb
, offset
, hf_index
,
2214 static const ber_sequence_t Free_T_FPHArg_sequence
[] = {
2215 { &hf_isdn_sup_servedUserDestination
, BER_CLASS_ANY
/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG
|BER_FLAGS_NOTCHKTAG
, dissect_isdn_sup_PartyNumber
},
2216 { &hf_isdn_sup_fPHReference
, BER_CLASS_UNI
, BER_UNI_TAG_INTEGER
, BER_FLAGS_NOOWNTAG
, dissect_isdn_sup_FPHReference
},
2217 { NULL
, 0, 0, 0, NULL
}
2221 dissect_isdn_sup_Free_T_FPHArg(gboolean implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2222 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
2223 Free_T_FPHArg_sequence
, hf_index
, ett_isdn_sup_Free_T_FPHArg
);
2229 static const ber_sequence_t Call_T_FPHArg_sequence
[] = {
2230 { &hf_isdn_sup_fPHReference
, BER_CLASS_UNI
, BER_UNI_TAG_INTEGER
, BER_FLAGS_NOOWNTAG
, dissect_isdn_sup_FPHReference
},
2231 { &hf_isdn_sup_calledFreephoneNr
, BER_CLASS_ANY
/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL
|BER_FLAGS_NOOWNTAG
|BER_FLAGS_NOTCHKTAG
, dissect_isdn_sup_CalledFreephoneNr
},
2232 { NULL
, 0, 0, 0, NULL
}
2236 dissect_isdn_sup_Call_T_FPHArg(gboolean implicit_tag _U_
, tvbuff_t
*tvb _U_
, int offset _U_
, asn1_ctx_t
*actx _U_
, proto_tree
*tree _U_
, int hf_index _U_
) {
2237 offset
= dissect_ber_sequence(implicit_tag
, actx
, tree
, tvb
, offset
,
2238 Call_T_FPHArg_sequence
, hf_index
, ett_isdn_sup_Call_T_FPHArg
);
2245 static int dissect_ChargingRequestArg_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
2247 asn1_ctx_t asn1_ctx
;
2248 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_BER
, TRUE
, pinfo
);
2249 offset
= dissect_isdn_sup_ChargingRequestArg(FALSE
, tvb
, offset
, &asn1_ctx
, tree
, hf_isdn_sup_ChargingRequestArg_PDU
);
2252 static int dissect_ChargingRequestRes_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
2254 asn1_ctx_t asn1_ctx
;
2255 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_BER
, TRUE
, pinfo
);
2256 offset
= dissect_isdn_sup_ChargingRequestRes(FALSE
, tvb
, offset
, &asn1_ctx
, tree
, hf_isdn_sup_ChargingRequestRes_PDU
);
2259 static int dissect_AOCSCurrencyArg_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
2261 asn1_ctx_t asn1_ctx
;
2262 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_BER
, TRUE
, pinfo
);
2263 offset
= dissect_isdn_sup_AOCSCurrencyArg(FALSE
, tvb
, offset
, &asn1_ctx
, tree
, hf_isdn_sup_AOCSCurrencyArg_PDU
);
2266 static int dissect_AOCSSpecialArrArg_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
2268 asn1_ctx_t asn1_ctx
;
2269 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_BER
, TRUE
, pinfo
);
2270 offset
= dissect_isdn_sup_AOCSSpecialArrArg(FALSE
, tvb
, offset
, &asn1_ctx
, tree
, hf_isdn_sup_AOCSSpecialArrArg_PDU
);
2273 static int dissect_AOCDCurrencyArg_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
2275 asn1_ctx_t asn1_ctx
;
2276 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_BER
, TRUE
, pinfo
);
2277 offset
= dissect_isdn_sup_AOCDCurrencyArg(FALSE
, tvb
, offset
, &asn1_ctx
, tree
, hf_isdn_sup_AOCDCurrencyArg_PDU
);
2280 static int dissect_AOCDChargingUnitArg_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
2282 asn1_ctx_t asn1_ctx
;
2283 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_BER
, TRUE
, pinfo
);
2284 offset
= dissect_isdn_sup_AOCDChargingUnitArg(FALSE
, tvb
, offset
, &asn1_ctx
, tree
, hf_isdn_sup_AOCDChargingUnitArg_PDU
);
2287 static int dissect_AOCECurrencyArg_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
2289 asn1_ctx_t asn1_ctx
;
2290 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_BER
, TRUE
, pinfo
);
2291 offset
= dissect_isdn_sup_AOCECurrencyArg(FALSE
, tvb
, offset
, &asn1_ctx
, tree
, hf_isdn_sup_AOCECurrencyArg_PDU
);
2294 static int dissect_AOCEChargingUnitArg_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
2296 asn1_ctx_t asn1_ctx
;
2297 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_BER
, TRUE
, pinfo
);
2298 offset
= dissect_isdn_sup_AOCEChargingUnitArg(FALSE
, tvb
, offset
, &asn1_ctx
, tree
, hf_isdn_sup_AOCEChargingUnitArg_PDU
);
2301 static int dissect_CUGcallArg_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
2303 asn1_ctx_t asn1_ctx
;
2304 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_BER
, TRUE
, pinfo
);
2305 offset
= dissect_isdn_sup_CUGcallArg(FALSE
, tvb
, offset
, &asn1_ctx
, tree
, hf_isdn_sup_CUGcallArg_PDU
);
2308 static int dissect_BeginCONFArg_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
2310 asn1_ctx_t asn1_ctx
;
2311 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_BER
, TRUE
, pinfo
);
2312 offset
= dissect_isdn_sup_BeginCONFArg(FALSE
, tvb
, offset
, &asn1_ctx
, tree
, hf_isdn_sup_BeginCONFArg_PDU
);
2315 static int dissect_BeginCONFRes_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
2317 asn1_ctx_t asn1_ctx
;
2318 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_BER
, TRUE
, pinfo
);
2319 offset
= dissect_isdn_sup_BeginCONFRes(FALSE
, tvb
, offset
, &asn1_ctx
, tree
, hf_isdn_sup_BeginCONFRes_PDU
);
2322 static int dissect_AddCONFArg_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
2324 asn1_ctx_t asn1_ctx
;
2325 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_BER
, TRUE
, pinfo
);
2326 offset
= dissect_isdn_sup_AddCONFArg(FALSE
, tvb
, offset
, &asn1_ctx
, tree
, hf_isdn_sup_AddCONFArg_PDU
);
2329 static int dissect_AddCONFRes_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
2331 asn1_ctx_t asn1_ctx
;
2332 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_BER
, TRUE
, pinfo
);
2333 offset
= dissect_isdn_sup_AddCONFRes(FALSE
, tvb
, offset
, &asn1_ctx
, tree
, hf_isdn_sup_AddCONFRes_PDU
);
2336 static int dissect_SplitCONFArg_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
2338 asn1_ctx_t asn1_ctx
;
2339 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_BER
, TRUE
, pinfo
);
2340 offset
= dissect_isdn_sup_SplitCONFArg(FALSE
, tvb
, offset
, &asn1_ctx
, tree
, hf_isdn_sup_SplitCONFArg_PDU
);
2343 static int dissect_DropCONFArg_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
2345 asn1_ctx_t asn1_ctx
;
2346 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_BER
, TRUE
, pinfo
);
2347 offset
= dissect_isdn_sup_DropCONFArg(FALSE
, tvb
, offset
, &asn1_ctx
, tree
, hf_isdn_sup_DropCONFArg_PDU
);
2350 static int dissect_IsolateCONFArg_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
2352 asn1_ctx_t asn1_ctx
;
2353 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_BER
, TRUE
, pinfo
);
2354 offset
= dissect_isdn_sup_IsolateCONFArg(FALSE
, tvb
, offset
, &asn1_ctx
, tree
, hf_isdn_sup_IsolateCONFArg_PDU
);
2357 static int dissect_ReattachCONFArg_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
2359 asn1_ctx_t asn1_ctx
;
2360 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_BER
, TRUE
, pinfo
);
2361 offset
= dissect_isdn_sup_ReattachCONFArg(FALSE
, tvb
, offset
, &asn1_ctx
, tree
, hf_isdn_sup_ReattachCONFArg_PDU
);
2364 static int dissect_PartyDISCArg_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
2366 asn1_ctx_t asn1_ctx
;
2367 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_BER
, TRUE
, pinfo
);
2368 offset
= dissect_isdn_sup_PartyDISCArg(FALSE
, tvb
, offset
, &asn1_ctx
, tree
, hf_isdn_sup_PartyDISCArg_PDU
);
2371 static int dissect_ActivationDiversionArg_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
2373 asn1_ctx_t asn1_ctx
;
2374 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_BER
, TRUE
, pinfo
);
2375 offset
= dissect_isdn_sup_ActivationDiversionArg(FALSE
, tvb
, offset
, &asn1_ctx
, tree
, hf_isdn_sup_ActivationDiversionArg_PDU
);
2378 static int dissect_DeactivationDiversionArg_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
2380 asn1_ctx_t asn1_ctx
;
2381 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_BER
, TRUE
, pinfo
);
2382 offset
= dissect_isdn_sup_DeactivationDiversionArg(FALSE
, tvb
, offset
, &asn1_ctx
, tree
, hf_isdn_sup_DeactivationDiversionArg_PDU
);
2385 static int dissect_ActivationStatusNotificationDivArg_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
2387 asn1_ctx_t asn1_ctx
;
2388 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_BER
, TRUE
, pinfo
);
2389 offset
= dissect_isdn_sup_ActivationStatusNotificationDivArg(FALSE
, tvb
, offset
, &asn1_ctx
, tree
, hf_isdn_sup_ActivationStatusNotificationDivArg_PDU
);
2392 static int dissect_DeactivationStatusNotificationDivArg_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
2394 asn1_ctx_t asn1_ctx
;
2395 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_BER
, TRUE
, pinfo
);
2396 offset
= dissect_isdn_sup_DeactivationStatusNotificationDivArg(FALSE
, tvb
, offset
, &asn1_ctx
, tree
, hf_isdn_sup_DeactivationStatusNotificationDivArg_PDU
);
2399 static int dissect_InterrogationDiversionArg_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
2401 asn1_ctx_t asn1_ctx
;
2402 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_BER
, TRUE
, pinfo
);
2403 offset
= dissect_isdn_sup_InterrogationDiversionArg(FALSE
, tvb
, offset
, &asn1_ctx
, tree
, hf_isdn_sup_InterrogationDiversionArg_PDU
);
2406 static int dissect_InterrogationDiversionRes_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
2408 asn1_ctx_t asn1_ctx
;
2409 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_BER
, TRUE
, pinfo
);
2410 offset
= dissect_isdn_sup_InterrogationDiversionRes(FALSE
, tvb
, offset
, &asn1_ctx
, tree
, hf_isdn_sup_InterrogationDiversionRes_PDU
);
2413 static int dissect_InterrogateServedUserNumbersRes_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
2415 asn1_ctx_t asn1_ctx
;
2416 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_BER
, TRUE
, pinfo
);
2417 offset
= dissect_isdn_sup_InterrogateServedUserNumbersRes(FALSE
, tvb
, offset
, &asn1_ctx
, tree
, hf_isdn_sup_InterrogateServedUserNumbersRes_PDU
);
2420 static int dissect_DiversionInformationArg_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
2422 asn1_ctx_t asn1_ctx
;
2423 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_BER
, TRUE
, pinfo
);
2424 offset
= dissect_isdn_sup_DiversionInformationArg(FALSE
, tvb
, offset
, &asn1_ctx
, tree
, hf_isdn_sup_DiversionInformationArg_PDU
);
2427 static int dissect_CallDeflectionArg_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
2429 asn1_ctx_t asn1_ctx
;
2430 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_BER
, TRUE
, pinfo
);
2431 offset
= dissect_isdn_sup_CallDeflectionArg(FALSE
, tvb
, offset
, &asn1_ctx
, tree
, hf_isdn_sup_CallDeflectionArg_PDU
);
2434 static int dissect_CallRerouteingArg_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
2436 asn1_ctx_t asn1_ctx
;
2437 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_BER
, TRUE
, pinfo
);
2438 offset
= dissect_isdn_sup_CallRerouteingArg(FALSE
, tvb
, offset
, &asn1_ctx
, tree
, hf_isdn_sup_CallRerouteingArg_PDU
);
2441 static int dissect_DivertingLegInformation1Arg_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
2443 asn1_ctx_t asn1_ctx
;
2444 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_BER
, TRUE
, pinfo
);
2445 offset
= dissect_isdn_sup_DivertingLegInformation1Arg(FALSE
, tvb
, offset
, &asn1_ctx
, tree
, hf_isdn_sup_DivertingLegInformation1Arg_PDU
);
2448 static int dissect_DivertingLegInformation2Arg_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
2450 asn1_ctx_t asn1_ctx
;
2451 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_BER
, TRUE
, pinfo
);
2452 offset
= dissect_isdn_sup_DivertingLegInformation2Arg(FALSE
, tvb
, offset
, &asn1_ctx
, tree
, hf_isdn_sup_DivertingLegInformation2Arg_PDU
);
2455 static int dissect_DivertingLegInformation3Arg_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
2457 asn1_ctx_t asn1_ctx
;
2458 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_BER
, TRUE
, pinfo
);
2459 offset
= dissect_isdn_sup_DivertingLegInformation3Arg(FALSE
, tvb
, offset
, &asn1_ctx
, tree
, hf_isdn_sup_DivertingLegInformation3Arg_PDU
);
2462 static int dissect_UserUserServiceArg_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
2464 asn1_ctx_t asn1_ctx
;
2465 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_BER
, TRUE
, pinfo
);
2466 offset
= dissect_isdn_sup_UserUserServiceArg(FALSE
, tvb
, offset
, &asn1_ctx
, tree
, hf_isdn_sup_UserUserServiceArg_PDU
);
2469 static int dissect_CalledFreephoneNrArg_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
2471 asn1_ctx_t asn1_ctx
;
2472 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_BER
, TRUE
, pinfo
);
2473 offset
= dissect_isdn_sup_CalledFreephoneNrArg(FALSE
, tvb
, offset
, &asn1_ctx
, tree
, hf_isdn_sup_CalledFreephoneNrArg_PDU
);
2476 static int dissect_Monitor_T_FPHArg_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
2478 asn1_ctx_t asn1_ctx
;
2479 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_BER
, TRUE
, pinfo
);
2480 offset
= dissect_isdn_sup_Monitor_T_FPHArg(FALSE
, tvb
, offset
, &asn1_ctx
, tree
, hf_isdn_sup_Monitor_T_FPHArg_PDU
);
2483 static int dissect_Free_T_FPHArg_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
2485 asn1_ctx_t asn1_ctx
;
2486 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_BER
, TRUE
, pinfo
);
2487 offset
= dissect_isdn_sup_Free_T_FPHArg(FALSE
, tvb
, offset
, &asn1_ctx
, tree
, hf_isdn_sup_Free_T_FPHArg_PDU
);
2490 static int dissect_Call_T_FPHArg_PDU(tvbuff_t
*tvb _U_
, packet_info
*pinfo _U_
, proto_tree
*tree _U_
, void *data _U_
) {
2492 asn1_ctx_t asn1_ctx
;
2493 asn1_ctx_init(&asn1_ctx
, ASN1_ENC_BER
, TRUE
, pinfo
);
2494 offset
= dissect_isdn_sup_Call_T_FPHArg(FALSE
, tvb
, offset
, &asn1_ctx
, tree
, hf_isdn_sup_Call_T_FPHArg_PDU
);
2499 /*--- End of included file: packet-isdn-sup-fn.c ---*/
2500 #line 99 "../../asn1/isdn-sup/packet-isdn-sup-template.c"
2502 static const isdn_sup_op_t isdn_sup_op_tab
[] = {
2504 /*--- Included file: packet-isdn-sup-table11.c ---*/
2505 #line 1 "../../asn1/isdn-sup/packet-isdn-sup-table11.c"
2506 /* chargingRequest */ { 30, dissect_ChargingRequestArg_PDU
, dissect_ChargingRequestRes_PDU
},
2507 /* aOCSCurrency */ { 31, dissect_AOCSCurrencyArg_PDU
, NULL
},
2508 /* aOCSSpecialArr */ { 32, dissect_AOCSSpecialArrArg_PDU
, NULL
},
2509 /* aOCDCurrency */ { 33, dissect_AOCDCurrencyArg_PDU
, NULL
},
2510 /* aOCDChargingUnit */ { 34, dissect_AOCDChargingUnitArg_PDU
, NULL
},
2511 /* aOCECurrency */ { 35, dissect_AOCECurrencyArg_PDU
, NULL
},
2512 /* aOCEChargingUnit */ { 36, dissect_AOCEChargingUnitArg_PDU
, NULL
},
2513 /* cUGcall */ { 2, dissect_CUGcallArg_PDU
, NULL
},
2514 /* beginCONF */ { 40, dissect_BeginCONFArg_PDU
, dissect_BeginCONFRes_PDU
},
2515 /* addCONF */ { 41, dissect_AddCONFArg_PDU
, dissect_AddCONFRes_PDU
},
2516 /* splitCONF */ { 42, dissect_SplitCONFArg_PDU
, NULL
},
2517 /* dropCONF */ { 43, dissect_DropCONFArg_PDU
, NULL
},
2518 /* isolateCONF */ { 44, dissect_IsolateCONFArg_PDU
, NULL
},
2519 /* reattachCONF */ { 45, dissect_ReattachCONFArg_PDU
, NULL
},
2520 /* partyDISC */ { 46, dissect_PartyDISCArg_PDU
, NULL
},
2521 /* activationDiversion */ { 7, dissect_ActivationDiversionArg_PDU
, NULL
},
2522 /* deactivationDiversion */ { 8, dissect_DeactivationDiversionArg_PDU
, NULL
},
2523 /* activationStatusNotificationDiv */ { 9, dissect_ActivationStatusNotificationDivArg_PDU
, NULL
},
2524 /* deactivationStatusNotificationDiv */ { 10, dissect_DeactivationStatusNotificationDivArg_PDU
, NULL
},
2525 /* interrogationDiversion */ { 11, dissect_InterrogationDiversionArg_PDU
, dissect_InterrogationDiversionRes_PDU
},
2526 /* interrogateServedUserNumbers */ { 17, NULL
, dissect_InterrogateServedUserNumbersRes_PDU
},
2527 /* diversionInformation */ { 12, dissect_DiversionInformationArg_PDU
, NULL
},
2528 /* callDeflection */ { 13, dissect_CallDeflectionArg_PDU
, NULL
},
2529 /* callRerouteing */ { 14, dissect_CallRerouteingArg_PDU
, NULL
},
2530 /* divertingLegInformation1 */ { 18, dissect_DivertingLegInformation1Arg_PDU
, NULL
},
2531 /* divertingLegInformation2 */ { 15, dissect_DivertingLegInformation2Arg_PDU
, NULL
},
2532 /* divertingLegInformation3 */ { 19, dissect_DivertingLegInformation3Arg_PDU
, NULL
},
2533 /* mCIDRequest */ { 3, NULL
, NULL
},
2534 /* userUserService */ { 1, dissect_UserUserServiceArg_PDU
, NULL
},
2536 /*--- End of included file: packet-isdn-sup-table11.c ---*/
2537 #line 102 "../../asn1/isdn-sup/packet-isdn-sup-template.c"
2541 static const isdn_sup_global_op_t isdn_sup_global_op_tab
[] = {
2544 /*--- Included file: packet-isdn-sup-table31.c ---*/
2545 #line 1 "../../asn1/isdn-sup/packet-isdn-sup-table31.c"
2546 /* callFPH */ { fPHOID
".1", dissect_CalledFreephoneNrArg_PDU
, NULL
},
2547 /* monitor-T-FPH */ { fPHOID
".2", dissect_Monitor_T_FPHArg_PDU
, NULL
},
2548 /* free-T-FPH */ { fPHOID
".3", dissect_Free_T_FPHArg_PDU
, NULL
},
2549 /* call-T-FPH */ { fPHOID
".4", dissect_Call_T_FPHArg_PDU
, NULL
},
2551 /*--- End of included file: packet-isdn-sup-table31.c ---*/
2552 #line 108 "../../asn1/isdn-sup/packet-isdn-sup-template.c"
2555 static const isdn_sup_err_t isdn_sup_err_tab
[] = {
2557 /*--- Included file: packet-isdn-sup-table21.c ---*/
2558 #line 1 "../../asn1/isdn-sup/packet-isdn-sup-table21.c"
2559 /* notSubscribed */ { 0, NULL
},
2560 /* notAvailable */ { 3, NULL
},
2561 /* notImplemented */ { 4, NULL
},
2562 /* invalidServedUserNr */ { 6, NULL
},
2563 /* invalidCallState */ { 7, NULL
},
2564 /* basicServiceNotProvided */ { 8, NULL
},
2565 /* notIncomingCall */ { 9, NULL
},
2566 /* supplementaryServiceInteractionNotAllowed */ { 10, NULL
},
2567 /* resourceUnavailable */ { 11, NULL
},
2568 /* noChargingInfoAvailable */ { 26, NULL
},
2569 /* invalidOrUnregisteredCUGIndex */ { 16, NULL
},
2570 /* requestedBasicServiceViolatesCUGConstraints */ { 17, NULL
},
2571 /* outgoingCallsBarredWithinCUG */ { 18, NULL
},
2572 /* incomingCallsBarredWithinCUG */ { 19, NULL
},
2573 /* userNotMemberOfCUG */ { 20, NULL
},
2574 /* inconsistencyInDesignatedFacilityAndSubscriberClass */ { 21, NULL
},
2575 /* illConferenceId */ { 28, NULL
},
2576 /* illPartyId */ { 29, NULL
},
2577 /* numberOfPartiesExceeded */ { 30, NULL
},
2578 /* notActive */ { 31, NULL
},
2579 /* notAllowed */ { 32, NULL
},
2580 /* invalidDivertedToNr */ { 12, NULL
},
2581 /* specialServiceNr */ { 14, NULL
},
2582 /* diversionToServedUserNr */ { 15, NULL
},
2583 /* incomingCallAccepted */ { 23, NULL
},
2584 /* numberOfDiversionsExceeded */ { 24, NULL
},
2585 /* notActivated */ { 46, NULL
},
2586 /* requestAlreadyAccepted */ { 48, NULL
},
2587 /* rejectedByTheNetwork */ { 1, NULL
},
2588 /* rejectedByTheUser */ { 2, NULL
},
2590 /*--- End of included file: packet-isdn-sup-table21.c ---*/
2591 #line 112 "../../asn1/isdn-sup/packet-isdn-sup-template.c"
2595 static const isdn_sup_op_t
*get_op(gint32 opcode
) {
2598 /* search from the end to get the last occurrence if the operation is redefined in some newer specification */
2599 for (i
= array_length(isdn_sup_op_tab
) - 1; i
>= 0; i
--)
2600 if (isdn_sup_op_tab
[i
].opcode
== opcode
)
2601 return &isdn_sup_op_tab
[i
];
2605 static const isdn_sup_err_t
*get_err(gint32 errcode
) {
2608 /* search from the end to get the last occurrence if the operation is redefined in some newer specification */
2609 for (i
= array_length(isdn_sup_err_tab
) - 1; i
>= 0; i
--)
2610 if (isdn_sup_err_tab
[i
].errcode
== errcode
)
2611 return &isdn_sup_err_tab
[i
];
2615 /*--- dissect_isdn_sup_arg ------------------------------------------------------*/
2617 dissect_isdn_sup_arg(tvbuff_t
*tvb
, packet_info
*pinfo
, proto_tree
*tree
, void *data
) {
2619 rose_ctx_t
*rctx
= get_rose_ctx(data
);
2622 const isdn_sup_op_t
*op_ptr
;
2624 proto_tree
*isdn_sup_tree
;
2628 DISSECTOR_ASSERT(rctx
);
2629 if (rctx
->d
.pdu
!= 1) /* invoke */
2631 if (rctx
->d
.code
== 0) { /* local */
2632 opcode
= rctx
->d
.code_local
;
2636 op_ptr
= get_op(opcode
);
2640 ti
= proto_tree_add_item(tree
, proto_isdn_sup
, tvb
, offset
, tvb_length(tvb
), ENC_NA
);
2641 isdn_sup_tree
= proto_item_add_subtree(ti
, ett_isdn_sup
);
2643 proto_tree_add_uint(isdn_sup_tree
, hf_isdn_sup_operation
, tvb
, 0, 0, opcode
);
2644 p
= try_val_to_str(opcode
, VALS(isdn_sup_str_operation
));
2646 proto_item_append_text(ti
, ": %s", p
);
2647 proto_item_append_text(rctx
->d
.code_item
, " - %s", p
);
2648 if (rctx
->apdu_depth
>= 0)
2649 proto_item_append_text(proto_item_get_parent_nth(proto_tree_get_parent(tree
), rctx
->apdu_depth
), " %s", p
);
2652 if (op_ptr
->arg_pdu
)
2653 offset
= op_ptr
->arg_pdu(tvb
, pinfo
, isdn_sup_tree
, NULL
);
2655 if (tvb_length_remaining(tvb
, offset
) > 0) {
2656 proto_tree_add_text(isdn_sup_tree
, tvb
, offset
, -1, "UNSUPPORTED ARGUMENT TYPE (ETSI Sup)");
2657 offset
+= tvb_length_remaining(tvb
, offset
);
2663 /*--- dissect_isdn_sup_res -------------------------------------------------------*/
2665 dissect_isdn_sup_res(tvbuff_t
*tvb
, packet_info
*pinfo
, proto_tree
*tree
, void *data
) {
2667 rose_ctx_t
*rctx
= get_rose_ctx(data
);
2670 const isdn_sup_op_t
*op_ptr
;
2672 proto_tree
*isdn_sup_tree
;
2676 DISSECTOR_ASSERT(rctx
);
2677 if (rctx
->d
.pdu
!= 2) /* returnResult */
2679 if (rctx
->d
.code
!= 0) /* local */
2681 opcode
= rctx
->d
.code_local
;
2682 op_ptr
= get_op(opcode
);
2686 ti
= proto_tree_add_item(tree
, proto_isdn_sup
, tvb
, offset
, tvb_length(tvb
), ENC_NA
);
2687 isdn_sup_tree
= proto_item_add_subtree(ti
, ett_isdn_sup
);
2689 proto_tree_add_uint(isdn_sup_tree
, hf_isdn_sup_operation
, tvb
, 0, 0, opcode
);
2690 p
= try_val_to_str(opcode
, VALS(isdn_sup_str_operation
));
2692 proto_item_append_text(ti
, ": %s", p
);
2693 proto_item_append_text(rctx
->d
.code_item
, " - %s", p
);
2694 if (rctx
->apdu_depth
>= 0)
2695 proto_item_append_text(proto_item_get_parent_nth(proto_tree_get_parent(tree
), rctx
->apdu_depth
), " %s", p
);
2698 if (op_ptr
->res_pdu
)
2699 offset
= op_ptr
->res_pdu(tvb
, pinfo
, isdn_sup_tree
, NULL
);
2701 if (tvb_length_remaining(tvb
, offset
) > 0) {
2702 proto_tree_add_text(isdn_sup_tree
, tvb
, offset
, -1, "UNSUPPORTED RESULT TYPE (ETSI sup)");
2703 offset
+= tvb_length_remaining(tvb
, offset
);
2710 /*--- dissect_isdn_sup_err ------------------------------------------------------*/
2712 dissect_isdn_sup_err(tvbuff_t
*tvb
, packet_info
*pinfo
, proto_tree
*tree
, void *data
) {
2714 rose_ctx_t
*rctx
= get_rose_ctx(data
);
2716 const isdn_sup_err_t
*err_ptr
;
2719 proto_tree
*isdn_sup_tree
;
2723 DISSECTOR_ASSERT(rctx
);
2724 if (rctx
->d
.pdu
!= 3) /* returnError */
2726 if (rctx
->d
.code
!= 0) /* local */
2728 errcode
= rctx
->d
.code_local
;
2729 err_ptr
= get_err(errcode
);
2733 ti
= proto_tree_add_item(tree
, proto_isdn_sup
, tvb
, offset
, tvb_length(tvb
), ENC_NA
);
2734 isdn_sup_tree
= proto_item_add_subtree(ti
, ett_isdn_sup
);
2736 proto_tree_add_uint(isdn_sup_tree
, hf_isdn_sup_error
, tvb
, 0, 0, errcode
);
2737 p
= try_val_to_str(errcode
, VALS(isdn_sup_str_error
));
2739 proto_item_append_text(ti
, ": %s", p
);
2740 proto_item_append_text(rctx
->d
.code_item
, " - %s", p
);
2741 if (rctx
->apdu_depth
>= 0)
2742 proto_item_append_text(proto_item_get_parent_nth(proto_tree_get_parent(tree
), rctx
->apdu_depth
), " %s", p
);
2745 if (err_ptr
->err_pdu
)
2746 offset
= err_ptr
->err_pdu(tvb
, pinfo
, isdn_sup_tree
, NULL
);
2748 if (tvb_length_remaining(tvb
, offset
) > 0) {
2749 proto_tree_add_text(isdn_sup_tree
, tvb
, offset
, -1, "UNSUPPORTED ERROR TYPE (ETSI sup)");
2750 offset
+= tvb_length_remaining(tvb
, offset
);
2757 /*--- proto_reg_handoff_isdn_sup ---------------------------------------*/
2759 void proto_reg_handoff_isdn_sup(void) {
2762 dissector_handle_t q931_handle
;
2764 dissector_handle_t isdn_sup_arg_handle
;
2765 dissector_handle_t isdn_sup_res_handle
;
2766 dissector_handle_t isdn_sup_err_handle
;
2769 q931_handle
= find_dissector("q931");
2772 isdn_sup_arg_handle
= new_create_dissector_handle(dissect_isdn_sup_arg
, proto_isdn_sup
);
2773 isdn_sup_res_handle
= new_create_dissector_handle(dissect_isdn_sup_res
, proto_isdn_sup
);
2774 for (i
=0; i
<(int)array_length(isdn_sup_op_tab
); i
++) {
2775 dissector_add_uint("q932.ros.etsi.local.arg", isdn_sup_op_tab
[i
].opcode
, isdn_sup_arg_handle
);
2776 dissector_add_uint("q932.ros.etsi.local.res", isdn_sup_op_tab
[i
].opcode
, isdn_sup_res_handle
);
2779 for (i
=0; i
<(int)array_length(isdn_sup_global_op_tab
); i
++) {
2780 if(isdn_sup_global_op_tab
->arg_pdu
)
2781 dissector_add_string("q932.ros.global.arg", isdn_sup_global_op_tab
[i
].oid
, new_create_dissector_handle(isdn_sup_global_op_tab
[i
].arg_pdu
, proto_isdn_sup
));
2782 if(isdn_sup_global_op_tab
->res_pdu
)
2783 dissector_add_string("q932.ros.global.res", isdn_sup_global_op_tab
[i
].oid
, new_create_dissector_handle(isdn_sup_global_op_tab
[i
].res_pdu
, proto_isdn_sup
));
2786 isdn_sup_err_handle
= new_create_dissector_handle(dissect_isdn_sup_err
, proto_isdn_sup
);
2788 for (i
=0; i
<(int)array_length(isdn_sup_err_tab
); i
++) {
2789 dissector_add_uint("q932.ros.etsi.local.err", isdn_sup_err_tab
[i
].errcode
, isdn_sup_err_handle
);
2795 void proto_register_isdn_sup(void) {
2797 /* List of fields */
2798 static hf_register_info hf
[] = {
2800 { "isdn_sup", "isdn_sup.1",
2801 FT_INT32
, BASE_DEC
, NULL
, 0,
2804 { &hf_isdn_sup_operation
,
2805 { "Operation", "isdn_sup.operation",
2806 FT_UINT8
, BASE_DEC
, VALS(isdn_sup_str_operation
), 0x0,
2809 { &hf_isdn_sup_error
,
2810 { "Error", "isdn_sup.error",
2811 FT_UINT8
, BASE_DEC
, VALS(isdn_sup_str_error
), 0x0,
2816 /*--- Included file: packet-isdn-sup-hfarr.c ---*/
2817 #line 1 "../../asn1/isdn-sup/packet-isdn-sup-hfarr.c"
2818 { &hf_isdn_sup_ChargingRequestArg_PDU
,
2819 { "ChargingRequestArg", "isdn-sup.ChargingRequestArg",
2820 FT_UINT32
, BASE_DEC
, VALS(isdn_sup_ChargingCase_vals
), 0,
2822 { &hf_isdn_sup_ChargingRequestRes_PDU
,
2823 { "ChargingRequestRes", "isdn-sup.ChargingRequestRes",
2824 FT_UINT32
, BASE_DEC
, VALS(isdn_sup_ChargingRequestRes_vals
), 0,
2826 { &hf_isdn_sup_AOCSCurrencyArg_PDU
,
2827 { "AOCSCurrencyArg", "isdn-sup.AOCSCurrencyArg",
2828 FT_UINT32
, BASE_DEC
, VALS(isdn_sup_AOCSCurrencyArg_vals
), 0,
2830 { &hf_isdn_sup_AOCSSpecialArrArg_PDU
,
2831 { "AOCSSpecialArrArg", "isdn-sup.AOCSSpecialArrArg",
2832 FT_UINT32
, BASE_DEC
, VALS(isdn_sup_AOCSSpecialArrArg_vals
), 0,
2834 { &hf_isdn_sup_AOCDCurrencyArg_PDU
,
2835 { "AOCDCurrencyArg", "isdn-sup.AOCDCurrencyArg",
2836 FT_UINT32
, BASE_DEC
, VALS(isdn_sup_AOCDCurrencyArg_vals
), 0,
2838 { &hf_isdn_sup_AOCDChargingUnitArg_PDU
,
2839 { "AOCDChargingUnitArg", "isdn-sup.AOCDChargingUnitArg",
2840 FT_UINT32
, BASE_DEC
, VALS(isdn_sup_AOCDChargingUnitArg_vals
), 0,
2842 { &hf_isdn_sup_AOCECurrencyArg_PDU
,
2843 { "AOCECurrencyArg", "isdn-sup.AOCECurrencyArg",
2844 FT_UINT32
, BASE_DEC
, VALS(isdn_sup_AOCECurrencyArg_vals
), 0,
2846 { &hf_isdn_sup_AOCEChargingUnitArg_PDU
,
2847 { "AOCEChargingUnitArg", "isdn-sup.AOCEChargingUnitArg",
2848 FT_UINT32
, BASE_DEC
, VALS(isdn_sup_AOCEChargingUnitArg_vals
), 0,
2850 { &hf_isdn_sup_CUGcallArg_PDU
,
2851 { "CUGcallArg", "isdn-sup.CUGcallArg_element",
2852 FT_NONE
, BASE_NONE
, NULL
, 0,
2854 { &hf_isdn_sup_BeginCONFArg_PDU
,
2855 { "BeginCONFArg", "isdn-sup.BeginCONFArg",
2856 FT_UINT32
, BASE_DEC
, NULL
, 0,
2858 { &hf_isdn_sup_BeginCONFRes_PDU
,
2859 { "BeginCONFRes", "isdn-sup.BeginCONFRes_element",
2860 FT_NONE
, BASE_NONE
, NULL
, 0,
2862 { &hf_isdn_sup_AddCONFArg_PDU
,
2863 { "AddCONFArg", "isdn-sup.AddCONFArg",
2864 FT_UINT32
, BASE_DEC
, NULL
, 0,
2866 { &hf_isdn_sup_AddCONFRes_PDU
,
2867 { "AddCONFRes", "isdn-sup.AddCONFRes",
2868 FT_UINT32
, BASE_DEC
, NULL
, 0,
2870 { &hf_isdn_sup_SplitCONFArg_PDU
,
2871 { "SplitCONFArg", "isdn-sup.SplitCONFArg_element",
2872 FT_NONE
, BASE_NONE
, NULL
, 0,
2874 { &hf_isdn_sup_DropCONFArg_PDU
,
2875 { "DropCONFArg", "isdn-sup.DropCONFArg",
2876 FT_UINT32
, BASE_DEC
, NULL
, 0,
2878 { &hf_isdn_sup_IsolateCONFArg_PDU
,
2879 { "IsolateCONFArg", "isdn-sup.IsolateCONFArg",
2880 FT_UINT32
, BASE_DEC
, NULL
, 0,
2882 { &hf_isdn_sup_ReattachCONFArg_PDU
,
2883 { "ReattachCONFArg", "isdn-sup.ReattachCONFArg",
2884 FT_UINT32
, BASE_DEC
, NULL
, 0,
2886 { &hf_isdn_sup_PartyDISCArg_PDU
,
2887 { "PartyDISCArg", "isdn-sup.PartyDISCArg",
2888 FT_UINT32
, BASE_DEC
, NULL
, 0,
2890 { &hf_isdn_sup_ActivationDiversionArg_PDU
,
2891 { "ActivationDiversionArg", "isdn-sup.ActivationDiversionArg_element",
2892 FT_NONE
, BASE_NONE
, NULL
, 0,
2894 { &hf_isdn_sup_DeactivationDiversionArg_PDU
,
2895 { "DeactivationDiversionArg", "isdn-sup.DeactivationDiversionArg_element",
2896 FT_NONE
, BASE_NONE
, NULL
, 0,
2898 { &hf_isdn_sup_ActivationStatusNotificationDivArg_PDU
,
2899 { "ActivationStatusNotificationDivArg", "isdn-sup.ActivationStatusNotificationDivArg_element",
2900 FT_NONE
, BASE_NONE
, NULL
, 0,
2902 { &hf_isdn_sup_DeactivationStatusNotificationDivArg_PDU
,
2903 { "DeactivationStatusNotificationDivArg", "isdn-sup.DeactivationStatusNotificationDivArg_element",
2904 FT_NONE
, BASE_NONE
, NULL
, 0,
2906 { &hf_isdn_sup_InterrogationDiversionArg_PDU
,
2907 { "InterrogationDiversionArg", "isdn-sup.InterrogationDiversionArg_element",
2908 FT_NONE
, BASE_NONE
, NULL
, 0,
2910 { &hf_isdn_sup_InterrogationDiversionRes_PDU
,
2911 { "InterrogationDiversionRes", "isdn-sup.InterrogationDiversionRes",
2912 FT_UINT32
, BASE_DEC
, NULL
, 0,
2914 { &hf_isdn_sup_InterrogateServedUserNumbersRes_PDU
,
2915 { "InterrogateServedUserNumbersRes", "isdn-sup.InterrogateServedUserNumbersRes",
2916 FT_UINT32
, BASE_DEC
, NULL
, 0,
2918 { &hf_isdn_sup_DiversionInformationArg_PDU
,
2919 { "DiversionInformationArg", "isdn-sup.DiversionInformationArg_element",
2920 FT_NONE
, BASE_NONE
, NULL
, 0,
2922 { &hf_isdn_sup_CallDeflectionArg_PDU
,
2923 { "CallDeflectionArg", "isdn-sup.CallDeflectionArg_element",
2924 FT_NONE
, BASE_NONE
, NULL
, 0,
2926 { &hf_isdn_sup_CallRerouteingArg_PDU
,
2927 { "CallRerouteingArg", "isdn-sup.CallRerouteingArg_element",
2928 FT_NONE
, BASE_NONE
, NULL
, 0,
2930 { &hf_isdn_sup_DivertingLegInformation1Arg_PDU
,
2931 { "DivertingLegInformation1Arg", "isdn-sup.DivertingLegInformation1Arg_element",
2932 FT_NONE
, BASE_NONE
, NULL
, 0,
2934 { &hf_isdn_sup_DivertingLegInformation2Arg_PDU
,
2935 { "DivertingLegInformation2Arg", "isdn-sup.DivertingLegInformation2Arg_element",
2936 FT_NONE
, BASE_NONE
, NULL
, 0,
2938 { &hf_isdn_sup_DivertingLegInformation3Arg_PDU
,
2939 { "DivertingLegInformation3Arg", "isdn-sup.DivertingLegInformation3Arg",
2940 FT_BOOLEAN
, BASE_NONE
, NULL
, 0,
2942 { &hf_isdn_sup_UserUserServiceArg_PDU
,
2943 { "UserUserServiceArg", "isdn-sup.UserUserServiceArg_element",
2944 FT_NONE
, BASE_NONE
, NULL
, 0,
2946 { &hf_isdn_sup_CalledFreephoneNrArg_PDU
,
2947 { "CalledFreephoneNrArg", "isdn-sup.CalledFreephoneNrArg",
2948 FT_UINT32
, BASE_DEC
, VALS(isdn_sup_PartyNumber_vals
), 0,
2950 { &hf_isdn_sup_Monitor_T_FPHArg_PDU
,
2951 { "Monitor-T-FPHArg", "isdn-sup.Monitor_T_FPHArg_element",
2952 FT_NONE
, BASE_NONE
, NULL
, 0,
2954 { &hf_isdn_sup_Free_T_FPHArg_PDU
,
2955 { "Free-T-FPHArg", "isdn-sup.Free_T_FPHArg_element",
2956 FT_NONE
, BASE_NONE
, NULL
, 0,
2958 { &hf_isdn_sup_Call_T_FPHArg_PDU
,
2959 { "Call-T-FPHArg", "isdn-sup.Call_T_FPHArg_element",
2960 FT_NONE
, BASE_NONE
, NULL
, 0,
2962 { &hf_isdn_sup_presentationallowedaddressscreened
,
2963 { "presentationAllowedAddress", "isdn-sup.presentationAllowedAddress_element",
2964 FT_NONE
, BASE_NONE
, NULL
, 0,
2965 "AddressScreened", HFILL
}},
2966 { &hf_isdn_sup_presentationRestricted
,
2967 { "presentationRestricted", "isdn-sup.presentationRestricted_element",
2968 FT_NONE
, BASE_NONE
, NULL
, 0,
2970 { &hf_isdn_sup_numberNotAvailableDueToInterworking
,
2971 { "numberNotAvailableDueToInterworking", "isdn-sup.numberNotAvailableDueToInterworking_element",
2972 FT_NONE
, BASE_NONE
, NULL
, 0,
2974 { &hf_isdn_sup_presentationrestrictedaddressscreened
,
2975 { "presentationRestrictedAddress", "isdn-sup.presentationRestrictedAddress_element",
2976 FT_NONE
, BASE_NONE
, NULL
, 0,
2977 "AddressScreened", HFILL
}},
2978 { &hf_isdn_sup_presentationAllowedAddress
,
2979 { "presentationAllowedAddress", "isdn-sup.presentationAllowedAddress_element",
2980 FT_NONE
, BASE_NONE
, NULL
, 0,
2981 "Address", HFILL
}},
2982 { &hf_isdn_sup_presentationRestrictedAddress
,
2983 { "presentationRestrictedAddress", "isdn-sup.presentationRestrictedAddress_element",
2984 FT_NONE
, BASE_NONE
, NULL
, 0,
2985 "Address", HFILL
}},
2986 { &hf_isdn_sup_presentationallowednumberscreened
,
2987 { "presentationAllowedNumber", "isdn-sup.presentationAllowedNumber_element",
2988 FT_NONE
, BASE_NONE
, NULL
, 0,
2989 "NumberScreened", HFILL
}},
2990 { &hf_isdn_sup_presentationrestrictednumberscreened
,
2991 { "presentationRestrictedNumber", "isdn-sup.presentationRestrictedNumber_element",
2992 FT_NONE
, BASE_NONE
, NULL
, 0,
2993 "NumberScreened", HFILL
}},
2994 { &hf_isdn_sup_presentationAllowedNumber
,
2995 { "presentationAllowedNumber", "isdn-sup.presentationAllowedNumber",
2996 FT_UINT32
, BASE_DEC
, VALS(isdn_sup_PartyNumber_vals
), 0,
2997 "PartyNumber", HFILL
}},
2998 { &hf_isdn_sup_presentationRestrictedNumber
,
2999 { "presentationRestrictedNumber", "isdn-sup.presentationRestrictedNumber",
3000 FT_UINT32
, BASE_DEC
, VALS(isdn_sup_PartyNumber_vals
), 0,
3001 "PartyNumber", HFILL
}},
3002 { &hf_isdn_sup_partyNumber
,
3003 { "partyNumber", "isdn-sup.partyNumber",
3004 FT_UINT32
, BASE_DEC
, VALS(isdn_sup_PartyNumber_vals
), 0,
3006 { &hf_isdn_sup_screeningIndicator
,
3007 { "screeningIndicator", "isdn-sup.screeningIndicator",
3008 FT_UINT32
, BASE_DEC
, VALS(isdn_sup_ScreeningIndicator_vals
), 0,
3010 { &hf_isdn_sup_partySubaddress
,
3011 { "partySubaddress", "isdn-sup.partySubaddress",
3012 FT_UINT32
, BASE_DEC
, VALS(isdn_sup_PartySubaddress_vals
), 0,
3014 { &hf_isdn_sup_unknownPartyNumber
,
3015 { "unknownPartyNumber", "isdn-sup.unknownPartyNumber",
3016 FT_STRING
, BASE_NONE
, NULL
, 0,
3017 "NumberDigits", HFILL
}},
3018 { &hf_isdn_sup_publicPartyNumber
,
3019 { "publicPartyNumber", "isdn-sup.publicPartyNumber_element",
3020 FT_NONE
, BASE_NONE
, NULL
, 0,
3022 { &hf_isdn_sup_nsapEncodedNumber
,
3023 { "nsapEncodedNumber", "isdn-sup.nsapEncodedNumber",
3024 FT_BYTES
, BASE_NONE
, NULL
, 0,
3026 { &hf_isdn_sup_dataPartyNumber
,
3027 { "dataPartyNumber", "isdn-sup.dataPartyNumber",
3028 FT_STRING
, BASE_NONE
, NULL
, 0,
3029 "NumberDigits", HFILL
}},
3030 { &hf_isdn_sup_telexPartyNumber
,
3031 { "telexPartyNumber", "isdn-sup.telexPartyNumber",
3032 FT_STRING
, BASE_NONE
, NULL
, 0,
3033 "NumberDigits", HFILL
}},
3034 { &hf_isdn_sup_privatePartyNumber
,
3035 { "privatePartyNumber", "isdn-sup.privatePartyNumber_element",
3036 FT_NONE
, BASE_NONE
, NULL
, 0,
3038 { &hf_isdn_sup_nationalStandardPartyNumber
,
3039 { "nationalStandardPartyNumber", "isdn-sup.nationalStandardPartyNumber",
3040 FT_STRING
, BASE_NONE
, NULL
, 0,
3041 "NumberDigits", HFILL
}},
3042 { &hf_isdn_sup_publicTypeOfNumber
,
3043 { "publicTypeOfNumber", "isdn-sup.publicTypeOfNumber",
3044 FT_UINT32
, BASE_DEC
, VALS(isdn_sup_PublicTypeOfNumber_vals
), 0,
3046 { &hf_isdn_sup_publicNumberDigits
,
3047 { "publicNumberDigits", "isdn-sup.publicNumberDigits",
3048 FT_STRING
, BASE_NONE
, NULL
, 0,
3049 "NumberDigits", HFILL
}},
3050 { &hf_isdn_sup_privateTypeOfNumber
,
3051 { "privateTypeOfNumber", "isdn-sup.privateTypeOfNumber",
3052 FT_UINT32
, BASE_DEC
, VALS(isdn_sup_PrivateTypeOfNumber_vals
), 0,
3054 { &hf_isdn_sup_privateNumberDigits
,
3055 { "privateNumberDigits", "isdn-sup.privateNumberDigits",
3056 FT_STRING
, BASE_NONE
, NULL
, 0,
3057 "NumberDigits", HFILL
}},
3058 { &hf_isdn_sup_userSpecifiedSubaddress
,
3059 { "userSpecifiedSubaddress", "isdn-sup.userSpecifiedSubaddress_element",
3060 FT_NONE
, BASE_NONE
, NULL
, 0,
3062 { &hf_isdn_sup_nSAPSubaddress
,
3063 { "nSAPSubaddress", "isdn-sup.nSAPSubaddress",
3064 FT_BYTES
, BASE_NONE
, NULL
, 0,
3066 { &hf_isdn_sup_subaddressInformation
,
3067 { "subaddressInformation", "isdn-sup.subaddressInformation",
3068 FT_BYTES
, BASE_NONE
, NULL
, 0,
3070 { &hf_isdn_sup_oddCountIndicator
,
3071 { "oddCountIndicator", "isdn-sup.oddCountIndicator",
3072 FT_BOOLEAN
, BASE_NONE
, NULL
, 0,
3073 "BOOLEAN", HFILL
}},
3074 { &hf_isdn_sup_aOCSCurrencyInfoList
,
3075 { "aOCSCurrencyInfoList", "isdn-sup.aOCSCurrencyInfoList",
3076 FT_UINT32
, BASE_DEC
, NULL
, 0,
3078 { &hf_isdn_sup_aOCSSpecialArrInfo
,
3079 { "aOCSSpecialArrInfo", "isdn-sup.aOCSSpecialArrInfo",
3080 FT_UINT32
, BASE_DEC
, NULL
, 0,
3082 { &hf_isdn_sup_chargingInfoFollows
,
3083 { "chargingInfoFollows", "isdn-sup.chargingInfoFollows_element",
3084 FT_NONE
, BASE_NONE
, NULL
, 0,
3086 { &hf_isdn_sup_chargeNotAvailable
,
3087 { "chargeNotAvailable", "isdn-sup.chargeNotAvailable_element",
3088 FT_NONE
, BASE_NONE
, NULL
, 0,
3090 { &hf_isdn_sup_aOCDCurrencyInfo
,
3091 { "aOCDCurrencyInfo", "isdn-sup.aOCDCurrencyInfo",
3092 FT_UINT32
, BASE_DEC
, VALS(isdn_sup_AOCDCurrencyInfo_vals
), 0,
3094 { &hf_isdn_sup_aOCDChargingUnitInfo
,
3095 { "aOCDChargingUnitInfo", "isdn-sup.aOCDChargingUnitInfo",
3096 FT_UINT32
, BASE_DEC
, VALS(isdn_sup_AOCDChargingUnitInfo_vals
), 0,
3098 { &hf_isdn_sup_aOCECurrencyInfo
,
3099 { "aOCECurrencyInfo", "isdn-sup.aOCECurrencyInfo_element",
3100 FT_NONE
, BASE_NONE
, NULL
, 0,
3102 { &hf_isdn_sup_aOCEChargingUnitInfo
,
3103 { "aOCEChargingUnitInfo", "isdn-sup.aOCEChargingUnitInfo_element",
3104 FT_NONE
, BASE_NONE
, NULL
, 0,
3106 { &hf_isdn_sup_AOCSCurrencyInfoList_item
,
3107 { "AOCSCurrencyInfo", "isdn-sup.AOCSCurrencyInfo_element",
3108 FT_NONE
, BASE_NONE
, NULL
, 0,
3110 { &hf_isdn_sup_chargedItem
,
3111 { "chargedItem", "isdn-sup.chargedItem",
3112 FT_UINT32
, BASE_DEC
, VALS(isdn_sup_ChargedItem_vals
), 0,
3114 { &hf_isdn_sup_chargingtype
,
3115 { "chargingtype", "isdn-sup.chargingtype",
3116 FT_UINT32
, BASE_DEC
, VALS(isdn_sup_T_chargingtype_vals
), 0,
3118 { &hf_isdn_sup_aocschargingtypespecificCurrency
,
3119 { "specificCurrency", "isdn-sup.specificCurrency",
3120 FT_UINT32
, BASE_DEC
, VALS(isdn_sup_AOCSChargingTypeSpecificCurrency_vals
), 0,
3121 "AOCSChargingTypeSpecificCurrency", HFILL
}},
3122 { &hf_isdn_sup_durationCurrency
,
3123 { "durationCurrency", "isdn-sup.durationCurrency_element",
3124 FT_NONE
, BASE_NONE
, NULL
, 0,
3126 { &hf_isdn_sup_flatRateCurrency
,
3127 { "flatRateCurrency", "isdn-sup.flatRateCurrency_element",
3128 FT_NONE
, BASE_NONE
, NULL
, 0,
3130 { &hf_isdn_sup_volumeRateCurrency
,
3131 { "volumeRateCurrency", "isdn-sup.volumeRateCurrency_element",
3132 FT_NONE
, BASE_NONE
, NULL
, 0,
3134 { &hf_isdn_sup_specialChargingCode
,
3135 { "specialChargingCode", "isdn-sup.specialChargingCode",
3136 FT_UINT32
, BASE_DEC
, NULL
, 0,
3138 { &hf_isdn_sup_freeOfCharge
,
3139 { "freeOfCharge", "isdn-sup.freeOfCharge_element",
3140 FT_NONE
, BASE_NONE
, NULL
, 0,
3142 { &hf_isdn_sup_currencyInfoNotAvailable
,
3143 { "currencyInfoNotAvailable", "isdn-sup.currencyInfoNotAvailable_element",
3144 FT_NONE
, BASE_NONE
, NULL
, 0,
3146 { &hf_isdn_sup_dCurrency
,
3147 { "dCurrency", "isdn-sup.dCurrency",
3148 FT_STRING
, BASE_NONE
, NULL
, 0,
3149 "Currency", HFILL
}},
3150 { &hf_isdn_sup_dAmount
,
3151 { "dAmount", "isdn-sup.dAmount_element",
3152 FT_NONE
, BASE_NONE
, NULL
, 0,
3154 { &hf_isdn_sup_dChargingType
,
3155 { "dChargingType", "isdn-sup.dChargingType",
3156 FT_UINT32
, BASE_DEC
, VALS(isdn_sup_ChargingType_vals
), 0,
3157 "ChargingType", HFILL
}},
3158 { &hf_isdn_sup_dTime
,
3159 { "dTime", "isdn-sup.dTime_element",
3160 FT_NONE
, BASE_NONE
, NULL
, 0,
3162 { &hf_isdn_sup_dGranularity
,
3163 { "dGranularity", "isdn-sup.dGranularity_element",
3164 FT_NONE
, BASE_NONE
, NULL
, 0,
3166 { &hf_isdn_sup_fRCurrency
,
3167 { "fRCurrency", "isdn-sup.fRCurrency",
3168 FT_STRING
, BASE_NONE
, NULL
, 0,
3169 "Currency", HFILL
}},
3170 { &hf_isdn_sup_fRAmount
,
3171 { "fRAmount", "isdn-sup.fRAmount_element",
3172 FT_NONE
, BASE_NONE
, NULL
, 0,
3174 { &hf_isdn_sup_vRCurrency
,
3175 { "vRCurrency", "isdn-sup.vRCurrency",
3176 FT_STRING
, BASE_NONE
, NULL
, 0,
3177 "Currency", HFILL
}},
3178 { &hf_isdn_sup_vRAmount
,
3179 { "vRAmount", "isdn-sup.vRAmount_element",
3180 FT_NONE
, BASE_NONE
, NULL
, 0,
3182 { &hf_isdn_sup_vRVolumeUnit
,
3183 { "vRVolumeUnit", "isdn-sup.vRVolumeUnit",
3184 FT_UINT32
, BASE_DEC
, VALS(isdn_sup_VolumeUnit_vals
), 0,
3185 "VolumeUnit", HFILL
}},
3186 { &hf_isdn_sup_aocdspecificCurrency
,
3187 { "specificCurrency", "isdn-sup.specificCurrency_element",
3188 FT_NONE
, BASE_NONE
, NULL
, 0,
3189 "AOCDSpecificCurrency", HFILL
}},
3190 { &hf_isdn_sup_recordedCurrency
,
3191 { "recordedCurrency", "isdn-sup.recordedCurrency_element",
3192 FT_NONE
, BASE_NONE
, NULL
, 0,
3194 { &hf_isdn_sup_typeOfChargingInfo
,
3195 { "typeOfChargingInfo", "isdn-sup.typeOfChargingInfo",
3196 FT_UINT32
, BASE_DEC
, VALS(isdn_sup_TypeOfChargingInfo_vals
), 0,
3198 { &hf_isdn_sup_aOCDBillingId
,
3199 { "aOCDBillingId", "isdn-sup.aOCDBillingId",
3200 FT_UINT32
, BASE_DEC
, VALS(isdn_sup_AOCDBillingId_vals
), 0,
3202 { &hf_isdn_sup_aocdspecificchargingunits
,
3203 { "specificChargingUnits", "isdn-sup.specificChargingUnits_element",
3204 FT_NONE
, BASE_NONE
, NULL
, 0,
3205 "AOCDSpecificChargingUnits", HFILL
}},
3206 { &hf_isdn_sup_recordedUnitsList
,
3207 { "recordedUnitsList", "isdn-sup.recordedUnitsList",
3208 FT_UINT32
, BASE_DEC
, NULL
, 0,
3210 { &hf_isdn_sup_rCurrency
,
3211 { "rCurrency", "isdn-sup.rCurrency",
3212 FT_STRING
, BASE_NONE
, NULL
, 0,
3213 "Currency", HFILL
}},
3214 { &hf_isdn_sup_rAmount
,
3215 { "rAmount", "isdn-sup.rAmount_element",
3216 FT_NONE
, BASE_NONE
, NULL
, 0,
3218 { &hf_isdn_sup_RecordedUnitsList_item
,
3219 { "RecordedUnits", "isdn-sup.RecordedUnits_element",
3220 FT_NONE
, BASE_NONE
, NULL
, 0,
3222 { &hf_isdn_sup_recoredunitscc
,
3223 { "cc", "isdn-sup.cc",
3224 FT_UINT32
, BASE_DEC
, VALS(isdn_sup_RecoredUnitsCc_vals
), 0,
3225 "RecoredUnitsCc", HFILL
}},
3226 { &hf_isdn_sup_recordedNumberOfUnits
,
3227 { "recordedNumberOfUnits", "isdn-sup.recordedNumberOfUnits",
3228 FT_UINT32
, BASE_DEC
, NULL
, 0,
3229 "NumberOfUnits", HFILL
}},
3230 { &hf_isdn_sup_notAvailable
,
3231 { "notAvailable", "isdn-sup.notAvailable_element",
3232 FT_NONE
, BASE_NONE
, NULL
, 0,
3234 { &hf_isdn_sup_recordedTypeOfUnits
,
3235 { "recordedTypeOfUnits", "isdn-sup.recordedTypeOfUnits",
3236 FT_UINT32
, BASE_DEC
, NULL
, 0,
3237 "TypeOfUnit", HFILL
}},
3238 { &hf_isdn_sup_aocecurrencycc
,
3239 { "cc", "isdn-sup.cc",
3240 FT_UINT32
, BASE_DEC
, VALS(isdn_sup_AOCECurrencyCc_vals
), 0,
3241 "AOCECurrencyCc", HFILL
}},
3242 { &hf_isdn_sup_aoceccspecificCurrency
,
3243 { "specificCurrency", "isdn-sup.specificCurrency_element",
3244 FT_NONE
, BASE_NONE
, NULL
, 0,
3245 "AOCECcSpecificCurrency", HFILL
}},
3246 { &hf_isdn_sup_aOCEBillingId
,
3247 { "aOCEBillingId", "isdn-sup.aOCEBillingId",
3248 FT_UINT32
, BASE_DEC
, VALS(isdn_sup_AOCEBillingId_vals
), 0,
3250 { &hf_isdn_sup_chargingAssociation
,
3251 { "chargingAssociation", "isdn-sup.chargingAssociation",
3252 FT_UINT32
, BASE_DEC
, VALS(isdn_sup_ChargingAssociation_vals
), 0,
3254 { &hf_isdn_sup_aocechargingunitcc
,
3255 { "cc", "isdn-sup.cc",
3256 FT_UINT32
, BASE_DEC
, VALS(isdn_sup_AOCEChargingUnitCc_vals
), 0,
3257 "AOCEChargingUnitCc", HFILL
}},
3258 { &hf_isdn_sup_aoceccspecificchargingunits
,
3259 { "specificChargingUnits", "isdn-sup.specificChargingUnits_element",
3260 FT_NONE
, BASE_NONE
, NULL
, 0,
3261 "AOCECcSpecificChargingUnits", HFILL
}},
3262 { &hf_isdn_sup_currencyAmount
,
3263 { "currencyAmount", "isdn-sup.currencyAmount",
3264 FT_UINT32
, BASE_DEC
, NULL
, 0,
3266 { &hf_isdn_sup_multiplier
,
3267 { "multiplier", "isdn-sup.multiplier",
3268 FT_UINT32
, BASE_DEC
, VALS(isdn_sup_Multiplier_vals
), 0,
3270 { &hf_isdn_sup_lengthOfTimeUnit
,
3271 { "lengthOfTimeUnit", "isdn-sup.lengthOfTimeUnit",
3272 FT_UINT32
, BASE_DEC
, NULL
, 0,
3274 { &hf_isdn_sup_scale
,
3275 { "scale", "isdn-sup.scale",
3276 FT_UINT32
, BASE_DEC
, VALS(isdn_sup_Scale_vals
), 0,
3278 { &hf_isdn_sup_chargeNumber
,
3279 { "chargeNumber", "isdn-sup.chargeNumber",
3280 FT_UINT32
, BASE_DEC
, VALS(isdn_sup_PartyNumber_vals
), 0,
3281 "PartyNumber", HFILL
}},
3282 { &hf_isdn_sup_chargeIdentifier
,
3283 { "chargeIdentifier", "isdn-sup.chargeIdentifier",
3284 FT_INT32
, BASE_DEC
, NULL
, 0,
3286 { &hf_isdn_sup_oARequested
,
3287 { "oARequested", "isdn-sup.oARequested",
3288 FT_BOOLEAN
, BASE_NONE
, NULL
, 0,
3290 { &hf_isdn_sup_cUGIndex
,
3291 { "cUGIndex", "isdn-sup.cUGIndex",
3292 FT_UINT32
, BASE_DEC
, NULL
, 0,
3294 { &hf_isdn_sup_conferenceId
,
3295 { "conferenceId", "isdn-sup.conferenceId",
3296 FT_UINT32
, BASE_DEC
, NULL
, 0,
3298 { &hf_isdn_sup_partyId
,
3299 { "partyId", "isdn-sup.partyId",
3300 FT_UINT32
, BASE_DEC
, NULL
, 0,
3302 { &hf_isdn_sup_procedure
,
3303 { "procedure", "isdn-sup.procedure",
3304 FT_UINT32
, BASE_DEC
, VALS(isdn_sup_Procedure_vals
), 0,
3306 { &hf_isdn_sup_basicService
,
3307 { "basicService", "isdn-sup.basicService",
3308 FT_UINT32
, BASE_DEC
, VALS(isdn_sup_BasicService_vals
), 0,
3310 { &hf_isdn_sup_forwardedToAddress
,
3311 { "forwardedToAddress", "isdn-sup.forwardedToAddress_element",
3312 FT_NONE
, BASE_NONE
, NULL
, 0,
3313 "Address", HFILL
}},
3314 { &hf_isdn_sup_servedUserNr
,
3315 { "servedUserNr", "isdn-sup.servedUserNr",
3316 FT_UINT32
, BASE_DEC
, VALS(isdn_sup_ServedUserNr_vals
), 0,
3318 { &hf_isdn_sup_noReplyTimer
,
3319 { "noReplyTimer", "isdn-sup.noReplyTimer",
3320 FT_UINT32
, BASE_DEC
, NULL
, 0,
3322 { &hf_isdn_sup_forwardedToAddresss
,
3323 { "forwardedToAddresss", "isdn-sup.forwardedToAddresss_element",
3324 FT_NONE
, BASE_NONE
, NULL
, 0,
3325 "Address", HFILL
}},
3326 { &hf_isdn_sup_diversionReason
,
3327 { "diversionReason", "isdn-sup.diversionReason",
3328 FT_UINT32
, BASE_DEC
, VALS(isdn_sup_DiversionReason_vals
), 0,
3330 { &hf_isdn_sup_servedUserSubaddress
,
3331 { "servedUserSubaddress", "isdn-sup.servedUserSubaddress",
3332 FT_UINT32
, BASE_DEC
, VALS(isdn_sup_PartySubaddress_vals
), 0,
3333 "PartySubaddress", HFILL
}},
3334 { &hf_isdn_sup_callingAddress
,
3335 { "callingAddress", "isdn-sup.callingAddress",
3336 FT_UINT32
, BASE_DEC
, VALS(isdn_sup_PresentedAddressScreened_vals
), 0,
3337 "PresentedAddressScreened", HFILL
}},
3338 { &hf_isdn_sup_originalCalledNr
,
3339 { "originalCalledNr", "isdn-sup.originalCalledNr",
3340 FT_UINT32
, BASE_DEC
, VALS(isdn_sup_PresentedNumberUnscreened_vals
), 0,
3341 "PresentedNumberUnscreened", HFILL
}},
3342 { &hf_isdn_sup_lastDivertingNr
,
3343 { "lastDivertingNr", "isdn-sup.lastDivertingNr",
3344 FT_UINT32
, BASE_DEC
, VALS(isdn_sup_PresentedNumberUnscreened_vals
), 0,
3345 "PresentedNumberUnscreened", HFILL
}},
3346 { &hf_isdn_sup_lastDivertingReason
,
3347 { "lastDivertingReason", "isdn-sup.lastDivertingReason",
3348 FT_UINT32
, BASE_DEC
, VALS(isdn_sup_DiversionReason_vals
), 0,
3349 "DiversionReason", HFILL
}},
3350 { &hf_isdn_sup_userInfo
,
3351 { "userInfo", "isdn-sup.userInfo",
3352 FT_BYTES
, BASE_NONE
, NULL
, 0,
3353 "Q931InformationElement", HFILL
}},
3354 { &hf_isdn_sup_deflectionAddress
,
3355 { "deflectionAddress", "isdn-sup.deflectionAddress_element",
3356 FT_NONE
, BASE_NONE
, NULL
, 0,
3357 "Address", HFILL
}},
3358 { &hf_isdn_sup_presentationAllowedDivertedToUser
,
3359 { "presentationAllowedDivertedToUser", "isdn-sup.presentationAllowedDivertedToUser",
3360 FT_BOOLEAN
, BASE_NONE
, NULL
, 0,
3361 "PresentationAllowedIndicator", HFILL
}},
3362 { &hf_isdn_sup_rerouteingReason
,
3363 { "rerouteingReason", "isdn-sup.rerouteingReason",
3364 FT_UINT32
, BASE_DEC
, VALS(isdn_sup_DiversionReason_vals
), 0,
3365 "DiversionReason", HFILL
}},
3366 { &hf_isdn_sup_calledAddress
,
3367 { "calledAddress", "isdn-sup.calledAddress_element",
3368 FT_NONE
, BASE_NONE
, NULL
, 0,
3369 "Address", HFILL
}},
3370 { &hf_isdn_sup_rerouteingCounter
,
3371 { "rerouteingCounter", "isdn-sup.rerouteingCounter",
3372 FT_UINT32
, BASE_DEC
, NULL
, 0,
3373 "DiversionCounter", HFILL
}},
3374 { &hf_isdn_sup_q931InfoElement
,
3375 { "q931InfoElement", "isdn-sup.q931InfoElement",
3376 FT_BYTES
, BASE_NONE
, NULL
, 0,
3377 "Q931InformationElement", HFILL
}},
3378 { &hf_isdn_sup_lastRerouteingNr
,
3379 { "lastRerouteingNr", "isdn-sup.lastRerouteingNr",
3380 FT_UINT32
, BASE_DEC
, VALS(isdn_sup_PresentedNumberUnscreened_vals
), 0,
3381 "PresentedNumberUnscreened", HFILL
}},
3382 { &hf_isdn_sup_subscriptionOption
,
3383 { "subscriptionOption", "isdn-sup.subscriptionOption",
3384 FT_UINT32
, BASE_DEC
, VALS(isdn_sup_SubscriptionOption_vals
), 0,
3386 { &hf_isdn_sup_callingPartySubaddress
,
3387 { "callingPartySubaddress", "isdn-sup.callingPartySubaddress",
3388 FT_UINT32
, BASE_DEC
, VALS(isdn_sup_PartySubaddress_vals
), 0,
3389 "PartySubaddress", HFILL
}},
3390 { &hf_isdn_sup_divertedToNumber
,
3391 { "divertedToNumber", "isdn-sup.divertedToNumber",
3392 FT_UINT32
, BASE_DEC
, VALS(isdn_sup_PresentedNumberUnscreened_vals
), 0,
3393 "PresentedNumberUnscreened", HFILL
}},
3394 { &hf_isdn_sup_diversionCounter
,
3395 { "diversionCounter", "isdn-sup.diversionCounter",
3396 FT_UINT32
, BASE_DEC
, NULL
, 0,
3398 { &hf_isdn_sup_divertingNr
,
3399 { "divertingNr", "isdn-sup.divertingNr",
3400 FT_UINT32
, BASE_DEC
, VALS(isdn_sup_PresentedNumberUnscreened_vals
), 0,
3401 "PresentedNumberUnscreened", HFILL
}},
3402 { &hf_isdn_sup_IntResultList_item
,
3403 { "IntResult", "isdn-sup.IntResult_element",
3404 FT_NONE
, BASE_NONE
, NULL
, 0,
3406 { &hf_isdn_sup_individualNumber
,
3407 { "individualNumber", "isdn-sup.individualNumber",
3408 FT_UINT32
, BASE_DEC
, VALS(isdn_sup_PartyNumber_vals
), 0,
3409 "PartyNumber", HFILL
}},
3410 { &hf_isdn_sup_allNumbers
,
3411 { "allNumbers", "isdn-sup.allNumbers_element",
3412 FT_NONE
, BASE_NONE
, NULL
, 0,
3414 { &hf_isdn_sup_ServedUserNumberList_item
,
3415 { "PartyNumber", "isdn-sup.PartyNumber",
3416 FT_UINT32
, BASE_DEC
, VALS(isdn_sup_PartyNumber_vals
), 0,
3418 { &hf_isdn_sup_service
,
3419 { "service", "isdn-sup.service",
3420 FT_UINT32
, BASE_DEC
, VALS(isdn_sup_Service_vals
), 0,
3422 { &hf_isdn_sup_preferred
,
3423 { "preferred", "isdn-sup.preferred",
3424 FT_BOOLEAN
, BASE_NONE
, NULL
, 0,
3426 { &hf_isdn_sup_servedUserDestination
,
3427 { "servedUserDestination", "isdn-sup.servedUserDestination",
3428 FT_UINT32
, BASE_DEC
, VALS(isdn_sup_PartyNumber_vals
), 0,
3429 "PartyNumber", HFILL
}},
3430 { &hf_isdn_sup_queueIdentity
,
3431 { "queueIdentity", "isdn-sup.queueIdentity",
3432 FT_UINT32
, BASE_DEC
, NULL
, 0,
3434 { &hf_isdn_sup_fPHReference
,
3435 { "fPHReference", "isdn-sup.fPHReference",
3436 FT_UINT32
, BASE_DEC
, NULL
, 0,
3438 { &hf_isdn_sup_calledFreephoneNr
,
3439 { "calledFreephoneNr", "isdn-sup.calledFreephoneNr",
3440 FT_UINT32
, BASE_DEC
, VALS(isdn_sup_PartyNumber_vals
), 0,
3443 /*--- End of included file: packet-isdn-sup-hfarr.c ---*/
3444 #line 336 "../../asn1/isdn-sup/packet-isdn-sup-template.c"
3447 /* List of subtrees */
3448 static gint
*ett
[] = {
3452 /*--- Included file: packet-isdn-sup-ettarr.c ---*/
3453 #line 1 "../../asn1/isdn-sup/packet-isdn-sup-ettarr.c"
3454 &ett_isdn_sup_PresentedAddressScreened
,
3455 &ett_isdn_sup_PresentedAddressUnscreened
,
3456 &ett_isdn_sup_PresentedNumberScreened
,
3457 &ett_isdn_sup_PresentedNumberUnscreened
,
3458 &ett_isdn_sup_AddressScreened
,
3459 &ett_isdn_sup_NumberScreened
,
3460 &ett_isdn_sup_Address
,
3461 &ett_isdn_sup_PartyNumber
,
3462 &ett_isdn_sup_PublicPartyNumber
,
3463 &ett_isdn_sup_PrivatePartyNumber
,
3464 &ett_isdn_sup_PartySubaddress
,
3465 &ett_isdn_sup_UserSpecifiedSubaddress
,
3466 &ett_isdn_sup_ChargingRequestRes
,
3467 &ett_isdn_sup_AOCSCurrencyArg
,
3468 &ett_isdn_sup_AOCSSpecialArrArg
,
3469 &ett_isdn_sup_AOCDCurrencyArg
,
3470 &ett_isdn_sup_AOCDChargingUnitArg
,
3471 &ett_isdn_sup_AOCECurrencyArg
,
3472 &ett_isdn_sup_AOCEChargingUnitArg
,
3473 &ett_isdn_sup_AOCSCurrencyInfoList
,
3474 &ett_isdn_sup_AOCSCurrencyInfo
,
3475 &ett_isdn_sup_T_chargingtype
,
3476 &ett_isdn_sup_AOCSChargingTypeSpecificCurrency
,
3477 &ett_isdn_sup_DurationCurrency
,
3478 &ett_isdn_sup_FlatRateCurrency
,
3479 &ett_isdn_sup_VolumeRateCurrency
,
3480 &ett_isdn_sup_AOCDCurrencyInfo
,
3481 &ett_isdn_sup_AOCDSpecificCurrency
,
3482 &ett_isdn_sup_AOCDChargingUnitInfo
,
3483 &ett_isdn_sup_AOCDSpecificChargingUnits
,
3484 &ett_isdn_sup_RecordedCurrency
,
3485 &ett_isdn_sup_RecordedUnitsList
,
3486 &ett_isdn_sup_RecordedUnits
,
3487 &ett_isdn_sup_RecoredUnitsCc
,
3488 &ett_isdn_sup_AOCECurrencyInfo
,
3489 &ett_isdn_sup_AOCECurrencyCc
,
3490 &ett_isdn_sup_AOCECcSpecificCurrency
,
3491 &ett_isdn_sup_AOCEChargingUnitInfo
,
3492 &ett_isdn_sup_AOCEChargingUnitCc
,
3493 &ett_isdn_sup_AOCECcSpecificChargingUnits
,
3494 &ett_isdn_sup_Amount
,
3496 &ett_isdn_sup_ChargingAssociation
,
3497 &ett_isdn_sup_CUGcallArg
,
3498 &ett_isdn_sup_BeginCONFRes
,
3499 &ett_isdn_sup_SplitCONFArg
,
3500 &ett_isdn_sup_ActivationDiversionArg
,
3501 &ett_isdn_sup_DeactivationDiversionArg
,
3502 &ett_isdn_sup_ActivationStatusNotificationDivArg
,
3503 &ett_isdn_sup_DeactivationStatusNotificationDivArg
,
3504 &ett_isdn_sup_InterrogationDiversionArg
,
3505 &ett_isdn_sup_DiversionInformationArg
,
3506 &ett_isdn_sup_CallDeflectionArg
,
3507 &ett_isdn_sup_CallRerouteingArg
,
3508 &ett_isdn_sup_DivertingLegInformation1Arg
,
3509 &ett_isdn_sup_DivertingLegInformation2Arg
,
3510 &ett_isdn_sup_IntResultList
,
3511 &ett_isdn_sup_IntResult
,
3512 &ett_isdn_sup_ServedUserNr
,
3513 &ett_isdn_sup_ServedUserNumberList
,
3514 &ett_isdn_sup_UserUserServiceArg
,
3515 &ett_isdn_sup_Monitor_T_FPHArg
,
3516 &ett_isdn_sup_Free_T_FPHArg
,
3517 &ett_isdn_sup_Call_T_FPHArg
,
3519 /*--- End of included file: packet-isdn-sup-ettarr.c ---*/
3520 #line 343 "../../asn1/isdn-sup/packet-isdn-sup-template.c"
3523 /* Register fields and subtrees */
3524 proto_register_field_array(proto_isdn_sup
, hf
, array_length(hf
));
3525 proto_register_subtree_array(ett
, array_length(ett
));
3527 /* Register protocol */
3528 proto_isdn_sup
= proto_register_protocol(PNAME
, PSNAME
, PFNAME
);