forked from osmocom/wireshark
8c608e6e82
Change-Id: Ie476c6f82f318188b41ed922b92c6fec119ea954 Reviewed-on: https://code.wireshark.org/review/244 Reviewed-by: Jeff Morriss <jeff.morriss.ws@gmail.com> Tested-by: Jeff Morriss <jeff.morriss.ws@gmail.com>
306 lines
9.7 KiB
Groff
306 lines
9.7 KiB
Groff
-- 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
|