diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-10 20:34:10 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-10 20:34:10 +0000 |
commit | e4ba6dbc3f1e76890b22773807ea37fe8fa2b1bc (patch) | |
tree | 68cb5ef9081156392f1dd62a00c6ccc1451b93df /epan/dissectors/asn1/qsig/QSIG-AOC.asn | |
parent | Initial commit. (diff) | |
download | wireshark-e4ba6dbc3f1e76890b22773807ea37fe8fa2b1bc.tar.xz wireshark-e4ba6dbc3f1e76890b22773807ea37fe8fa2b1bc.zip |
Adding upstream version 4.2.2.upstream/4.2.2
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'epan/dissectors/asn1/qsig/QSIG-AOC.asn')
-rw-r--r-- | epan/dissectors/asn1/qsig/QSIG-AOC.asn | 305 |
1 files changed, 305 insertions, 0 deletions
diff --git a/epan/dissectors/asn1/qsig/QSIG-AOC.asn b/epan/dissectors/asn1/qsig/QSIG-AOC.asn new file mode 100644 index 00000000..15cca38a --- /dev/null +++ b/epan/dissectors/asn1/qsig/QSIG-AOC.asn @@ -0,0 +1,305 @@ +-- 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 |