1 -- ETSI ES 201 296 V1.3.1 (2003-04)
3 Tariffing-Data-Types {itu-t(0) identified-organization(4) etsi (0) 1296 version3(4)}
5 DEFINITIONS IMPLICIT TAGS ::= BEGIN
7 -- This module contains the common data type definitions for the charging information used in the
8 -- new ISUP APM application "Charging ASE" and in the INAP charging operations.
14 -- Charging Common Data Types
15 ChargingAcknowledgementInformation ,
16 AddOnChargingInformation ,
17 ChargingTariffInformation ,
24 -- ChargingMessageType Type
26 ChargingMessageType ::= CHOICE {
27 crgt [0] ChargingTariffInformation,
28 aocrg [1] AddOnChargingInformation ,
29 crga [2] ChargingAcknowledgementInformation ,
30 start [3] StartCharging ,
31 stop [4] StopCharging }
33 -- ChargeUnitTimeInterval Type
35 ChargeUnitTimeInterval ::= OCTET STRING (SIZE(2))
37 -- The ChargeUnitTimeInterval is binary coded and has the value range from 0 to 35997. It begins with 200 milliseconds and
38 -- then in steps of 50 milliseconds.
39 -- the LSBit is the least significant bit of the first octet
40 -- the MSBit is the most significant bit of the last octet
41 -- the coding of the ChargeUnitTimeInterval is the following:
42 -- 0 : no periodic metering
47 -- All other values are spare.
49 -- ChargingAcknowledgementInformation Type
51 ChargingAcknowledgementInformation ::= SEQUENCE {
52 acknowledgementIndicators [0] BIT STRING {
54 (SIZE(minAcknowledgementIndicatorsLen..maxAcknowledgementIndicatorsLen)), extensions [1]
55 SEQUENCE SIZE(1..numOfExtensions) OF ExtensionField OPTIONAL,
56 originationIdentification [2] ChargingReferenceIdentification,
57 destinationIdentification [3] ChargingReferenceIdentification
60 -- Coding of "accepted":
63 -- The "extensions" is a SEQUENCE for possible extensions.
65 -- ChargingControlIndicators Type
67 ChargingControlIndicators ::= BIT STRING {
69 immediateChangeOfActuallyAppliedTariff (1),
71 (SIZE(minChargingControlIndicatorsLen..maxChargingControlIndicatorsLen))
73 -- Coding of "subscriberCharge":
74 -- 0 - advice-of-charge: charging information only to be used by the advice of charge service.
75 -- 1 - subscriber-charge: charging information to be used by the subscriber charging program.
76 -- Coding of "immediateChangeOfActuallyAppliedTariff":
77 -- 0 - immediate tariff change without restart
78 -- 1 - immediate tariff change with restart
79 -- It is only used to change the actually applied tariff.
80 -- Coding of 'delayUntilStart':
81 -- 0 - start tariffing, if it is not already started, without waiting for the 'start' signal
82 -- 1 - delay start of tariffing up to the receipt of the 'start' signal
84 -- AddOnChargingInformation Type
86 AddOnChargingInformation ::= SEQUENCE {
87 chargingControlIndicators [0] ChargingControlIndicators ,
88 addOncharge [1] CHOICE {
89 addOnChargeCurrency [0] CurrencyFactorScale ,
90 addOnChargePulse [1] PulseUnits
92 extensions [2] SEQUENCE SIZE(1..numOfExtensions) OF ExtensionField OPTIONAL,
93 originationIdentification [3] ChargingReferenceIdentification,
94 destinationIdentification [4] ChargingReferenceIdentification OPTIONAL,
98 -- This message is used to add an amount of charge for the call and does not alter the current tariff.
99 -- The destinationIdentification is not available in an initial AddOnChargingInformation, in all subsequent ones it is included, see
100 -- "Handling of Identifiers".
101 -- In the message the
102 -- add-on charge has either the pulse or currency format.
103 -- ChargingTariffInformation Type
105 ChargingTariffInformation ::= SEQUENCE {
106 chargingControlIndicators [0] ChargingControlIndicators,
107 chargingTariff [1] CHOICE {
108 tariffCurrency [0] TariffCurrency,
109 tariffPulse [1] TariffPulse
111 extensions [2] SEQUENCE SIZE(1..numOfExtensions) OF ExtensionField OPTIONAL,
112 originationIdentification [3] ChargingReferenceIdentification,
113 destinationIdentification [4] ChargingReferenceIdentification OPTIONAL,
114 currency [5] Currency
117 --This message is used
118 -- to transfer explicit tariff data to the originating subscriber exchange and the charge registration exchange during call
119 -- set-up and also in the active phase of a call.
120 -- The destinationIdentification is not available in an initial ChargingTariffInformation, in all subsequent ones it is included, see
121 -- "Handling of Identifiers".
125 global OBJECT IDENTIFIER
128 -- CommunicationChargeCurrency Type
130 CommunicationChargeCurrency ::= SEQUENCE {
131 currencyFactorScale [0] CurrencyFactorScale ,
132 tariffDuration [1] TariffDuration ,
133 subTariffControl [2] SubTariffControl }
135 -- CommunicationChargePulse Type
137 CommunicationChargePulse ::= SEQUENCE {
138 pulseUnits [0] PulseUnits ,
139 chargeUnitTimeInterval [1] ChargeUnitTimeInterval ,
140 tariffDuration [2] TariffDuration }
143 CriticalityType ::= ENUMERATED {
148 Currency ::= ENUMERATED {
150 australianDollar (1),
151 austrianSchilling (2),
162 hungarianForint (13),
166 luxembourgian-Franc (17),
169 portugeseEscudo (20),
179 -- CurrencyFactor Type
181 CurrencyFactor ::= INTEGER (0..999999)
183 -- Value 0 indicates "no charge".
184 -- CurrencyFactorScale Type
186 CurrencyFactorScale ::= SEQUENCE {
187 currencyFactor [0] CurrencyFactor DEFAULT noCharge ,
188 currencyScale [1] CurrencyScale DEFAULT noScale }
190 -- The charge amount is indicated by the currency factor multiplied with the currency scale.
191 -- "no charge" indicates CurrencyFactorScale has the value 0.
192 -- CurrencyScale Type
194 CurrencyScale ::= INTEGER (-7..3)
196 -- The actual value for currency scale is given by 10x, where x is the value of the CurrencyScale.
198 -- the coding of CurrencyScale is as follows, all other values are spare:
199 -- -7 (249): 0,0000001
200 -- -6 (250): 0,000001
211 -- Definition of the extension class
213 EXTENSION ::= CLASS {
215 &criticality CriticalityType DEFAULT ignore,
219 EXTENSION-SYNTAX &ExtensionType
220 CRITICALITY &criticality
223 -- Example of addition of an extension named 'Some Network Specific Indicator' of type
224 -- BOOLEAN, with criticality 'abort' and to be identified as extension number 1
225 -- Example of definition using the above information object class:
227 -- SomeNetworkSpecificIndicator EXTENSION ::= {
228 -- EXTENSION-SYNTAX BOOLEAN
230 -- IDENTIFIED BY local : 1
232 -- Example of transfer syntax, using the ExtensionField datatype as specified in section 4.1.
233 -- Assuming the value of the extension is set to TRUE, the extensions parameter
234 -- becomes a Sequence of type INTEGER ::= 1, criticality ENUMERATED ::= 1 and value [1]
235 -- EXPLICIT BOOLEAN ::= TRUE.
237 -- Use of Q.1400 defined Extension is ffs
238 -- In addition the extension mechanism marker is used to identify the future minor additions to INAP.
239 firstExtension EXTENSION ::= {
240 EXTENSION-SYNTAX NULL
242 IDENTIFIED BY local:1
245 -- firstExtension is just an example.
247 SupportedExtensions EXTENSION ::= {firstExtension , ...
248 -- full set of network operator extensions --}
249 -- SupportedExtension is the full set of the network operator extensions.
250 -- ExtensionField Type
252 ExtensionField ::= SEQUENCE {
253 type EXTENSION.&id ({SupportedExtensions}),
254 -- shall identify the value of an EXTENSION type
255 criticality CriticalityType DEFAULT ignore,
256 value [1] EXTENSION.&ExtensionType
257 ({SupportedExtensions}{@type})
259 -- This parameter indicates an extension of an argument data type. Its contents is network operator specific.
262 PulseUnits ::= OCTET STRING (SIZE(1))
263 -- the PulseUnits is binary coded and has the value range from 0 to 255
264 -- StartCharging Type
265 StartCharging ::= SEQUENCE {
266 networkOperators [0] SEQUENCE SIZE (1..maxNetworkOperators) OF NetworkIdentification OPTIONAL,
267 extensions [1] SEQUENCE SIZE(1..numOfExtensions) OF ExtensionField OPTIONAL,
268 originationIdentification [2] ChargingReferenceIdentification
271 --This message is used
272 -- to start charge generation/registration for one that belongs to one network operator or
273 -- to start charge generation/registration for more tariffs that belong to several network
275 -- The corresponding network operator(s) are listed within sub-parameter 'networkOperators'.
276 -- The sub-parameter 'networkOperators' is mandatory in configurations of multiple charge
277 -- determination points.
278 -- If sub-parameter 'networkOperators' is not present in a configuration with only one charge
279 -- determination point, the corresponding tariff is started.
280 -- The 'extensions' is a SEQUENCE for possible extensions.
283 StopCharging ::= SEQUENCE {
284 stopIndicators [0] BIT STRING {
285 callAttemptChargesApplicable (0) }
286 (SIZE(minStopIndicatorsLen.. maxStopIndicatorsLen)),
287 networkOperators [1] SEQUENCE SIZE (1..maxNetworkOperators) OF NetworkIdentification OPTIONAL,
288 extensions [2] SEQUENCE SIZE(1..numOfExtensions) OF ExtensionField OPTIONAL,
289 originationIdentification [3] ChargingReferenceIdentification
292 --This message is used to stop charge generation/registration
293 -- for one that belongs to one network operator or
294 -- to stop charge generation/registration for more tariffs that belong to several network operators.
295 -- The corresponding network operator(s) are listed within sub-parameter 'networkOperators'.
296 -- The sub-parameter 'networkOperators' is mandatory in configurations of multiple charge
297 -- determination points.
298 -- If sub-parameter 'networkOperators' is not present in a configuration with only one charge
299 -- determination point, the corresponding tariff is stopped.
300 -- Coding of 'callAttemptChargesApplicable':
301 -- 0 - stop tariffing, call attempt charges are not applicable
302 -- 1 - stop tariffing, call attempt charges are applicable
303 -- The 'extensions' is a SEQUENCE for possible extensions.
305 -- SubTariffControl Type
307 SubTariffControl ::= BIT STRING {oneTimeCharge (0)}
308 (SIZE(minSubTariffControlLen..maxSubTariffControlLen))
309 -- The coding of the oneTimeCharge is as follows:
310 -- 0 - Periodic charge
311 -- 1 - One time charge
312 minSubTariffControlLen INTEGER ::= 1
313 maxSubTariffControlLen INTEGER ::= 8
315 -- TariffCurrency Type
317 TariffCurrency ::= SEQUENCE {
318 currentTariffCurrency [0] TariffCurrencyFormat OPTIONAL ,
319 tariffSwitchCurrency [1] TariffSwitchCurrency OPTIONAL
321 -- TariffSwitchCurrency Type
323 TariffSwitchCurrency ::= SEQUENCE {
324 nextTariffCurrency [0] TariffCurrencyFormat ,
325 tariffSwitchoverTime [1] TariffSwitchoverTime
328 -- TariffCurrencyFormat Type
330 TariffCurrencyFormat ::= SEQUENCE {
331 communicationChargeSequenceCurrency [0] SEQUENCE
332 SIZE(minCommunicationTariffNum..maxCommunicationTariffNum)
333 OF CommunicationChargeCurrency OPTIONAL ,
334 tariffControlIndicators [1] BIT STRING {
335 non-cyclicTariff (0) }
336 (SIZE(minTariffIndicatorsLen..maxTariffIndicatorsLen)) ,
337 callAttemptChargeCurrency [2] CurrencyFactorScale OPTIONAL ,
338 callSetupChargeCurrency [3] CurrencyFactorScale OPTIONAL }
340 -- The communication charge sequence currency is a direct charge in currency per time unit. Only one fixed time unit is used.
341 -- This time unit has
342 -- to be agreed between all cooperating networks, e.g. one second. Being fixed, the time unit is not transferred over
344 -- The call attempt charge is a direct charge, to be charged only for unsuccessful calls.
345 -- The call set-up charge is a direct charge, to be charged once at start of charging.
347 -- The coding of the non-cyclicTariff is as follows:
348 -- 0 - Cyclic tariff ( at expiration of the tariff duration of the last communication tariff of the communication charge sequence,
349 -- the communication charge sequence is re-applied.
350 -- 1 - Non-cyclic tariff ( at expiration of the tariff duration of the last communication tariff of the communication charge
351 -- sequence, do not re-apply the communication charge sequence)
353 -- TariffDuration Type
355 TariffDuration ::= INTEGER (0..36000)
357 -- TariffDuration identifies with 0 unlimited duration and else in seconds unit.
364 -- The duration indicates for how long time the communication charge component is valid. Expiration of the tariff duration
365 -- timer leads to the activation of the next communication charge (if present).
366 -- In the case where there is no next communication charge in the communication charge sequence, the action to be performed
367 -- is indicated by the tariffControlIndicators.
370 TariffPulse ::= SEQUENCE {
371 currentTariffPulse [0] TariffPulseFormat OPTIONAL ,
372 tariffSwitchPulse [1] TariffSwitchPulse OPTIONAL }
374 -- TariffSwitchPulse Type
376 TariffSwitchPulse ::= SEQUENCE {
377 nextTariffPulse [0] TariffPulseFormat ,
378 tariffSwitchoverTime [1] TariffSwitchoverTime }
380 -- TariffPulseFormat Type
382 TariffPulseFormat ::= SEQUENCE {
383 communicationChargeSequencePulse [0] SEQUENCE
384 SIZE(minCommunicationTariffNum.. maxCommunicationTariffNum)
385 OF CommunicationChargePulse OPTIONAL ,
386 tariffControlIndicators [1] BIT STRING {
387 non-cyclicTariff (0) }
388 (SIZE(minTariffIndicatorsLen..maxTariffIndicatorsLen)) ,
389 callAttemptChargePulse [2] PulseUnits OPTIONAL ,
390 callSetupChargePulse [3] PulseUnits OPTIONAL }
392 -- The communication charges are meter-pulse units, which are to be applied per charge unit time interval.
393 -- The call attempt pulse units are to be charged only for unsuccessful calls.
394 -- The call set-up pulse units are to be charged once at start of charging.
396 -- TariffSwitchoverTime Type
398 TariffSwitchoverTime ::= OCTET STRING (SIZE(1))
400 -- This time is the absolute time at which the next tariff has to become active. It is represented in steps of 15 minutes.
401 -- The coding is the following:
403 -- 1 : 0 hour 15 minutes
404 -- 2 : 0 hour 30 minutes
405 -- 3 : 0 hour 45 minutes
406 -- 4 : 1 hour 0 minutes
408 -- 96 : 24 hours 0 minutes
411 minAcknowledgementIndicatorsLen INTEGER ::= 1
412 maxAcknowledgementIndicatorsLen INTEGER ::= 8
413 minChargingControlIndicatorsLen INTEGER ::= 1
414 maxChargingControlIndicatorsLen INTEGER ::= 8
415 maxNetworkOperators INTEGER ::= 6
416 minStopIndicatorsLen INTEGER ::= 1
417 maxStopIndicatorsLen INTEGER ::= 8
418 minTariffIndicatorsLen INTEGER ::= 1
419 maxTariffIndicatorsLen INTEGER ::= 8
420 minCommunicationTariffNum INTEGER ::= 1
421 maxCommunicationTariffNum INTEGER ::= 4
422 noCharge INTEGER ::= 0
423 noScale INTEGER ::= 0
424 numOfExtensions INTEGER ::= 1 --network specific
426 -- ChargingReferenceIdentification Type
428 ChargingReferenceIdentification ::= SEQUENCE {
429 networkIdentification [0] NetworkIdentification,
430 referenceID [1] ReferenceID}
432 -- NetworkIdentification Type
434 NetworkIdentification ::= OBJECT IDENTIFIER
436 -- Following structure of the networkIdentification value shall be used:
437 -- {itu-t (0) administration (2) <national regulation authority> (x) network (y) node identification (z)}
438 -- The value for x is the value of the national regulation authority, the value for y is under the control of the national
439 -- regulation authority concerned, the value for z is under the control of the network concerned.
443 ReferenceID ::= INTEGER (0..4294967295)
444 -- maximum value 232 - 1
447 -- of Tariffing-Data Types