wireshark/asn1/isdn-sup/Advice-of-Charge-Operations...

268 lines
7.6 KiB
Groff

--
-- $Id$
--
-- EN 300 182-1 Ver. 1.3.6
--
Advice-of-Charge-Operations {ccitt 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 (2) remote-operations (4) informationObjects(5) version1(0)}
notSubscribed, notAvailable, notImplemented, invalidCallState
FROM General-Errors
{ccitt identified-organization etsi (0) 196 general-errors (2)}
PartyNumber
FROM Addressing-Data-Elements
{itu-t(0) identified-organization(4) 196 addressing-data-elements (6)};
chargingRequest OPERATION ::= {
ARGUMENT ChargingRequestArg
RESULT ChargingRequestRes
ERRORS {notSubscribed | notAvailable | notImplemented |
invalidCallState | NoChargingInfoAvailable}
CODE local: 30}
ChargingRequestArg ::= ChargingCase
ChargingRequestRes ::= CHOICE {
aOCSCurrencyInfoList AOCSCurrencyInfoList,
aOCSSpecialArrInfo AOCSSpecialArrInfo,
chargingInfoFollows NULL}
aOCSCurrency OPERATION ::= { -- AOC-S given in currency units
ARGUMENT AOCSCurrencyArg
RETURN RESULT FALSE
CODE local: 31}
AOCSCurrencyArg ::= CHOICE {
chargeNotAvailable NULL,
aOCSCurrencyInfoList AOCSCurrencyInfoList }
aOCSSpecialArr OPERATION ::= { -- AOC-S for special charging arrangement
ARGUMENT AOCSSpecialArrArg
RETURN RESULT FALSE
CODE local: 32}
AOCSSpecialArrArg ::=CHOICE {
chargeNotAvailable NULL,
aOCSSpecialArrInfo AOCSSpecialArrInfo }
aOCDCurrency OPERATION ::= { -- AOC-D given in currency units
ARGUMENT AOCDCurrencyArg
RETURN RESULT FALSE
CODE local: 33}
AOCDCurrencyArg ::= CHOICE {
chargeNotAvailable NULL,
aOCDCurrencyInfo AOCDCurrencyInfo }
aOCDChargingUnit OPERATION ::= { -- AOC-D given in charging units
ARGUMENT AOCDChargingUnitArg
RETURN RESULT FALSE
CODE local: 34}
AOCDChargingUnitArg ::= CHOICE {
chargeNotAvailable NULL,
aOCDChargingUnitInfo AOCDChargingUnitInfo }
aOCECurrency OPERATION ::= { -- AOC-E given in currency units
ARGUMENT AOCECurrencyArg
RETURN RESULT FALSE
CODE local: 35}
AOCECurrencyArg ::=CHOICE {
chargeNotAvailable NULL,
aOCECurrencyInfo AOCECurrencyInfo }
aOCEChargingUnit OPERATION::= { -- AOC-E given in charging units
ARGUMENT AOCEChargingUnitArg
RETURN RESULT FALSE
CODE local: 36}
AOCEChargingUnitArg ::= CHOICE {
chargeNotAvailable NULL,
aOCEChargingUnitInfo AOCEChargingUnitInfo }
ChargingCase ::= ENUMERATED {
chargingInformationAtCallSetup (0),
chargingDuringACall (1),
chargingAtTheEndOfACall (2) }
AOCSCurrencyInfoList ::= SEQUENCE SIZE (1..10) OF AOCSCurrencyInfo
AOCSCurrencyInfo ::= SEQUENCE {
chargedItem ChargedItem,
chargingtype CHOICE {
specificCurrency CHOICE {
durationCurrency [1] IMPLICIT DurationCurrency,
flatRateCurrency [2] IMPLICIT FlatRateCurrency,
volumeRateCurrency [3] IMPLICIT VolumeRateCurrency},
specialChargingCode SpecialChargingCode,
freeOfCharge [4] IMPLICIT NULL,
currencyInfoNotAvailable [5] IMPLICIT NULL} }
AOCSSpecialArrInfo ::= INTEGER (1..10)
ChargedItem ::= ENUMERATED {
basicCommunication (0),
callAttempt (1),
callSetup (2),
userToUserInfo (3),
operationOfSupplementaryServ (4) }
DurationCurrency ::= SEQUENCE {
dCurrency [1] IMPLICIT Currency,
dAmount [2] IMPLICIT Amount,
dChargingType [3] IMPLICIT ChargingType,
dTime [4] IMPLICIT Time,
dGranularity [5] IMPLICIT Time OPTIONAL }
FlatRateCurrency ::= SEQUENCE {
fRCurrency [1] IMPLICIT Currency,
fRAmount [2] IMPLICIT Amount }
VolumeRateCurrency ::= SEQUENCE {
vRCurrency [1] IMPLICIT Currency,
vRAmount [2] IMPLICIT Amount,
vRVolumeUnit [3] IMPLICIT VolumeUnit}
SpecialChargingCode ::= INTEGER (1..10)
AOCDCurrencyInfo ::= CHOICE {
specificCurrency SEQUENCE {
recordedCurrency [1] IMPLICIT RecordedCurrency,
typeOfChargingInfo [2] IMPLICIT TypeOfChargingInfo,
aOCDBillingId [3] IMPLICIT AOCDBillingId OPTIONAL },
freeOfCharge [1] IMPLICIT NULL}
AOCDChargingUnitInfo ::= CHOICE {
specificChargingUnits SEQUENCE {
recordedUnitsList [1] IMPLICIT RecordedUnitsList,
typeOfChargingInfo [2] IMPLICIT TypeOfChargingInfo,
aOCDBillingId [3] IMPLICIT AOCDBillingId OPTIONAL },
freeOfCharge [1] IMPLICIT NULL}
RecordedCurrency ::= SEQUENCE {
rCurrency [1] IMPLICIT Currency,
rAmount [2] IMPLICIT 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] IMPLICIT RecordedCurrency,
aOCEBillingId [2] IMPLICIT AOCEBillingId OPTIONAL},
freeOfCharge [1] IMPLICIT NULL},
chargingAssociation ChargingAssociation OPTIONAL}
AOCEChargingUnitInfo ::= SEQUENCE {
cc CHOICE {
specificChargingUnits SEQUENCE {
recordedUnitsList [1] IMPLICIT RecordedUnitsList,
aOCEBillingId [2] IMPLICIT AOCEBillingId OPTIONAL},
freeOfCharge [1] IMPLICIT 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] IMPLICIT CurrencyAmount,
multiplier [2] IMPLICIT 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] IMPLICIT LengthOfTimeUnit,
scale [2] IMPLICIT 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
-- chargingRequest ChargingRequest ::= 30
-- aOCSCurrency AOCSCurrency ::= 31
-- aOCSSpecialArr AOCSSpecialArr ::= 32
-- aOCDCurrency AOCDCurrency ::= 33
-- aOCDChargingUnit AOCDChargingUnit ::= 34
-- aOCECurrency AOCECurrency ::= 35
-- aOCEChargingUnit AOCEChargingUnit ::= 36
-- noChargingInfoAvailable NoChargingInfoAvailable ::= 26
noChargingInfoAvailable ERROR ::= { CODE local: 26}
END