sec_vt_header: dissect cont_id + opnum
[wireshark-wip.git] / asn1 / isdn-sup / Advice-of-Charge-Operations.asn
blob820d506eabc703e36806c0dec1863ca40339a0ed
1 --
2 -- $Id$
3 --
4 -- EN 300 182-1 Ver. 1.3.6
5 --
7 Advice-of-Charge-Operations {ccitt identified-organization etsi (0) 182 operations-and-errors (1)}
9 DEFINITIONS IMPLICIT TAGS ::=
11 BEGIN
13 EXPORTS         ChargingRequest, AOCSCurrency, AOCSSpecialArr,
14                         AOCDCurrency, AOCDChargingUnit, AOCECurrency, AOCEChargingUnit,
15                         NoChargingInfoAvailable, ChargingAssociation;
17 IMPORTS         OPERATION, ERROR
18                         FROM Remote-Operations-Information-Objects {joint-iso-itu-t (2) remote-operations (4) informationObjects(5) version1(0)}
19                         notSubscribed, notAvailable, notImplemented, invalidCallState
20                         FROM General-Errors
21                                 {ccitt identified-organization etsi (0) 196 general-errors (2)}
22                         PartyNumber
23                         FROM Addressing-Data-Elements
24                                 {itu-t(0) identified-organization(4) 196 addressing-data-elements (6)};
26         chargingRequest OPERATION ::= {
27                         ARGUMENT ChargingRequestArg
28                         RESULT   ChargingRequestRes
29                         ERRORS {notSubscribed | notAvailable | notImplemented |
30                                 invalidCallState | NoChargingInfoAvailable}
31                         CODE        local:  30}
33 ChargingRequestArg ::= ChargingCase
35 ChargingRequestRes ::= CHOICE {
36                                 aOCSCurrencyInfoList AOCSCurrencyInfoList,
37                                 aOCSSpecialArrInfo AOCSSpecialArrInfo,
38                                 chargingInfoFollows NULL}
40 aOCSCurrency  OPERATION ::= {                   -- AOC-S given in currency units
41             ARGUMENT AOCSCurrencyArg 
42             RETURN RESULT     FALSE 
43                         CODE        local:  31}
45 AOCSCurrencyArg ::= CHOICE {
46                                 chargeNotAvailable NULL,
47                                 aOCSCurrencyInfoList AOCSCurrencyInfoList }
49 aOCSSpecialArr OPERATION ::= {                  -- AOC-S for special charging arrangement
50                         ARGUMENT AOCSSpecialArrArg
51             RETURN RESULT     FALSE 
52                         CODE        local:  32}
54 AOCSSpecialArrArg ::=CHOICE {
55                                 chargeNotAvailable NULL,
56                                 aOCSSpecialArrInfo AOCSSpecialArrInfo }
58 aOCDCurrency OPERATION ::= {                            -- AOC-D given in currency units
59                         ARGUMENT AOCDCurrencyArg 
60             RETURN RESULT     FALSE 
61                         CODE        local:  33}
63 AOCDCurrencyArg ::= CHOICE {
64                                 chargeNotAvailable NULL,
65                                 aOCDCurrencyInfo AOCDCurrencyInfo }
67 aOCDChargingUnit OPERATION ::= {                        -- AOC-D given in charging units
68                         ARGUMENT AOCDChargingUnitArg
69             RETURN RESULT     FALSE 
70                         CODE        local:  34}
72 AOCDChargingUnitArg ::= CHOICE {
73                                 chargeNotAvailable NULL,
74                                 aOCDChargingUnitInfo AOCDChargingUnitInfo }
76 aOCECurrency OPERATION ::= {                            -- AOC-E given in currency units
77                         ARGUMENT AOCECurrencyArg
78                         RETURN RESULT     FALSE 
79                         CODE        local:  35}
82 AOCECurrencyArg ::=CHOICE {
83                                 chargeNotAvailable NULL,
84                                 aOCECurrencyInfo AOCECurrencyInfo }
86 aOCEChargingUnit OPERATION::= {         -- AOC-E given in charging units
87                         ARGUMENT AOCEChargingUnitArg
88                         RETURN RESULT     FALSE 
89                         CODE        local:  36}
91 AOCEChargingUnitArg ::= CHOICE {
92                                 chargeNotAvailable NULL,
93                                 aOCEChargingUnitInfo AOCEChargingUnitInfo }
95 ChargingCase            ::=     ENUMERATED {
96                                         chargingInformationAtCallSetup (0),
97                                         chargingDuringACall (1),
98                                         chargingAtTheEndOfACall (2) }
100 AOCSCurrencyInfoList    ::=     SEQUENCE SIZE (1..10) OF AOCSCurrencyInfo
102 AOCSCurrencyInfo        ::=     SEQUENCE {
103                                         chargedItem ChargedItem,
104                                         chargingtype CHOICE {
105                                                 specificCurrency CHOICE {
106                                                         durationCurrency        [1] IMPLICIT DurationCurrency,
107                                                         flatRateCurrency        [2] IMPLICIT FlatRateCurrency,
108                                                         volumeRateCurrency      [3] IMPLICIT VolumeRateCurrency},
109                                         specialChargingCode                             SpecialChargingCode,
110                                         freeOfCharge                            [4] IMPLICIT NULL,
111                                         currencyInfoNotAvailable        [5] IMPLICIT NULL} }
113 AOCSSpecialArrInfo      ::=     INTEGER (1..10)
115 ChargedItem             ::=     ENUMERATED {
116                                         basicCommunication (0),
117                                         callAttempt (1),
118                                         callSetup (2),
119                                         userToUserInfo (3),
120                                         operationOfSupplementaryServ (4) }
122 DurationCurrency        ::=     SEQUENCE {
123                                         dCurrency               [1] IMPLICIT    Currency,
124                                         dAmount                 [2] IMPLICIT    Amount,
125                                         dChargingType   [3] IMPLICIT    ChargingType,
126                                         dTime                   [4] IMPLICIT    Time,
127                                         dGranularity    [5] IMPLICIT    Time OPTIONAL }
129 FlatRateCurrency        ::=     SEQUENCE {
130                                         fRCurrency              [1] IMPLICIT Currency,
131                                         fRAmount                [2] IMPLICIT Amount }
133 VolumeRateCurrency      ::=     SEQUENCE {
134                                         vRCurrency              [1] IMPLICIT    Currency,
135                                         vRAmount                [2] IMPLICIT    Amount,
136                                         vRVolumeUnit    [3] IMPLICIT    VolumeUnit}
138 SpecialChargingCode     ::=     INTEGER (1..10)
140 AOCDCurrencyInfo        ::=     CHOICE {
141                                         specificCurrency SEQUENCE {
142                                                 recordedCurrency        [1] IMPLICIT RecordedCurrency,
143                                                 typeOfChargingInfo      [2] IMPLICIT TypeOfChargingInfo,
144                                                 aOCDBillingId           [3] IMPLICIT AOCDBillingId OPTIONAL },
145                                         freeOfCharge    [1] IMPLICIT NULL}      
148 AOCDChargingUnitInfo    ::=     CHOICE {
149                                         specificChargingUnits SEQUENCE {
150                                                 recordedUnitsList       [1] IMPLICIT RecordedUnitsList,
151                                                 typeOfChargingInfo      [2] IMPLICIT TypeOfChargingInfo,
152                                                 aOCDBillingId           [3] IMPLICIT AOCDBillingId OPTIONAL },
153                                         freeOfCharge    [1] IMPLICIT NULL}
155 RecordedCurrency        ::=     SEQUENCE {
156                                         rCurrency               [1] IMPLICIT    Currency,
157                                         rAmount                 [2] IMPLICIT    Amount }
159 RecordedUnitsList       ::=     SEQUENCE SIZE (1..32) OF RecordedUnits
161 TypeOfChargingInfo      ::=     ENUMERATED {
162                                         subTotal        (0),
163                                         total           (1)}
165 RecordedUnits           ::=     SEQUENCE {
166                                                 cc CHOICE{
167                                                 recordedNumberOfUnits   NumberOfUnits,
168                                                 notAvailable                    NULL},
169                                         recordedTypeOfUnits     TypeOfUnit OPTIONAL }
171 AOCDBillingId           ::=     ENUMERATED {
172                                         normalCharging          (0),
173                                         reverseCharging         (1),
174                                         creditCardCharging      (2)}
176 AOCECurrencyInfo        ::=     SEQUENCE {
177                                         cc CHOICE {
178                                                 specificCurrency SEQUENCE {
179                                                         recordedCurrency        [1] IMPLICIT RecordedCurrency,
180                                                         aOCEBillingId           [2] IMPLICIT AOCEBillingId OPTIONAL},
181                                                 freeOfCharge    [1] IMPLICIT NULL},
182                                         chargingAssociation     ChargingAssociation OPTIONAL}
184 AOCEChargingUnitInfo ::=        SEQUENCE {
185                                         cc CHOICE {
186                                                 specificChargingUnits SEQUENCE {
187                                                         recordedUnitsList       [1] IMPLICIT RecordedUnitsList,
188                                                         aOCEBillingId           [2] IMPLICIT AOCEBillingId OPTIONAL},
189                                                 freeOfCharge    [1] IMPLICIT NULL},
190                                         chargingAssociation     ChargingAssociation OPTIONAL}
192 AOCEBillingId           ::=     ENUMERATED {
193                                         normalCharging                          (0),
194                                         reverseCharging                         (1),
195                                         creditCardCharging                      (2),
196                                         callForwardingUnconditional     (3),
197                                         callForwardingBusy                      (4),
198                                         callForwardingNoReply           (5),
199                                         callDeflection                          (6),
200                                         callTransfer                            (7)}
202 Currency                ::=     IA5String (SIZE (1..10))
204 Amount                  ::=     SEQUENCE {
205                                         currencyAmount  [1] IMPLICIT    CurrencyAmount,
206                                         multiplier              [2] IMPLICIT    Multiplier      }
208 CurrencyAmount  ::=     INTEGER (0..16777215)
210 Multiplier              ::=     ENUMERATED {
211                                         oneThousandth   (0),
212                                         oneHundredth    (1),
213                                         oneTenth                (2),
214                                         one                             (3),
215                                         ten                             (4),
216                                         hundred                 (5),
217                                         thousand                (6)}
219 Time                    ::=     SEQUENCE {
220                                         lengthOfTimeUnit        [1] IMPLICIT    LengthOfTimeUnit,
221                                         scale                           [2] IMPLICIT    Scale   }
223 LengthOfTimeUnit        ::=     INTEGER (0..16777215)
225 Scale                   ::=     ENUMERATED {
226                                         oneHundredthSecond      (0),
227                                         oneTenthSecond          (1),
228                                         oneSecond                       (2),
229                                         tenSeconds                      (3),
230                                         oneMinute                       (4),
231                                         oneHour                         (5),
232                                         twentyFourHours         (6)}
234 VolumeUnit              ::=     ENUMERATED {
235                                         octet           (0),
236                                         segment         (1),
237                                         message         (2) }
239 TypeOfUnit              ::=     INTEGER (1..16)         -- Value 1-16
241 NumberOfUnits           ::=     INTEGER (0..16777215)
243 ChargingType            ::=     ENUMERATED {
244                                         continuousCharging      (0),
245                                         stepFunction            (1) }
247 ChargingAssociation     ::=     CHOICE {
248                                         chargeNumber            [0] EXPLICIT PartyNumber,
249                                         chargeIdentifier                ChargeIdentifier}
251 ChargeIdentifier        ::=     INTEGER (-32768..32767)
253 -- NoChargingInfoAvailable ::=  ERROR
255 -- chargingRequest                      ChargingRequest                 ::= 30
256 -- aOCSCurrency                                 AOCSCurrency                    ::= 31
257 -- aOCSSpecialArr                               AOCSSpecialArr                  ::= 32
258 -- aOCDCurrency                                 AOCDCurrency                    ::= 33
259 -- aOCDChargingUnit                     AOCDChargingUnit                ::= 34
260 -- aOCECurrency                                 AOCECurrency                    ::= 35
261 -- aOCEChargingUnit                     AOCEChargingUnit                ::= 36
262 -- noChargingInfoAvailable      NoChargingInfoAvailable ::= 26
264 noChargingInfoAvailable  ERROR ::= { CODE  local: 26}