B.3 Common information elements/types

29.6583GPPProtocol specificationRelease 17SIP Transfer of IP Multimedia Service Tariff InformationTS

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 Charge reference identification

Charge 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 may 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 national regulation authority, the value for y is under the control of the Data Country Codes (DCCs) as defined in ITU-T Rec. X.121 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 Charge

B.3.2.1 Charge control indicators

B.3.2.1.0 General

The charge 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 Tariff 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 ‘02820702FF7F’ 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):
IANA registration templates

D.1 IANA registry for Application Media Types

D.1.1 IANA Registration template for application/vnd.etsi.sci+xml

NOTE 1: The information in the present Clause is for registration at IANA. RFC 4288 [10], section 9, describes the process that applies in case of changes to the registry of media types. Any future changes to the XML schema in Annex C or to the present Annex D.1.1 would require that this procedure is invoked.

NOTE 2: The MIME type "application/vnd.etsi.sci+xml" has originally been registered at IANA based on ETSI TS 183 058 v2.0.0. The maintenance responsibility for this specification has been transfered to 3GPP. Some corrections to the syntax of the XML schema are only included in the present specification, The original IANA registration is therefore outdated.

MIME media type name:

application

MIME subtype name:

vnd.etsi.sci+xml

Required parameters:

None

Optional parameters:

"charset" the parameter has identical semantics to the charset parameter of the "application/xml" media type as specified in RFC 3023 [9].

"sv" or "schemaversion" the parameter’s value is used to indicate:

– the versions of the SIP Transfer of Tariff Information XML schema that can be used to validate the SIP Transfer of Tariff Information XML body (if the MIME type and parameter are present in the Content-Type header field) or

– the accepted versions of the SIP Transfer of Tariff Information XML body (if the MIME type and parameter are present in the Accept header field).

If the "sv" and "schemaversion" parameter are absent, it shall be assumed that version 1.0 of the SIP Transfer of Tariff Information XML body is supported.

Encoding considerations:

Same as encoding considerations of application/xml as specified in RFC 3023 [9]

Security considerations:

Same as general security considerations for application/xml as specified in section 10 of RFC 3023 [9].

In addition, this content type provides a format for exchanging information in SIP, so the security considerations from RFC 3261 [8] apply.

Interoperability considerations:

Same as Interoperability considerations as specified in section 3.1 of RFC 3023 [9].

If both "sv" and "schemaversion" are specified, then the value of "schemaversion" is ignored.

Published specification:

3GPP TS 29.658, version 8.4.0: "SIP Transfer of IP Multimedia Service Tariff Information; Protocol specification"

Available via <http://www.3gpp.org/specs/numbering.htm>.

Applications which use this media:

Applications that use the 3GPP IP multimedia (IM) Core Network (CN) subsystem as defined by 3GPP.

Intended usage:

COMMON

Additional information :

1. Magic number(s) : none

2. File extension(s) : none

3. Macintosh file type code : none

4. Object Identifiers: none

Annex E (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-01

Technically identical copy as 3GPP TS 24.658 as basis for further development.

2.0.2

2008-05

General corrections [C3-080721 at C3-48]

2.0.2

2.1.0

2008-11

Registration of MIME type with IANA [C3-081666 at C3-49]

2.1.0

2.2.0

2008-11

Correction in add on charging information [C3-081635 at C3-49]

2.2.0

2.3.0

2008-11

Network identification format for SIP Transfer of Charging Information parameters [C3-081636 at C3-49]

2.2.0

2.3.0

2008-12

TSG#42

v 8.0.0 was produced by MCC

2.3.0

8.0.0

2009-03

TSG#43

CP-090089

001

3

Charging terminology

8.0.0

8.1.0

2009-03

TSG#43

CP-090062

002

Correction of scope

8.0.0

8.1.0

2009-05

TSG#44

CP-090343

003

Invalid XML schema bug fix

8.1.0

8.2.0

2009-09

TSG#45

CP-090631

005

003

Aligning IANA registration of MIME type "application/vnd.etsi.sci+xml"

8.2.0

8.3.0

2009-12

TSG#46

CP-090846

004

1

RTTI Schema corrections

8.3.0

8.4.0

2009-12

TSG#46

CP-090846

006

2

IANA Registration template for application/vnd.etsi.sci+xml

8.3.0

8.4.0

2009-12

TSG#46

Automatic upgrade from previous Release

8.4.0

9.0.0

2011-03

TSG#51

Automatic upgrade from previous Release version 9.0.0

9.0.0

10.0.0

2012-06

TSG#56

CP-120333

015

1

SIP Transfer of tariff XML correction

10.0.0

10.1.0

2012-09

TSG#57

Automatic upgrade from previous Release version 10.1.0

10.1.0

11.0.0

2013-06

TSG#60

CP-130347

021

2

RTTI

11.0.0

12.0.0

2015-12

Automatic upgrade from previous Release version 10.1.0

12.0.0

13.0.0

Change history

Date

TSG #

TSG Doc.

CR

Rev

Cat

Subject/Comment

New

2017-03

CT#75

Automatic upgrade from previous Release

14.0.0

2018-06

CT#80

CP-181022

0022

F

Correction of the NetworkIdentificationType example in the XML schema

15.0.0

2020-07

SA#88e

Update to Rel-16 version (MCC)

16.0.0

2022-03

SA#95e

Update to Rel-17 version (MCC)

17.0.0