B.3 Common information elements/types

29.4583GPPProtocol specificationRelease 8SIP Transfer of IP Multimedia Service Tariff InformationTISPANTS

B.3.1 Identification

B.3.1.1 Origination identification

The Origination identification shall be expressed as charging reference identification, see clause B.3.1.3.

B.3.1.2 Destination identification

The destination identification shall be expressed as charging reference identification, see clause B.3.1.3.

B.3.1.3 Charging reference identification

Charging reference identification shall contain the following elements:

  • Network identification, see clause B.3.1.4; and
  • Reference ID, see clause B.3.1.5.

B.3.1.4 Network identification

For the network identification the following structure of the network identification values shall be used:

{itu-t (0) administration (2) <data country code> (x) network (y) element identification (z)}

where the value for x is the value of the Data Country Codes (DCCs) as defined in ITU-T Rec. X.121., the value for y is under the control of the national regulation authority concerned and the value for z is under the control of the network concerned.

Any other valid object identifier value according to ITU-T X.660 may also be used. The last component of the object identifier value will usually identify the node creating the charging reference.

B.3.1.5 Reference ID

The reference ID element shall have INTEGER values from 0..4 294 967 295 (maximum value 232 – 1).

B.3.1.6 Network operators

Network operators shall be coded as network identification, see clause B.3.1.4.

B.3.2 Charging

B.3.2.1 Charging control indicators

The charging control indicators shall contain 1 up to 8 bit-strings with the following elements:

  • Immediate change of actually applied tariff, see clause B.3.2.1.1; and
  • Delay until start, see clause B.3.2.1.2.

B.3.2.1.1 Immediate change of actually applied tariff

The immediate change of actually applied tariff element shall be coded as follows:

0 – immediate tariff change without restart.

1 – immediate tariff change with restart.

It is only used to change the actually applied tariff.

B.3.2.1.2 Delay until start

The delay until start element shall be coded as follows:

0 – start tariffing, if it is not already started, without waiting for the ‘start’ signal.

1 – delay start of tariffing up to the receipt of the ‘start’ signal.

B.3.2.2 Currency

The currency element (optional) shall be coded according to ISO 4217 [5]. The absence of this element shall be interpreted as ‘no indication’.

B.3.2.3 Currency factor scale

The charge amount is indicated by the currency factor multiplied with the currency scale. "no charge" indicates currency factor scale has the value 0.

Currency factor scale shall contain the following elements:

  • Currency factor, see clause B.3.2.3.1; and
  • Currency scale, see clause B.3.2.3.2.

B.3.2.3.1 Currency factor

The currency factor shall have INTEGER values from 0 to 999 999. Value 0 indicates "no charge" and is the default-value.

B.3.2.3.2 Currency scale

The currency scale shall have INTEGER values from -7 to 3. The actual value for currency scale is given by 10x, where x is the value of the currency scale. The default value is ‘no Scale’.

The coding of currency scale is as follows, all other values are spare:

7 (249): 0,0000001

6 (250): 0,000001

5 (251): 0,00001

4 (252): 0,0001

3 (253): 0,001

2 (254): 0,01

1 (255): 0,1

0 : 1

1 : 10

2 : 100

3 : 1 000

B.3.2.4 Pulse units type

Pulse units is binary coded and has the value range from 0 to 255.

B.3.2.5 Communication charge currency type

Communication charge currency shall contain the following elements:

  • Currency factor scale, see clause B.3.2.3; and
  • Tariff duration, see clause B.3.2.5.1; and
  • Sub tariff control, see clause B.3.2.5.2.

B.3.2.5.1 Tariff duration

Tariff duration shall be coded as tariff duration type, see clause B.3.2.12.

B.3.2.5.2 Sub tariff control

Sub tariff control shall be coded as sub tariff control type, see clause B.3.2.13.

B.3.2.6 Tariff control iIndicators

The tariff control indicators shall contain a bit-string of 1 up to 8 non-cyclic tariff elements.

The coding of the non-cyclic Ttariff is as follows:

0: Cyclic tariff ( at expiration of the tariff duration of the last communication tariff of the communication charge sequence, the communication charge sequence is re-applied).

1: Non-cyclic tariff ( at expiration of the tariff duration of the last communication tariff of the communication charge sequence, do not re-apply the communication charge sequence).

B.3.2.7 Call attempt charge currency

The call attempt charge is a direct charge, to be charged only for unsuccessful calls.

The call attempt charge currency shall be coded as Currency Factor Scale, see clause B.3.2.3.

B.3.2.8 Call setup charge currency

The call set-up charge is a direct charge, to be charged once at start of charging.

The call setup charge currency shall be coded as Currency Factor Scale, see clause B.3.2.3.

B.3.2.9 Tariff switchover time type

This time is the absolute time at which the next tariff has to become active. It is represented in steps of 15 min.

The tariff switchover time shall be coded as:

0 : spare.

1 : 0 h 15 min.

2 : 0 h 30 min.

3 : 0 h 45 min.

4 : 1 h 0 min.

..

96 : 24 h 0 min.

97-255 : spare.

B.3.2.10 Communication charge pulse type

Communication charge pulse shall contain the following elements:

  • Pulse Units, see clause B.3.2.10.1; and
  • Charge Unit Time Interval, see clause B.3.2.10.2; and
  • Tariff Duration, see clause B.3.2.10.3.

B.3.2.10.1 Pulse units

Pulse units shall be coded as pulse units type, see clause B.3.2.4.

B.3.2.10.2 Charge unit time interval

Charge unit time interval shall be coded as charge unit time interval type, see clause B.3.2.14.

B.3.2.10.3 Tariff duration

Tariff duration shall be coded as tariff duration type, see clause B.3.2.12.

B.3.2.11 Tariff pulse format type

Tariff pulse format shall contain the following elements:

  • Communication charge sequence pulse (optional), see clause B.3.2.11.1; and
  • Tariff control indicators, see clause B.3.2.6; and
  • Call attempt charge pulse (optional), see clause B.3.2.11.2; and
  • Call setup charge pulse (optional), see clause B.3.2.11.3.

The communication charges are meter-pulse units, which are to be applied per charge unit time interval. The call attempt pulse units are to be charged only for unsuccessful calls. The call set-up pulse units are to be charged once at start of charging.

B.3.2.11.1 Communication charge sequence pulse

The communication charge sequence pulse shall contain a sequence of 1 up to 4 elements coded as communication charge pulse, see clause B.3.2.10.

B.3.2.11.2 Call attempt charge pulse

Call attempt charge pulse shall be coded as pulse units, see clause B.3.2.4.

B.3.2.11.3 Call setup charge pulse

Call setup charge pulse shall be coded as pulse units, see clause B.3.2.4.

B.3.2.12 Tariff duration type

The duration indicates for how long time the communication charge component is valid. Expiration of the tariff duration timer leads to the activation of the next communication charge (if present). In the case where there is no next communication charge in the communication charge sequence, the action to be performed is indicated by the tariff control indicators.

Tariff duration shall have a INTEGER values form 0 to 36 000.

Tariff duration identifies with 0 unlimited duration and else in seconds unit.

0 = unlimited

1 = 1 s

2 = 2 s

36 000 = 10 h

B.3.2.13 Sub tariff control type

Sub tariff control shall contain 1 up to 8 one time charge elements. The coding of the one time charge element is as follows:

0 – Periodic charge.

1 – One time charge.

B.3.2.14 Charge unit time interval type

The charge unit time interval is binary coded and has the value range from 0 to 35 997. It begins with 200 msec and then in steps of 50 msec.

The LSBit is the least significant bit of the first octet.

The MSBit is the most significant bit of the last octet.

The coding of the ChargeUnitTimeInterval is the following:

0 : no periodic metering

1 : 200 msec

2 : 250 msec

..

35 997 : 30 min

All other values are spare.

Annex C (normative):
SIP Transfer of charging information XML schema:

<?xml version="1.0" encoding="UTF-8"?>

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://uri.etsi.org/ngn/params/xml/simservs/sci" targetNamespace="http://uri.etsi.org/ngn/params/xml/simservs/sci" elementFormDefault="qualified" version="1.0">

<xs:annotation>

<xs:documentation>XML Schema Definition for the AOC information</xs:documentation>

</xs:annotation>

<!–Definition of simple types–>

<xs:simpleType name="bitType">

<xs:restriction base="xs:boolean">

<!– The boolean datatype value "true" maps to bit value "1" and the value "false" to bit value "0" –>

</xs:restriction>

</xs:simpleType>

<xs:simpleType name="EightBitType">

<xs:restriction base="xs:hexBinary">

<xs:length value="1"/>

</xs:restriction>

</xs:simpleType>

<xs:simpleType name="SixteenBitType">

<xs:restriction base="xs:hexBinary">

<xs:length value="2"/>

</xs:restriction>

</xs:simpleType>

<!– Following structure of the networkIdentification value may be used: –>

<!– {itu-t (0) administration (2) <national regulation authority> (x) network (y) node identification (z)} –>

<!– The value for x is the value of the national regulation authority, the value for y is under the control–>

<!– of the national regulation authority concerned, the value for z is under the control of the network concerned. –>

<xs:simpleType name="NetworkIdentificationType">

<xs:restriction base="xs:string">

<xs:pattern value="02[0-9A-F]+"/>

</xs:restriction>

</xs:simpleType>

<!– E.g. the value ‘028207023FFF’ could be a valid example of the NetworkIdentificationType. –>

<xs:simpleType name="CurrencyType">

<xs:restriction base="xs:string">

<xs:length value="3" fixed="true" />

<!–The currency shall be coded according to ISO 4217–>

</xs:restriction>

</xs:simpleType>

<xs:simpleType name="CurrencyFactorType">

<xs:restriction base="xs:integer">

<xs:minInclusive value="0"/>

<xs:maxInclusive value="999999"/>

</xs:restriction>

</xs:simpleType>

<xs:simpleType name="CurrencyScaleType">

<xs:restriction base="xs:integer">

<xs:minInclusive value="-7"/>

<xs:maxInclusive value="3"/>

</xs:restriction>

</xs:simpleType>

<xs:simpleType name="TariffDurationType">

<xs:restriction base="xs:integer">

<xs:minInclusive value="0"/>

<xs:maxInclusive value="36000"/>

</xs:restriction>

</xs:simpleType>

<!–Definition of complex types–>

<xs:complexType name="TariffSwitchPulseType">

<xs:sequence>

<xs:element name="nextTariffPulse" type="TariffPulseFormatType"/>

<xs:element name="tariffSwitchOverTime" type="EightBitType"/>

</xs:sequence>

</xs:complexType>

<xs:complexType name="CommunicationChargePulseType">

<xs:sequence>

<xs:element name="pulseUnits" type="EightBitType"/>

<xs:element name="chargeUnitTimeInterval" type="SixteenBitType"/>

<xs:element name="tariffDuration" type="TariffDurationType"/>

</xs:sequence>

</xs:complexType>

<xs:complexType name="TariffPulseFormatType">

<xs:sequence>

<xs:element name="communicationChargeSequencePulse" type="CommunicationChargePulseType" minOccurs="0" maxOccurs="4"/>

<xs:element name="tariffControlIndicators" type="bitType"/>

<xs:element name="callAttemptChargePulse" type="EightBitType" minOccurs="0"/>

<xs:element name="callSetupChargePulse" type="EightBitType" minOccurs="0"/>

</xs:sequence>

</xs:complexType>

<xs:complexType name="CommunicationChargeCurrencyType">

<xs:sequence>

<xs:element name="currencyFactorScale" type="CurrencyFactorScaleType"/>

<xs:element name="tariffDuration" type="TariffDurationType"/>

<xs:element name="subTariffControl" type="bitType"/>

</xs:sequence>

</xs:complexType>

<xs:complexType name="TariffSwitchCurrencyType">

<xs:sequence>

<xs:element name="nextTariffCurrency" type="TariffCurrencyFormatType"/>

<xs:element name="tariffSwitchOverTime" type="EightBitType"/>

</xs:sequence>

</xs:complexType>

<xs:complexType name="TariffCurrencyFormatType">

<xs:sequence>

<xs:element name="communicationChargeSequenceCurrency" type="CommunicationChargeCurrencyType" minOccurs="0" maxOccurs="4"/>

<xs:element name="tariffControlIndicators" type="bitType"/>

<xs:element name="callAttemptChargeCurrency" type="CurrencyFactorScaleType" minOccurs="0"/>

<xs:element name="callSetupChargeCurrency" type="CurrencyFactorScaleType" minOccurs="0"/>

</xs:sequence>

</xs:complexType>

<xs:complexType name="CurrencyFactorScaleType">

<xs:sequence>

<xs:element name="currencyFactor" type="CurrencyFactorType"/>

<xs:element name="currencyScale" type="CurrencyScaleType"/>

</xs:sequence>

</xs:complexType>

<xs:complexType name="TariffPulseType">

<xs:sequence>

<xs:element name="currentTariffPulse" type="TariffPulseFormatType" minOccurs="0"/>

<xs:element name="tariffSwitchPulse" type="TariffSwitchPulseType" minOccurs="0"/>

</xs:sequence>

</xs:complexType>

<xs:complexType name="TariffCurrencyType">

<xs:sequence>

<xs:element name="currentTariffCurrency" type="TariffCurrencyFormatType" minOccurs="0"/>

<xs:element name="tariffSwitchCurrency" type="TariffSwitchCurrencyType" minOccurs="0"/>

</xs:sequence>

</xs:complexType>

<xs:complexType name="ChargingControlIndicatorsType">

<xs:sequence>

<xs:element name="immediateChangeOfActuallyAppliedTariff" type="bitType" minOccurs="0"/>

<xs:element name="delayUntilStart" type="bitType" minOccurs="0"/>

</xs:sequence>

</xs:complexType>

<xs:complexType name="ChargingReferenceIdentificationType">

<xs:sequence>

<xs:element name="networkIdentification" type="NetworkIdentificationType"/>

<xs:element name="referenceID" type="xs:nonNegativeInteger"/>

</xs:sequence>

</xs:complexType>

<xs:complexType name="ChargingTariffInformationType">

<xs:sequence>

<xs:element name="chargingControlIndicators" type="ChargingControlIndicatorsType"/>

<xs:element name="chargingTariff">

<xs:complexType>

<xs:choice>

<xs:element name="tariffCurrency" type="TariffCurrencyType"/>

<xs:element name="tariffPulse" type="TariffPulseType"/>

</xs:choice>

</xs:complexType>

</xs:element>

<xs:element name="originationIdentification" type="ChargingReferenceIdentificationType"/>

<xs:element name="destinationIdentification" type="ChargingReferenceIdentificationType" minOccurs="0"/>

<xs:element name="currency" type="CurrencyType" minOccurs="0"/>

</xs:sequence>

</xs:complexType>

<xs:complexType name="AddOnChargingInformationType">

<xs:sequence>

<xs:element name="chargingControlIndicators" type="ChargingControlIndicatorsType"/>

<xs:element name="addOnCharge">

<xs:complexType>

<xs:choice>

<xs:element name="addOnChargeCurrency" type="CurrencyFactorScaleType"/>

<xs:element name="addOnChargePulse" type="EightBitType"/>

</xs:choice>

</xs:complexType>

</xs:element>

<xs:element name="originationIdentification" type="ChargingReferenceIdentificationType"/>

<xs:element name="destinationIdentification" type="ChargingReferenceIdentificationType" minOccurs="0"/>

<xs:element name="currency" type="CurrencyType" minOccurs="0"/>

</xs:sequence>

</xs:complexType>

<!–Definition of document structure–>

<xs:element name="messageType">

<xs:complexType>

<xs:choice>

<xs:element name="crgt" type="ChargingTariffInformationType"/>

<xs:element name="aocrg" type="AddOnChargingInformationType"/>

</xs:choice>

</xs:complexType>

</xs:element>

</xs:schema>

Annex D (informative):
Change history

Change history

Date

TSG #

TSG Doc.

CR

Rev

Subject/Comment

Old

New

2008-01

Publication as ETSI TS 183 058

2.0.0

2008-01

Conversion to 3GPP TS 29.458

2.0.1

2008-03

TSG#39

MCC update to version 8.0.0 after approval at TSG CT#39

2.0.1

8.0.0

2008-09

TSG#41

CP-080557

001

Correction in add on charging information

8.0.0

8.1.0

2008-09

TSG#41

CP-080557

002

Network identification format for SIP Transfer of Charging Information parameters

8.0.0

8.1.0

2009-03

TSG#43

CP-090063

003

Correction of scope

8.1.0

8.2.0

2009-05

TSG#44

CP-090497

004

Invalid XML schema bug fix

8.2.0

8.3.0

2009-12

TSG#46

CP-090845

005

1

RTTI Schema corrections

8.3.0

8.4.0

2012-06

TSG#56

CP-120333

008

1

SIP Transfer of tariff XML correction

8.4.0

8.5.0