| /* |
| /////////////////////////////////////////////////////////////////////////////// |
| // |
| // Copyright (c) 2000-2019 Ericsson Telecom AB |
| // |
| // All rights reserved. This program and the accompanying materials |
| // are made available under the terms of the Eclipse Public License v2.0 |
| // which accompanies this distribution, and is available at |
| // https://www.eclipse.org/org/documents/epl-2.0/EPL-2.0.html |
| /////////////////////////////////////////////////////////////////////////////// |
| // |
| // File: Revised_Advice_of_Charge_Operations.asn |
| // Description: Functional protocol for ISDN |
| // |
| // References: ETSI EN 300 182-1 |
| // Integrated Services Digital Network (ISDN); |
| // Generic functional protocol for the support |
| // of supplementary services; |
| // Rev: R3C |
| // Prodnr: CNL 113 435 |
| // Updated: 2012.04.19. |
| // Contact: http://ttcn.ericsson.se |
| */ |
| |
| Revised-Advice-of-Charge-Operations {itu-t identified-organization etsi (0) 182 operations-and-errors (1)} |
| |
| DEFINITIONS IMPLICIT TAGS ::= |
| |
| BEGIN |
| |
| EXPORTS |
| chargingRequest, |
| aOCSCurrency, |
| aOCSSpecialArr, |
| aOCDCurrency, |
| aOCDChargingUnit, |
| aOCECurrency, |
| aOCEChargingUnit, |
| noChargingInfoAvailable, |
| ChargingAssociation; |
| |
| IMPORTS |
| OPERATION, |
| ERROR |
| FROM Remote-Operations-Information-Objects |
| {joint-iso-itu-t remote-operations (4) notation (0)} |
| |
| notSubscribed, |
| notAvailable, |
| notImplemented, |
| invalidCallState |
| FROM Revised-General-Errors |
| {itu-t identified-organization etsi (0) 196 general-errors (2)} |
| |
| PartyNumber |
| FROM Revised-Addressing-Data-Elements |
| {itu-t identified-organization etsi (0) 196 addressing-data-elements (6)}; |
| |
| chargingRequest OPERATION ::= |
| { |
| ARGUMENT ChargingCase |
| |
| RESULT CHOICE { |
| aOCSCurrencyInfoList AOCSCurrencyInfoList, |
| aOCSSpecialArrInfo AOCSSpecialArrInfo, |
| chargingInfoFollows NULL |
| } |
| |
| CODE local:30 |
| } |
| |
| aOCSCurrency OPERATION ::= -- AOC-S given in currency units |
| { |
| ARGUMENT CHOICE { |
| chargeNotAvailable NULL, |
| aOCSCurrencyInfoList AOCSCurrencyInfoList } |
| |
| CODE local:31 |
| } |
| |
| aOCSSpecialArr OPERATION ::= -- AOC-S for special charging arrangement |
| { |
| ARGUMENT CHOICE { |
| chargeNotAvailable NULL, |
| aOCSSpecialArrInfo AOCSSpecialArrInfo } |
| |
| CODE local:32 |
| } |
| |
| aOCDCurrency OPERATION ::= -- AOC-D given in currency units |
| { |
| ARGUMENT CHOICE { |
| chargeNotAvailable NULL, |
| aOCDCurrencyInfo AOCDCurrencyInfo } |
| |
| CODE local:33 |
| } |
| |
| aOCDChargingUnit OPERATION ::= -- AOC-D given in charging units |
| { |
| ARGUMENT CHOICE { |
| chargeNotAvailable NULL, |
| aOCDChargingUnitInfo AOCDChargingUnitInfo } |
| |
| CODE local:34 |
| } |
| |
| aOCECurrency OPERATION ::= -- AOC-E given in currency units |
| { |
| ARGUMENT CHOICE { |
| chargeNotAvailable NULL, |
| aOCECurrencyInfo AOCECurrencyInfo } |
| |
| CODE local:35 |
| } |
| |
| aOCEChargingUnit OPERATION ::= -- AOC-E given in charging units |
| { |
| ARGUMENT CHOICE { |
| chargeNotAvailable NULL, |
| aOCEChargingUnitInfo AOCEChargingUnitInfo } |
| |
| CODE local:36 |
| } |
| |
| ChargingCase ::= |
| ENUMERATED { |
| chargingInformationAtCallSetup (0), |
| chargingDuringACall (1), |
| chargingAtTheEndOfACall (2) } |
| |
| |
| AOCSCurrencyInfoList ::= SEQUENCE SIZE (1..10) OF AOCSCurrencyInfo |
| |
| AOCSCurrencyInfo ::= |
| SEQUENCE { |
| chargedItem ChargedItem, |
| cc |
| CHOICE { |
| specificCurrency |
| CHOICE { |
| durationCurrency [1] DurationCurrency, |
| flatRateCurrency [2] FlatRateCurrency, |
| volumeRateCurrency [3] VolumeRateCurrency }, |
| specialChargingCode SpecialChargingCode, |
| freeOfCharge [4] NULL, |
| currencyInfoNotAvailable [5] NULL } } |
| |
| |
| AOCSSpecialArrInfo ::= INTEGER (1..10) |
| |
| |
| ChargedItem ::= |
| ENUMERATED { |
| basicCommunication (0), |
| callAttempt (1), |
| callSetup (2), |
| userToUserInfo (3), |
| operationOfSupplementaryService (4) } |
| |
| |
| DurationCurrency ::= |
| SEQUENCE { |
| dCurrency [1] Currency, |
| dAmount [2] Amount, |
| dChargingType [3] ChargingType, |
| dTime [4] Time, |
| dGranularity [5] Time OPTIONAL } |
| |
| |
| FlatRateCurrency ::= |
| SEQUENCE { |
| fRCurrency [1] Currency, |
| fRAmount [2] Amount } |
| |
| |
| VolumeRateCurrency ::= |
| SEQUENCE { |
| vRCurrency [1] Currency, |
| vRAmount [2] Amount, |
| vRVolumeUnit [3] VolumeUnit } |
| |
| |
| SpecialChargingCode ::= INTEGER (1..10) |
| |
| |
| AOCDCurrencyInfo ::= |
| CHOICE { |
| specificCurrency |
| SEQUENCE { |
| recordedCurrency [1] RecordedCurrency, |
| typeOfChargingInfo [2] TypeOfChargingInfo, |
| aOCDBillingId [3] AOCDBillingId OPTIONAL }, |
| freeOfCharge [1] NULL } |
| |
| |
| AOCDChargingUnitInfo ::= |
| CHOICE { |
| specificChargingUnits |
| SEQUENCE { |
| recordedUnitsList [1] RecordedUnitsList, |
| typeOfChargingInfo [2] TypeOfChargingInfo, |
| aOCDBillingId [3] AOCDBillingId OPTIONAL }, |
| freeOfCharge [1] NULL } |
| |
| |
| RecordedCurrency ::= |
| SEQUENCE { |
| rCurrency [1] Currency, |
| rAmount [2] Amount } |
| |
| |
| RecordedUnitsList ::= SEQUENCE SIZE (1..32) OF RecordedUnits |
| |
| |
| TypeOfChargingInfo ::= |
| ENUMERATED { |
| subTotal (0), |
| total (1) } |
| |
| |
| RecordedUnits ::= |
| SEQUENCE { |
| cc CHOICE { |
| recordedNumberOfUnits NumberOfUnits, |
| notAvailable NULL }, |
| recordedTypeOfUnits TypeOfUnit OPTIONAL } |
| |
| |
| AOCDBillingId ::= |
| ENUMERATED { |
| normalCharging (0), |
| reverseCharging (1), |
| creditCardCharging (2) } |
| |
| |
| AOCECurrencyInfo ::= |
| SEQUENCE { |
| cc CHOICE { |
| specificCurrency SEQUENCE { |
| recordedCurrency [1] RecordedCurrency, |
| aOCEBillingId [2] AOCEBillingId OPTIONAL }, |
| freeOfCharge [1] NULL }, |
| chargingAssociation ChargingAssociation OPTIONAL } |
| |
| |
| AOCEChargingUnitInfo ::= |
| SEQUENCE { |
| cc CHOICE { |
| specificChargingUnits SEQUENCE { |
| recordedUnitsList [1] RecordedUnitsList, |
| aOCEBillingId [2] AOCEBillingId OPTIONAL }, |
| freeOfCharge [1] NULL }, |
| chargingAssociation ChargingAssociation OPTIONAL } |
| |
| AOCEBillingId ::= |
| ENUMERATED { |
| normalCharging (0), |
| reverseCharging (1), |
| creditCardCharging (2), |
| callForwardingUnconditional (3), |
| callForwardingBusy (4), |
| callForwardingNoReply (5), |
| callDeflection (6), |
| callTransfer (7) } |
| |
| |
| Currency ::= IA5String (SIZE (1..10)) |
| |
| |
| Amount ::= |
| SEQUENCE { |
| currencyAmount [1] CurrencyAmount, |
| multiplier [2] Multiplier } |
| |
| |
| CurrencyAmount ::= INTEGER (0..16777215) |
| |
| |
| Multiplier ::= |
| ENUMERATED { |
| oneThousandth (0), |
| oneHundredth (1), |
| oneTenth (2), |
| one (3), |
| ten (4), |
| hundred (5), |
| thousand (6) } |
| |
| |
| Time ::= |
| SEQUENCE { |
| lengthOfTimeUnit [1] LengthOfTimeUnit, |
| scale [2] Scale } |
| |
| |
| LengthOfTimeUnit ::= INTEGER (0..16777215) |
| |
| Scale ::= |
| ENUMERATED { |
| oneHundredthSecond (0), |
| oneTenthSecond (1), |
| oneSecond (2), |
| tenSeconds (3), |
| oneMinute (4), |
| oneHour (5), |
| twentyFourHours (6) } |
| |
| |
| VolumeUnit ::= |
| ENUMERATED { |
| octet (0), |
| segment (1), |
| message (2) } |
| |
| |
| TypeOfUnit ::= INTEGER (1..16) -- Value 1-16 |
| |
| |
| NumberOfUnits ::= INTEGER (0..16777215) |
| |
| |
| ChargingType ::= |
| ENUMERATED { |
| continuousCharging (0), |
| stepFunction (1) } |
| |
| |
| ChargingAssociation ::= |
| CHOICE { |
| chargeNumber [0] EXPLICIT PartyNumber, |
| chargeIdentifier ChargeIdentifier } |
| |
| |
| ChargeIdentifier ::= INTEGER (-32768..32767) |
| |
| noChargingInfoAvailable ERROR ::= {CODE local:16} |
| |
| |
| END |