ICID

IM CN subsystem Charging Identifier

Identifier
Introduced in Rel-2
A unique identifier used within the IP Multimedia Subsystem (IMS) charging architecture to correlate charging data records (CDRs) generated by different network functions during a single service session. It ensures all usage events for a session can be accurately assembled for billing.

Description

The IM CN subsystem Charging Identifier (ICID) is a critical charging parameter defined within the 3GPP IP Multimedia Core Network Subsystem (IMS) architecture. Its primary function is to provide a unique correlation key that links all Charging Data Records (CDRs) generated for a specific IMS service session across multiple network functions. An IMS session, such as a Voice over LTE (VoLTE) call or a video conference, involves several IMS nodes: the Proxy-Call Session Control Function (P-CSCF) which is the first contact point, the Serving-CSCF (S-CSCF) which handles session control, and potentially Application Servers (AS) providing services. Each of these nodes can generate charging events independently.

The ICID is generated by the first IMS network entity that initiates charging for a session, typically the P-CSCF or S-CSCF, at the start of a dialog or transaction. This identifier is a globally unique string, often constructed using a combination of the generating node's hostname or IP address and a timestamp or sequence number to ensure uniqueness. Once generated, the ICID is included in all Diameter-based charging messages (like Accounting-Request (ACR) commands using the Ro or Rf reference points) sent from IMS nodes to the Charging Data Function (CDF) or Online Charging System (OCS). It is also propagated within IMS signaling, using SIP headers like P-Charging-Vector, to ensure all subsequent nodes involved in the session use the same ICID for their charging reports.

At the billing system or Charging Gateway Function (CGF), the ICID acts as the primary key to correlate partial CDRs from the P-CSCF, S-CSCF, and AS into a single, consolidated session record. This correlation is essential for generating an accurate, unified bill for the user. The architecture relies on the Diameter protocol's flexibility to carry the ICID as an Attribute-Value Pair (AVP) and on the SIP protocol's extensibility to transport it between IMS nodes, ensuring a seamless flow of charging information aligned with the session's signaling path.

Purpose & Motivation

The ICID was introduced to solve the problem of charging correlation in the decomposed, session-based architecture of IMS. Prior to IMS, circuit-switched voice calls typically involved a single switching node (MSC) that could generate a single CDR for the entire call. IMS, however, is a distributed, IP-based system where control and service functions are separated and can be provided by different physical nodes. Without a common identifier, the billing system would receive disjointed charging events from the P-CSCF, S-CSCF, and AS with no reliable way to link them as part of the same user session, leading to billing errors, duplicate charges, or lost revenue.

Its creation in 3GPP Release 5 was motivated by the need for a robust online and offline charging framework for IMS services, as defined in TS 32.260. The ICID provides the foundational mechanism for session correlation, which is a prerequisite for any sophisticated charging models, such as event-based charging, session-based charging, or composite charging for services involving multiple applications. It addresses the limitation of earlier packet data charging, which often relied on identifiers like the PDP context, which were not suitable for the application-layer, multi-node nature of IMS sessions. The ICID enables operators to implement accurate and reliable billing for complex next-generation services, which was critical for the commercial viability of IMS.

Key Features

  • Globally unique identifier generated per IMS session or dialog
  • Used as a correlation key across multiple Charging Data Records (CDRs)
  • Propagated via SIP signaling in the P-Charging-Vector header
  • Included as an Attribute-Value Pair (AVP) in Diameter charging messages (Rf/Ro)
  • Enables correlation of offline and online charging events
  • Generated by the first IMS node initiating charging (e.g., P-CSCF/S-CSCF)

Evolution Across Releases

Rel-5 Initial

Initially defined as part of the IMS charging architecture in TS 32.260. Established the ICID as the mandatory correlation identifier for IMS sessions, specifying its generation, SIP transport via P-Charging-Vector, and inclusion in Diameter AVPs for both offline (Rf) and online (Ro) charging interfaces.

Enhanced definitions and clarifications on ICID usage across different IMS scenarios, including its application for IMS emergency sessions and registration events. Alignment with updates to the Diameter credit control application.

Continued refinements and support for new IMS service aspects. The core concept of ICID remained stable but its usage was extended to cover new charging scenarios like Voice Call Continuity (VCC), IMS Centralized Services (ICS), and later, VoLTE and ViLTE deployments, ensuring consistent session correlation.

Defining Specifications

SpecificationTitle
TS 23.218 3GPP TS 23.218
TS 23.815 3GPP TS 23.815
TS 24.229 3GPP TS 24.229
TS 24.802 3GPP TS 24.802
TS 29.165 3GPP TS 29.165
TS 29.949 3GPP TS 29.949
TS 32.850 3GPP TR 32.850
TS 33.978 3GPP TR 33.978