1 -- ETSI ES 201 296 V1.3.1 (2003-04)
2 Tariffing-Data-Types {itu-t(0) identified-organization(4) etsi (0) 1296 version3(4)}
4 DEFINITIONS IMPLICIT TAGS ::= BEGIN
6 -- This module contains the common data type definitions for the charging information used in the
7 -- new ISUP APM application "Charging ASE" and in the INAP charging operations.
13 -- Charging Common Data Types
14 ChargingAcknowledgementInformation ,
15 AddOnChargingInformation ,
16 ChargingTariffInformation ,
23 -- ChargingMessageType Type
25 ChargingMessageType ::= CHOICE {
26 crgt [0] ChargingTariffInformation,
27 aocrg [1] AddOnChargingInformation ,
28 crga [2] ChargingAcknowledgementInformation ,
29 start [3] StartCharging ,
30 stop [4] StopCharging }
32 -- ChargeUnitTimeInterval Type
34 ChargeUnitTimeInterval ::= OCTET STRING (SIZE(2))
36 -- The ChargeUnitTimeInterval is binary coded and has the value range from 0 to 35997. It begins with 200 milliseconds and
37 -- then in steps of 50 milliseconds.
38 -- the LSBit is the least significant bit of the first octet
39 -- the MSBit is the most significant bit of the last octet
40 -- the coding of the ChargeUnitTimeInterval is the following:
41 -- 0 : no periodic metering
46 -- All other values are spare.
48 -- ChargingAcknowledgementInformation Type
50 ChargingAcknowledgementInformation ::= SEQUENCE {
51 acknowledgementIndicators [0] BIT STRING {
53 (SIZE(minAcknowledgementIndicatorsLen..maxAcknowledgementIndicatorsLen)), extensions [1]
54 SEQUENCE SIZE(1..numOfExtensions) OF ExtensionField OPTIONAL,
55 originationIdentification [2] ChargingReferenceIdentification,
56 destinationIdentification [3] ChargingReferenceIdentification
59 -- Coding of "accepted":
62 -- The "extensions" is a SEQUENCE for possible extensions.
64 -- ChargingControlIndicators Type
66 ChargingControlIndicators ::= BIT STRING {
68 immediateChangeOfActuallyAppliedTariff (1),
70 (SIZE(minChargingControlIndicatorsLen..maxChargingControlIndicatorsLen))
72 -- Coding of "subscriberCharge":
73 -- 0 - advice-of-charge: charging information only to be used by the advice of charge service.
74 -- 1 - subscriber-charge: charging information to be used by the subscriber charging program.
75 -- Coding of "immediateChangeOfActuallyAppliedTariff":
76 -- 0 - immediate tariff change without restart
77 -- 1 - immediate tariff change with restart
78 -- It is only used to change the actually applied tariff.
79 -- Coding of 'delayUntilStart':
80 -- 0 - start tariffing, if it is not already started, without waiting for the 'start' signal
81 -- 1 - delay start of tariffing up to the receipt of the 'start' signal
83 -- AddOnChargingInformation Type
85 AddOnChargingInformation ::= SEQUENCE {
86 chargingControlIndicators [0] ChargingControlIndicators ,
87 addOncharge [1] CHOICE {
88 addOnChargeCurrency [0] CurrencyFactorScale ,
89 addOnChargePulse [1] PulseUnits
91 extensions [2] SEQUENCE SIZE(1..numOfExtensions) OF ExtensionField OPTIONAL,
92 originationIdentification [3] ChargingReferenceIdentification,
93 destinationIdentification [4] ChargingReferenceIdentification OPTIONAL,
97 -- This message is used to add an amount of charge for the call and does not alter the current tariff.
98 -- The destinationIdentification is not available in an initial AddOnChargingInformation, in all subsequent ones it is included, see
99 -- "Handling of Identifiers".
100 -- In the message the
101 -- add-on charge has either the pulse or currency format.
102 -- ChargingTariffInformation Type
104 ChargingTariffInformation ::= SEQUENCE {
105 chargingControlIndicators [0] ChargingControlIndicators,
106 chargingTariff [1] CHOICE {
107 tariffCurrency [0] TariffCurrency,
108 tariffPulse [1] TariffPulse
110 extensions [2] SEQUENCE SIZE(1..numOfExtensions) OF ExtensionField OPTIONAL,
111 originationIdentification [3] ChargingReferenceIdentification,
112 destinationIdentification [4] ChargingReferenceIdentification OPTIONAL,
113 currency [5] Currency
116 --This message is used
117 -- to transfer explicit tariff data to the originating subscriber exchange and the charge registration exchange during call
118 -- set-up and also in the active phase of a call.
119 -- The destinationIdentification is not available in an initial ChargingTariffInformation, in all subsequent ones it is included, see
120 -- "Handling of Identifiers".
124 global OBJECT IDENTIFIER
127 -- CommunicationChargeCurrency Type
129 CommunicationChargeCurrency ::= SEQUENCE {
130 currencyFactorScale [0] CurrencyFactorScale ,
131 tariffDuration [1] TariffDuration ,
132 subTariffControl [2] SubTariffControl }
134 -- CommunicationChargePulse Type
136 CommunicationChargePulse ::= SEQUENCE {
137 pulseUnits [0] PulseUnits ,
138 chargeUnitTimeInterval [1] ChargeUnitTimeInterval ,
139 tariffDuration [2] TariffDuration }
142 CriticalityType ::= ENUMERATED {
147 Currency ::= ENUMERATED {
149 australianDollar (1),
150 austrianSchilling (2),
161 hungarianForint (13),
165 luxembourgian-Franc (17),
168 portugeseEscudo (20),
178 -- CurrencyFactor Type
180 CurrencyFactor ::= INTEGER (0..999999)
182 -- Value 0 indicates "no charge".
183 -- CurrencyFactorScale Type
185 CurrencyFactorScale ::= SEQUENCE {
186 currencyFactor [0] CurrencyFactor DEFAULT noCharge ,
187 currencyScale [1] CurrencyScale DEFAULT noScale }
189 -- The charge amount is indicated by the currency factor multiplied with the currency scale.
190 -- "no charge" indicates CurrencyFactorScale has the value 0.
191 -- CurrencyScale Type
193 CurrencyScale ::= INTEGER (-7..3)
195 -- The actual value for currency scale is given by 10x, where x is the value of the CurrencyScale.
197 -- the coding of CurrencyScale is as follows, all other values are spare:
198 -- -7 (249): 0,0000001
199 -- -6 (250): 0,000001
210 -- Definition of the extension class
212 EXTENSION ::= CLASS {
214 &criticality CriticalityType DEFAULT ignore,
218 EXTENSION-SYNTAX &ExtensionType
219 CRITICALITY &criticality
222 -- Example of addition of an extension named 'Some Network Specific Indicator' of type
223 -- BOOLEAN, with criticality 'abort' and to be identified as extension number 1
224 -- Example of definition using the above information object class:
226 -- SomeNetworkSpecificIndicator EXTENSION ::= {
227 -- EXTENSION-SYNTAX BOOLEAN
229 -- IDENTIFIED BY local : 1
231 -- Example of transfer syntax, using the ExtensionField datatype as specified in section 4.1.
232 -- Assuming the value of the extension is set to TRUE, the extensions parameter
233 -- becomes a Sequence of type INTEGER ::= 1, criticality ENUMERATED ::= 1 and value [1]
234 -- EXPLICIT BOOLEAN ::= TRUE.
236 -- Use of Q.1400 defined Extension is ffs
237 -- In addition the extension mechanism marker is used to identify the future minor additions to INAP.
238 firstExtension EXTENSION ::= {
239 EXTENSION-SYNTAX NULL
241 IDENTIFIED BY local:1
244 -- firstExtension is just an example.
246 SupportedExtensions EXTENSION ::= {firstExtension , ...
247 -- full set of network operator extensions --}
248 -- SupportedExtension is the full set of the network operator extensions.
249 -- ExtensionField Type
251 ExtensionField ::= SEQUENCE {
252 type EXTENSION.&id ({SupportedExtensions}),
253 -- shall identify the value of an EXTENSION type
254 criticality CriticalityType DEFAULT ignore,
255 value [1] EXTENSION.&ExtensionType
256 ({SupportedExtensions}{@type})
258 -- This parameter indicates an extension of an argument data type. Its contents is network operator specific.
261 PulseUnits ::= OCTET STRING (SIZE(1))
262 -- the PulseUnits is binary coded and has the value range from 0 to 255
263 -- StartCharging Type
264 StartCharging ::= SEQUENCE {
265 networkOperators [0] SEQUENCE SIZE (1..maxNetworkOperators) OF NetworkIdentification OPTIONAL,
266 extensions [1] SEQUENCE SIZE(1..numOfExtensions) OF ExtensionField OPTIONAL,
267 originationIdentification [2] ChargingReferenceIdentification
270 --This message is used
271 -- to start charge generation/registration for one that belongs to one network operator or
272 -- to start charge generation/registration for more tariffs that belong to several network
274 -- The corresponding network operator(s) are listed within sub-parameter 'networkOperators'.
275 -- The sub-parameter 'networkOperators' is mandatory in configurations of multiple charge
276 -- determination points.
277 -- If sub-parameter 'networkOperators' is not present in a configuration with only one charge
278 -- determination point, the corresponding tariff is started.
279 -- The 'extensions' is a SEQUENCE for possible extensions.
282 StopCharging ::= SEQUENCE {
283 stopIndicators [0] BIT STRING {
284 callAttemptChargesApplicable (0) }
285 (SIZE(minStopIndicatorsLen.. maxStopIndicatorsLen)),
286 networkOperators [1] SEQUENCE SIZE (1..maxNetworkOperators) OF NetworkIdentification OPTIONAL,
287 extensions [2] SEQUENCE SIZE(1..numOfExtensions) OF ExtensionField OPTIONAL,
288 originationIdentification [3] ChargingReferenceIdentification
291 --This message is used to stop charge generation/registration
292 -- for one that belongs to one network operator or
293 -- to stop charge generation/registration for more tariffs that belong to several network operators.
294 -- The corresponding network operator(s) are listed within sub-parameter 'networkOperators'.
295 -- The sub-parameter 'networkOperators' is mandatory in configurations of multiple charge
296 -- determination points.
297 -- If sub-parameter 'networkOperators' is not present in a configuration with only one charge
298 -- determination point, the corresponding tariff is stopped.
299 -- Coding of 'callAttemptChargesApplicable':
300 -- 0 - stop tariffing, call attempt charges are not applicable
301 -- 1 - stop tariffing, call attempt charges are applicable
302 -- The 'extensions' is a SEQUENCE for possible extensions.
304 -- SubTariffControl Type
306 SubTariffControl ::= BIT STRING {oneTimeCharge (0)}
307 (SIZE(minSubTariffControlLen..maxSubTariffControlLen))
308 -- The coding of the oneTimeCharge is as follows:
309 -- 0 - Periodic charge
310 -- 1 - One time charge
311 minSubTariffControlLen INTEGER ::= 1
312 maxSubTariffControlLen INTEGER ::= 8
314 -- TariffCurrency Type
316 TariffCurrency ::= SEQUENCE {
317 currentTariffCurrency [0] TariffCurrencyFormat OPTIONAL ,
318 tariffSwitchCurrency [1] TariffSwitchCurrency OPTIONAL
320 -- TariffSwitchCurrency Type
322 TariffSwitchCurrency ::= SEQUENCE {
323 nextTariffCurrency [0] TariffCurrencyFormat ,
324 tariffSwitchoverTime [1] TariffSwitchoverTime
327 -- TariffCurrencyFormat Type
329 TariffCurrencyFormat ::= SEQUENCE {
330 communicationChargeSequenceCurrency [0] SEQUENCE
331 SIZE(minCommunicationTariffNum..maxCommunicationTariffNum)
332 OF CommunicationChargeCurrency OPTIONAL ,
333 tariffControlIndicators [1] BIT STRING {
334 non-cyclicTariff (0) }
335 (SIZE(minTariffIndicatorsLen..maxTariffIndicatorsLen)) ,
336 callAttemptChargeCurrency [2] CurrencyFactorScale OPTIONAL ,
337 callSetupChargeCurrency [3] CurrencyFactorScale OPTIONAL }
339 -- The communication charge sequence currency is a direct charge in currency per time unit. Only one fixed time unit is used.
340 -- This time unit has
341 -- to be agreed between all cooperating networks, e.g. one second. Being fixed, the time unit is not transferred over
343 -- The call attempt charge is a direct charge, to be charged only for unsuccessful calls.
344 -- The call set-up charge is a direct charge, to be charged once at start of charging.
346 -- The coding of the non-cyclicTariff is as follows:
347 -- 0 - Cyclic tariff ( at expiration of the tariff duration of the last communication tariff of the communication charge sequence,
348 -- the communication charge sequence is re-applied.
349 -- 1 - Non-cyclic tariff ( at expiration of the tariff duration of the last communication tariff of the communication charge
350 -- sequence, do not re-apply the communication charge sequence)
352 -- TariffDuration Type
354 TariffDuration ::= INTEGER (0..36000)
356 -- TariffDuration identifies with 0 unlimited duration and else in seconds unit.
363 -- The duration indicates for how long time the communication charge component is valid. Expiration of the tariff duration
364 -- timer leads to the activation of the next communication charge (if present).
365 -- In the case where there is no next communication charge in the communication charge sequence, the action to be performed
366 -- is indicated by the tariffControlIndicators.
369 TariffPulse ::= SEQUENCE {
370 currentTariffPulse [0] TariffPulseFormat OPTIONAL ,
371 tariffSwitchPulse [1] TariffSwitchPulse OPTIONAL }
373 -- TariffSwitchPulse Type
375 TariffSwitchPulse ::= SEQUENCE {
376 nextTariffPulse [0] TariffPulseFormat ,
377 tariffSwitchoverTime [1] TariffSwitchoverTime }
379 -- TariffPulseFormat Type
381 TariffPulseFormat ::= SEQUENCE {
382 communicationChargeSequencePulse [0] SEQUENCE
383 SIZE(minCommunicationTariffNum.. maxCommunicationTariffNum)
384 OF CommunicationChargePulse OPTIONAL ,
385 tariffControlIndicators [1] BIT STRING {
386 non-cyclicTariff (0) }
387 (SIZE(minTariffIndicatorsLen..maxTariffIndicatorsLen)) ,
388 callAttemptChargePulse [2] PulseUnits OPTIONAL ,
389 callSetupChargePulse [3] PulseUnits OPTIONAL }
391 -- The communication charges are meter-pulse units, which are to be applied per charge unit time interval.
392 -- The call attempt pulse units are to be charged only for unsuccessful calls.
393 -- The call set-up pulse units are to be charged once at start of charging.
395 -- TariffSwitchoverTime Type
397 TariffSwitchoverTime ::= OCTET STRING (SIZE(1))
399 -- This time is the absolute time at which the next tariff has to become active. It is represented in steps of 15 minutes.
400 -- The coding is the following:
402 -- 1 : 0 hour 15 minutes
403 -- 2 : 0 hour 30 minutes
404 -- 3 : 0 hour 45 minutes
405 -- 4 : 1 hour 0 minutes
407 -- 96 : 24 hours 0 minutes
410 minAcknowledgementIndicatorsLen INTEGER ::= 1
411 maxAcknowledgementIndicatorsLen INTEGER ::= 8
412 minChargingControlIndicatorsLen INTEGER ::= 1
413 maxChargingControlIndicatorsLen INTEGER ::= 8
414 maxNetworkOperators INTEGER ::= 6
415 minStopIndicatorsLen INTEGER ::= 1
416 maxStopIndicatorsLen INTEGER ::= 8
417 minTariffIndicatorsLen INTEGER ::= 1
418 maxTariffIndicatorsLen INTEGER ::= 8
419 minCommunicationTariffNum INTEGER ::= 1
420 maxCommunicationTariffNum INTEGER ::= 4
421 noCharge INTEGER ::= 0
422 noScale INTEGER ::= 0
423 numOfExtensions INTEGER ::= 1 --network specific
425 -- ChargingReferenceIdentification Type
427 ChargingReferenceIdentification ::= SEQUENCE {
428 networkIdentification [0] NetworkIdentification,
429 referenceID [1] ReferenceID}
431 -- NetworkIdentification Type
433 NetworkIdentification ::= OBJECT IDENTIFIER
435 -- Following structure of the networkIdentification value shall be used:
436 -- {itu-t (0) administration (2) <national regulation authority> (x) network (y) node identification (z)}
437 -- The value for x is the value of the national regulation authority, the value for y is under the control of the national
438 -- regulation authority concerned, the value for z is under the control of the network concerned.
442 ReferenceID ::= INTEGER (0..4294967295)
443 -- maximum value 232 - 1
446 -- of Tariffing-Data Types