306 lines
9.7 KiB
Plaintext
306 lines
9.7 KiB
Plaintext
![]() |
-- QSIG-AOC.asn
|
||
|
--
|
||
|
-- Taken from Ecma International
|
||
|
-- Standard ECMA-212, 3rd edition (December 2001)
|
||
|
-- http://www.ecma-international.org/publications/standards/Ecma-212.htm
|
||
|
--
|
||
|
|
||
|
SS-AOC-Operations-asn1-97
|
||
|
{iso (1) standard (0) pss1-advice-of-charge (15050) advice-of-charge-operations-asn1-97 (1)}
|
||
|
|
||
|
DEFINITIONS EXPLICIT TAGS ::=
|
||
|
|
||
|
BEGIN
|
||
|
|
||
|
IMPORTS OPERATION, ERROR FROM Remote-Operations-Information-Objects
|
||
|
{joint-iso-itu-t (2) remote-operations (4) informationObjects(5) version1(0)}
|
||
|
EXTENSION, Extension{} FROM Manufacturer-specific-service-extension-class-asn1-97
|
||
|
{iso (1) standard (0) pss1-generic-procedures (11582) msi-class-asn1-97 (11)}
|
||
|
notAvailable, supplementaryServiceInteractionNotAllowed
|
||
|
FROM General-Error-List
|
||
|
{ccitt recommendation q 950 general-error-list (1)}
|
||
|
PartyNumber FROM Addressing-Data-Elements-asn1-97
|
||
|
{ iso (1) standard (0) pss1-generic-procedures (11582)
|
||
|
addressing-data-elements-asn1-97 (20) } ;
|
||
|
|
||
|
AOC-Operations OPERATION ::= { chargeRequest | getFinalCharge | aocFinal | aocInterim | aocRate |
|
||
|
aocComplete | aocDivChargeReq }
|
||
|
|
||
|
aocRate OPERATION ::= {
|
||
|
ARGUMENT AocRateArg
|
||
|
RETURN RESULT FALSE
|
||
|
ALWAYS RESPONDS FALSE
|
||
|
CODE local: 63}
|
||
|
|
||
|
AocRateArg ::= SEQUENCE {
|
||
|
aocRate CHOICE {
|
||
|
chargeNotAvailable NULL,
|
||
|
aocSCurrencyInfoList AOCSCurrencyInfoList
|
||
|
},
|
||
|
rateArgExtension CHOICE {
|
||
|
extension [1] IMPLICIT Extension{{AOCExtSet}},
|
||
|
multipleExtension [2] IMPLICIT SEQUENCE OF
|
||
|
Extension{{AOCExtSet}} } OPTIONAL
|
||
|
}
|
||
|
|
||
|
aocInterim OPERATION ::= {
|
||
|
ARGUMENT AocInterimArg
|
||
|
RETURN RESULT FALSE
|
||
|
ALWAYS RESPONDS FALSE
|
||
|
CODE local: 62}
|
||
|
|
||
|
AocInterimArg ::= SEQUENCE {
|
||
|
interimCharge CHOICE {
|
||
|
chargeNotAvailable [0] IMPLICIT NULL,
|
||
|
freeOfCharge [1] IMPLICIT NULL,
|
||
|
specificCurrency SEQUENCE {
|
||
|
recordedCurrency [1] IMPLICIT RecordedCurrency,
|
||
|
interimBillingId[2] IMPLICIT InterimBillingId OPTIONAL }
|
||
|
},
|
||
|
interimArgExtension CHOICE {
|
||
|
extension [1] IMPLICIT Extension{{AOCExtSet}},
|
||
|
multipleExtension [2] IMPLICIT SEQUENCE OF
|
||
|
Extension{{AOCExtSet}} } OPTIONAL
|
||
|
}
|
||
|
|
||
|
aocFinal OPERATION ::= {
|
||
|
ARGUMENT AocFinalArg
|
||
|
RETURN RESULT FALSE
|
||
|
ALWAYS RESPONDS FALSE
|
||
|
CODE local: 61}
|
||
|
|
||
|
AocFinalArg ::= SEQUENCE {
|
||
|
finalCharge CHOICE {
|
||
|
chargeNotAvailable [0] IMPLICIT NULL,
|
||
|
freeOfCharge [1] IMPLICIT NULL,
|
||
|
specificCurrency SEQUENCE {
|
||
|
recordedCurrency [1] IMPLICIT RecordedCurrency,
|
||
|
finalBillingId[2] IMPLICIT FinalBillingId OPTIONAL }
|
||
|
},
|
||
|
chargingAssociation ChargingAssociation OPTIONAL,
|
||
|
finalArgExtension CHOICE {
|
||
|
extension [1] IMPLICIT Extension{{AOCExtSet}},
|
||
|
multipleExtension [2] IMPLICIT SEQUENCE OF
|
||
|
Extension{{AOCExtSet}} } OPTIONAL
|
||
|
}
|
||
|
|
||
|
AOCSCurrencyInfoList ::= SEQUENCE SIZE(1..10) OF AOCSCurrencyInfo
|
||
|
|
||
|
AOCSCurrencyInfo ::= SEQUENCE {
|
||
|
chargedItem ChargedItem,
|
||
|
rateType CHOICE {
|
||
|
durationCurrency [1] IMPLICIT DurationCurrency,
|
||
|
flatRateCurrency [2] IMPLICIT FlatRateCurrency,
|
||
|
volumeRateCurrency [3] IMPLICIT VolumeRateCurrency,
|
||
|
specialChargingCode SpecialChargingCode,
|
||
|
freeOfCharge [4] IMPLICIT NULL,
|
||
|
currencyInfoNotAvailable [5] IMPLICIT NULL,
|
||
|
freeOfChargefromBeginning [6] IMPLICIT NULL
|
||
|
} }
|
||
|
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)
|
||
|
|
||
|
RecordedCurrency ::= SEQUENCE {
|
||
|
rCurrency [1] IMPLICIT Currency,
|
||
|
rAmount [2] IMPLICIT Amount }
|
||
|
|
||
|
InterimBillingId ::= ENUMERATED {
|
||
|
normalCharging (0),
|
||
|
creditCardCharging (2) }
|
||
|
|
||
|
FinalBillingId ::= ENUMERATED {
|
||
|
normalCharging (0),
|
||
|
creditCardCharging (2),
|
||
|
callForwardingUnconditional (3),
|
||
|
callForwardingBusy (4),
|
||
|
callForwardingNoReply (5),
|
||
|
callDeflection (6),
|
||
|
callTransfer (7) }
|
||
|
|
||
|
Currency ::= IA5String (SIZE (0..10))
|
||
|
-- SIZE(0) shall indicate the default currency of the PISN
|
||
|
-- The representation of other currencies is outside the scope of this standard
|
||
|
|
||
|
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) }
|
||
|
|
||
|
ChargingType ::= ENUMERATED {
|
||
|
continuousCharging (0),
|
||
|
stepFunction (1) }
|
||
|
|
||
|
ChargingAssociation ::= CHOICE {
|
||
|
chargeNumber [0] PartyNumber,
|
||
|
chargeIdentifier ChargeIdentifier }
|
||
|
|
||
|
ChargeIdentifier ::= INTEGER (-32768..32767)
|
||
|
|
||
|
chargeRequest OPERATION ::= {
|
||
|
ARGUMENT ChargeRequestArg
|
||
|
RESULT ChargeRequestRes
|
||
|
ERRORS {
|
||
|
freeOfCharge |
|
||
|
supplementaryServiceInteractionNotAllowed |
|
||
|
notAvailable | unspecified }
|
||
|
CODE local: 59}
|
||
|
|
||
|
getFinalCharge OPERATION ::= {
|
||
|
ARGUMENT DummyArg
|
||
|
RETURN RESULT FALSE
|
||
|
ALWAYS RESPONDS FALSE
|
||
|
CODE local: 60}
|
||
|
|
||
|
ChargeRequestArg ::= SEQUENCE {
|
||
|
adviceModeCombinations SEQUENCE SIZE(0..7) OF
|
||
|
AdviceModeCombination,
|
||
|
chargeReqArgExtension CHOICE {
|
||
|
extension [1] IMPLICIT Extension{{AOCExtSet}},
|
||
|
multipleExtension [2] IMPLICIT SEQUENCE OF
|
||
|
Extension{{AOCExtSet}} } OPTIONAL
|
||
|
}
|
||
|
|
||
|
ChargeRequestRes ::= SEQUENCE {
|
||
|
adviceModeCombination AdviceModeCombination,
|
||
|
chargeReqResExtension CHOICE {
|
||
|
extension [1] IMPLICIT Extension{{AOCExtSet}},
|
||
|
multipleExtension [2] IMPLICIT SEQUENCE OF
|
||
|
Extension{{AOCExtSet}} } OPTIONAL
|
||
|
}
|
||
|
|
||
|
AdviceModeCombination ::= ENUMERATED { -- advice mode combination
|
||
|
rate (0), -- charge rate provision
|
||
|
rateInterim (1), -- charge rate and interim charge provision
|
||
|
rateFinal (2), -- charge rate and final charge provision
|
||
|
interim (3), -- interim charge provision
|
||
|
final (4), -- final charge provision
|
||
|
interimFinal (5), -- interim charge and final charge provision
|
||
|
rateInterimFinal (6)} -- charge rate, interim charge and final
|
||
|
-- charge provision
|
||
|
|
||
|
DummyArg ::= CHOICE{
|
||
|
none NULL,
|
||
|
extension [1] IMPLICIT Extension{{AOCExtSet}},
|
||
|
multipleExtension [2] IMPLICIT SEQUENCE OF Extension{{AOCExtSet}}
|
||
|
}
|
||
|
|
||
|
|
||
|
-- The following OPERATION applies for the interaction with Call Transfer
|
||
|
|
||
|
aocComplete OPERATION ::= {
|
||
|
ARGUMENT AocCompleteArg
|
||
|
RESULT AocCompleteRes
|
||
|
ERRORS {supplementaryServiceInteractionNotAllowed}
|
||
|
CODE local: 64}
|
||
|
|
||
|
AocCompleteArg ::= SEQUENCE {
|
||
|
chargedUser PartyNumber,
|
||
|
chargingAssociation ChargingAssociation OPTIONAL,
|
||
|
completeArgExtension CHOICE {
|
||
|
extension [1] IMPLICIT Extension{{AOCExtSet}},
|
||
|
multipleExtension [2] IMPLICIT SEQUENCE OF
|
||
|
Extension{{AOCExtSet}} } OPTIONAL
|
||
|
}
|
||
|
|
||
|
AocCompleteRes::= SEQUENCE {
|
||
|
chargingOption ChargingOption,
|
||
|
completeResExtension CHOICE {
|
||
|
extension [1] IMPLICIT Extension{{AOCExtSet}},
|
||
|
multipleExtension [2] IMPLICIT SEQUENCE OF Extension{{AOCExtSet}}
|
||
|
} OPTIONAL
|
||
|
}
|
||
|
|
||
|
ChargingOption ::= ENUMERATED{
|
||
|
aocFreeOfCharge (0),
|
||
|
aocContinueCharging (1),
|
||
|
aocStopCharging (2)
|
||
|
}
|
||
|
|
||
|
-- The following OPERATION applies for the interaction with Call Diversion
|
||
|
|
||
|
aocDivChargeReq OPERATION::= {
|
||
|
ARGUMENT AocDivChargeReqArg
|
||
|
RETURN RESULT FALSE
|
||
|
ALWAYS RESPONDS FALSE
|
||
|
CODE local: 65}
|
||
|
|
||
|
|
||
|
AocDivChargeReqArg ::= SEQUENCE {
|
||
|
divertingUser PartyNumber,
|
||
|
chargingAssociation ChargingAssociation OPTIONAL,
|
||
|
diversionType DiversionType,
|
||
|
aocDivChargeReqArgExt CHOICE {
|
||
|
extension [1] IMPLICIT Extension{{AOCExtSet}},
|
||
|
multipleExtension [2] IMPLICIT SEQUENCE OF Extension{{AOCExtSet}}
|
||
|
} OPTIONAL
|
||
|
}
|
||
|
|
||
|
|
||
|
DiversionType ::= ENUMERATED {
|
||
|
callForwardingUnconditional (0),
|
||
|
callForwardingBusy (1),
|
||
|
callForwardingNoReply (2),
|
||
|
callDeflection (3) }
|
||
|
|
||
|
AOCExtSet EXTENSION ::= {...}
|
||
|
|
||
|
unspecified ERROR ::= {
|
||
|
PARAMETER Extension{{AOCExtSet}}
|
||
|
CODE local: 1008}
|
||
|
|
||
|
freeOfCharge ERROR ::= { CODE local: 1016}
|
||
|
|
||
|
END -- of SS-AOC-Operations-asn1-97
|