Revert "TODO epan/dissectors/asn1/kerberos/packet-kerberos-template.c new GSS flags"
[wireshark-sm.git] / epan / dissectors / asn1 / isdn-sup / Advice-of-Charge-Operations.asn
blobdf1b7e7404dc68068a983abfafe69f3849649bbc
1 --
2 -- EN 300 182-1 Ver. 1.3.6
3 --
5 Advice-of-Charge-Operations {ccitt identified-organization etsi (0) 182 operations-and-errors (1)}
7 DEFINITIONS IMPLICIT TAGS ::=
9 BEGIN
11 EXPORTS         ChargingRequest, AOCSCurrency, AOCSSpecialArr,
12                         AOCDCurrency, AOCDChargingUnit, AOCECurrency, AOCEChargingUnit,
13                         NoChargingInfoAvailable, ChargingAssociation;
15 IMPORTS         OPERATION, ERROR
16                         FROM Remote-Operations-Information-Objects {joint-iso-itu-t (2) remote-operations (4) informationObjects(5) version1(0)}
17                         notSubscribed, notAvailable, notImplemented, invalidCallState
18                         FROM General-Errors
19                                 {ccitt identified-organization etsi (0) 196 general-errors (2)}
20                         PartyNumber
21                         FROM Addressing-Data-Elements
22                                 {itu-t(0) identified-organization(4) 196 addressing-data-elements (6)};
24         chargingRequest OPERATION ::= {
25                         ARGUMENT ChargingRequestArg
26                         RESULT   ChargingRequestRes
27                         ERRORS {notSubscribed | notAvailable | notImplemented |
28                                 invalidCallState | NoChargingInfoAvailable}
29                         CODE        local:  30}
31 ChargingRequestArg ::= ChargingCase
33 ChargingRequestRes ::= CHOICE {
34                                 aOCSCurrencyInfoList AOCSCurrencyInfoList,
35                                 aOCSSpecialArrInfo AOCSSpecialArrInfo,
36                                 chargingInfoFollows NULL}
38 aOCSCurrency  OPERATION ::= {                   -- AOC-S given in currency units
39             ARGUMENT AOCSCurrencyArg 
40             RETURN RESULT     FALSE 
41                         CODE        local:  31}
43 AOCSCurrencyArg ::= CHOICE {
44                                 chargeNotAvailable NULL,
45                                 aOCSCurrencyInfoList AOCSCurrencyInfoList }
47 aOCSSpecialArr OPERATION ::= {                  -- AOC-S for special charging arrangement
48                         ARGUMENT AOCSSpecialArrArg
49             RETURN RESULT     FALSE 
50                         CODE        local:  32}
52 AOCSSpecialArrArg ::=CHOICE {
53                                 chargeNotAvailable NULL,
54                                 aOCSSpecialArrInfo AOCSSpecialArrInfo }
56 aOCDCurrency OPERATION ::= {                            -- AOC-D given in currency units
57                         ARGUMENT AOCDCurrencyArg 
58             RETURN RESULT     FALSE 
59                         CODE        local:  33}
61 AOCDCurrencyArg ::= CHOICE {
62                                 chargeNotAvailable NULL,
63                                 aOCDCurrencyInfo AOCDCurrencyInfo }
65 aOCDChargingUnit OPERATION ::= {                        -- AOC-D given in charging units
66                         ARGUMENT AOCDChargingUnitArg
67             RETURN RESULT     FALSE 
68                         CODE        local:  34}
70 AOCDChargingUnitArg ::= CHOICE {
71                                 chargeNotAvailable NULL,
72                                 aOCDChargingUnitInfo AOCDChargingUnitInfo }
74 aOCECurrency OPERATION ::= {                            -- AOC-E given in currency units
75                         ARGUMENT AOCECurrencyArg
76                         RETURN RESULT     FALSE 
77                         CODE        local:  35}
80 AOCECurrencyArg ::=CHOICE {
81                                 chargeNotAvailable NULL,
82                                 aOCECurrencyInfo AOCECurrencyInfo }
84 aOCEChargingUnit OPERATION::= {         -- AOC-E given in charging units
85                         ARGUMENT AOCEChargingUnitArg
86                         RETURN RESULT     FALSE 
87                         CODE        local:  36}
89 AOCEChargingUnitArg ::= CHOICE {
90                                 chargeNotAvailable NULL,
91                                 aOCEChargingUnitInfo AOCEChargingUnitInfo }
93 ChargingCase            ::=     ENUMERATED {
94                                         chargingInformationAtCallSetup (0),
95                                         chargingDuringACall (1),
96                                         chargingAtTheEndOfACall (2) }
98 AOCSCurrencyInfoList    ::=     SEQUENCE SIZE (1..10) OF AOCSCurrencyInfo
100 AOCSCurrencyInfo        ::=     SEQUENCE {
101                                         chargedItem ChargedItem,
102                                         chargingtype CHOICE {
103                                                 specificCurrency CHOICE {
104                                                         durationCurrency        [1] IMPLICIT DurationCurrency,
105                                                         flatRateCurrency        [2] IMPLICIT FlatRateCurrency,
106                                                         volumeRateCurrency      [3] IMPLICIT VolumeRateCurrency},
107                                         specialChargingCode                             SpecialChargingCode,
108                                         freeOfCharge                            [4] IMPLICIT NULL,
109                                         currencyInfoNotAvailable        [5] IMPLICIT NULL} }
111 AOCSSpecialArrInfo      ::=     INTEGER (1..10)
113 ChargedItem             ::=     ENUMERATED {
114                                         basicCommunication (0),
115                                         callAttempt (1),
116                                         callSetup (2),
117                                         userToUserInfo (3),
118                                         operationOfSupplementaryServ (4) }
120 DurationCurrency        ::=     SEQUENCE {
121                                         dCurrency               [1] IMPLICIT    Currency,
122                                         dAmount                 [2] IMPLICIT    Amount,
123                                         dChargingType   [3] IMPLICIT    ChargingType,
124                                         dTime                   [4] IMPLICIT    Time,
125                                         dGranularity    [5] IMPLICIT    Time OPTIONAL }
127 FlatRateCurrency        ::=     SEQUENCE {
128                                         fRCurrency              [1] IMPLICIT Currency,
129                                         fRAmount                [2] IMPLICIT Amount }
131 VolumeRateCurrency      ::=     SEQUENCE {
132                                         vRCurrency              [1] IMPLICIT    Currency,
133                                         vRAmount                [2] IMPLICIT    Amount,
134                                         vRVolumeUnit    [3] IMPLICIT    VolumeUnit}
136 SpecialChargingCode     ::=     INTEGER (1..10)
138 AOCDCurrencyInfo        ::=     CHOICE {
139                                         specificCurrency SEQUENCE {
140                                                 recordedCurrency        [1] IMPLICIT RecordedCurrency,
141                                                 typeOfChargingInfo      [2] IMPLICIT TypeOfChargingInfo,
142                                                 aOCDBillingId           [3] IMPLICIT AOCDBillingId OPTIONAL },
143                                         freeOfCharge    [1] IMPLICIT NULL}      
146 AOCDChargingUnitInfo    ::=     CHOICE {
147                                         specificChargingUnits SEQUENCE {
148                                                 recordedUnitsList       [1] IMPLICIT RecordedUnitsList,
149                                                 typeOfChargingInfo      [2] IMPLICIT TypeOfChargingInfo,
150                                                 aOCDBillingId           [3] IMPLICIT AOCDBillingId OPTIONAL },
151                                         freeOfCharge    [1] IMPLICIT NULL}
153 RecordedCurrency        ::=     SEQUENCE {
154                                         rCurrency               [1] IMPLICIT    Currency,
155                                         rAmount                 [2] IMPLICIT    Amount }
157 RecordedUnitsList       ::=     SEQUENCE SIZE (1..32) OF RecordedUnits
159 TypeOfChargingInfo      ::=     ENUMERATED {
160                                         subTotal        (0),
161                                         total           (1)}
163 RecordedUnits           ::=     SEQUENCE {
164                                                 cc CHOICE{
165                                                 recordedNumberOfUnits   NumberOfUnits,
166                                                 notAvailable                    NULL},
167                                         recordedTypeOfUnits     TypeOfUnit OPTIONAL }
169 AOCDBillingId           ::=     ENUMERATED {
170                                         normalCharging          (0),
171                                         reverseCharging         (1),
172                                         creditCardCharging      (2)}
174 AOCECurrencyInfo        ::=     SEQUENCE {
175                                         cc CHOICE {
176                                                 specificCurrency SEQUENCE {
177                                                         recordedCurrency        [1] IMPLICIT RecordedCurrency,
178                                                         aOCEBillingId           [2] IMPLICIT AOCEBillingId OPTIONAL},
179                                                 freeOfCharge    [1] IMPLICIT NULL},
180                                         chargingAssociation     ChargingAssociation OPTIONAL}
182 AOCEChargingUnitInfo ::=        SEQUENCE {
183                                         cc CHOICE {
184                                                 specificChargingUnits SEQUENCE {
185                                                         recordedUnitsList       [1] IMPLICIT RecordedUnitsList,
186                                                         aOCEBillingId           [2] IMPLICIT AOCEBillingId OPTIONAL},
187                                                 freeOfCharge    [1] IMPLICIT NULL},
188                                         chargingAssociation     ChargingAssociation OPTIONAL}
190 AOCEBillingId           ::=     ENUMERATED {
191                                         normalCharging                          (0),
192                                         reverseCharging                         (1),
193                                         creditCardCharging                      (2),
194                                         callForwardingUnconditional     (3),
195                                         callForwardingBusy                      (4),
196                                         callForwardingNoReply           (5),
197                                         callDeflection                          (6),
198                                         callTransfer                            (7)}
200 Currency                ::=     IA5String (SIZE (1..10))
202 Amount                  ::=     SEQUENCE {
203                                         currencyAmount  [1] IMPLICIT    CurrencyAmount,
204                                         multiplier              [2] IMPLICIT    Multiplier      }
206 CurrencyAmount  ::=     INTEGER (0..16777215)
208 Multiplier              ::=     ENUMERATED {
209                                         oneThousandth   (0),
210                                         oneHundredth    (1),
211                                         oneTenth                (2),
212                                         one                             (3),
213                                         ten                             (4),
214                                         hundred                 (5),
215                                         thousand                (6)}
217 Time                    ::=     SEQUENCE {
218                                         lengthOfTimeUnit        [1] IMPLICIT    LengthOfTimeUnit,
219                                         scale                           [2] IMPLICIT    Scale   }
221 LengthOfTimeUnit        ::=     INTEGER (0..16777215)
223 Scale                   ::=     ENUMERATED {
224                                         oneHundredthSecond      (0),
225                                         oneTenthSecond          (1),
226                                         oneSecond                       (2),
227                                         tenSeconds                      (3),
228                                         oneMinute                       (4),
229                                         oneHour                         (5),
230                                         twentyFourHours         (6)}
232 VolumeUnit              ::=     ENUMERATED {
233                                         octet           (0),
234                                         segment         (1),
235                                         message         (2) }
237 TypeOfUnit              ::=     INTEGER (1..16)         -- Value 1-16
239 NumberOfUnits           ::=     INTEGER (0..16777215)
241 ChargingType            ::=     ENUMERATED {
242                                         continuousCharging      (0),
243                                         stepFunction            (1) }
245 ChargingAssociation     ::=     CHOICE {
246                                         chargeNumber            [0] EXPLICIT PartyNumber,
247                                         chargeIdentifier                ChargeIdentifier}
249 ChargeIdentifier        ::=     INTEGER (-32768..32767)
251 -- NoChargingInfoAvailable ::=  ERROR
253 -- chargingRequest                      ChargingRequest                 ::= 30
254 -- aOCSCurrency                                 AOCSCurrency                    ::= 31
255 -- aOCSSpecialArr                               AOCSSpecialArr                  ::= 32
256 -- aOCDCurrency                                 AOCDCurrency                    ::= 33
257 -- aOCDChargingUnit                     AOCDChargingUnit                ::= 34
258 -- aOCECurrency                                 AOCECurrency                    ::= 35
259 -- aOCEChargingUnit                     AOCEChargingUnit                ::= 36
260 -- noChargingInfoAvailable      NoChargingInfoAvailable ::= 26
262 noChargingInfoAvailable  ERROR ::= { CODE  local: 26}