CICP

Coding-Independent Code Points

Services
Introduced in Rel-13
Coding-Independent Code Points (CICP) are standardized identifiers for audio and video codecs and their configurations, defined in 3GPP. They enable unambiguous signaling of media capabilities and preferences between endpoints in multimedia services, independent of the underlying transport or session protocol. This ensures interoperability and efficient media negotiation in IMS and other communication systems.

Description

Coding-Independent Code Points (CICP) are a set of standardized numerical identifiers defined by 3GPP to uniquely represent audio and video codecs, along with their specific configuration parameters, in a protocol-agnostic manner. They are specified primarily in the 3GPP TS 26.114 (IMS Multimedia Telephony) and TS 26.226 (Media Handling and Interaction) series, with related definitions in specifications like TS 26.253, 26.258, 26.918, and 26.949. The core concept is to decouple the identification of a media codec from the specific syntax of the session description protocol (e.g., SDP) used to negotiate it. A CICP value acts as a universal key that maps to a precise codec type (e.g., AMR-WB, EVS, H.264, H.265) and a defined set of its attributes, such as sampling rate, profile, level, or bitrate constraints.

Architecturally, CICP operates within the media plane and control plane signaling of multimedia services, particularly in the IP Multimedia Subsystem (IMS). When a User Equipment (UE) or application server indicates its supported media capabilities during session setup (e.g., via SIP/SDP), it can use CICP values within the SDP offer/answer model or other signaling methods. For instance, in an SDP 'm=' line for audio, the 'rtpmap' attribute might reference a dynamic payload type number, which is then associated with a specific CICP value defined in a separate capability declaration or within a codec parameter. The network elements, including the P-CSCF, S-CSCF, and Media Resource Function (MRF), can interpret these CICP values to understand the exact media codec being proposed without parsing codec-specific private parameters.

The system works by maintaining a standardized registry within 3GPP specifications that assigns unique CICP integer values to specific codec configurations. For example, CICP value 1 might be assigned to the AMR-NB codec with a specific bandwidth-efficient mode, while value 40 could represent the EVS codec with a fullband configuration. This registry is extensible, allowing new codecs and configurations introduced in later 3GPP releases to be assigned new CICP values. During session negotiation, endpoints exchange these values, and the network can perform policy checks, transcoding decisions, or quality-of-service (QoS) reservations based on the unambiguous codec identification. This is crucial for services like Multimedia Telephony Service for IMS (MTSI), conversational video, and broadcast/multicast services where consistent media handling is required across diverse vendor implementations.

Key components in the CICP framework include the CICP definition tables in the specifications, the signaling procedures that carry CICP values (e.g., in SDP attributes, SIP headers, or dedicated XML bodies in IMS), and the network functions that process them. Its role is to serve as a common language for media codecs, reducing interoperability failures caused by ambiguous or proprietary codec descriptions. By providing a stable, versioned identifier, CICP allows backward and forward compatibility to be managed more effectively, as endpoints can recognize support for a CICP value even if the codec's internal details have evolved. This abstraction layer is fundamental to the flexible deployment of advanced audio and video codecs in 3GPP networks.

Purpose & Motivation

CICP was created to solve the problem of ambiguous and inconsistent codec signaling in multimedia communication systems, particularly within the 3GPP IMS framework. Prior to its introduction, codec negotiation relied heavily on SDP parameters that could be vendor-specific, prone to misinterpretation, or tied closely to the RTP payload type mappings. This led to interoperability issues where endpoints might agree on a codec in name (e.g., 'H.264') but fail to establish a media session due to mismatches in undefined parameters like profile, level, or packetization mode. The motivation was to establish a standardized, future-proof method to uniquely identify every possible codec configuration, ensuring that what is signaled is precisely what is understood by all parties in the communication chain.

Historically, as 3GPP introduced advanced codecs like Enhanced Voice Services (EVS) for high-quality voice and new video codecs for 4K streaming, the complexity of codec options increased dramatically. The traditional SDP-based negotiation became insufficient to convey the nuanced capabilities without lengthy and error-prone parameter lists. CICP addresses this by providing a simple integer point that encapsulates a complete codec definition, including all essential attributes. This abstraction simplifies signaling, reduces message size, and enhances processing efficiency in network nodes that must make rapid media policy decisions, such as whether to allow a codec based on network policies or subscriber profiles.

Furthermore, CICP supports the evolution of media services by decoupling codec identification from the transport protocol. This allows the same CICP value to be used across different session protocols (e.g., WebRTC, MSRP) and network architectures, facilitating convergence between 3GPP and non-3GPP ecosystems. It also enables advanced features like dynamic adaptation, where a network can instruct a change in codec configuration mid-session by referencing a different CICP value, ensuring consistent quality under varying network conditions. By solving these fundamental signaling challenges, CICP underpins the reliability and scalability of rich communication services in modern mobile networks.

Key Features

  • Standardized integer identifiers for unambiguous codec and configuration signaling
  • Protocol-independent design usable across SDP, SIP, and other signaling methods
  • Comprehensive registry covering audio codecs (e.g., AMR, EVS) and video codecs (e.g., H.264, H.265)
  • Supports detailed codec parameters including profiles, levels, and bitrate constraints
  • Enables efficient network policy enforcement and media resource allocation
  • Facilitates interoperability and reduces session establishment failures due to codec mismatches

Evolution Across Releases

Rel-13 Initial

Introduced CICP as a new mechanism for coding-independent identification of media codecs within 3GPP specifications. Initial architecture defined CICP values for key audio and video codecs used in IMS-based services, such as those for Multimedia Telephony Service for IMS (MTSI). The capability was integrated into signaling procedures in TS 26.114 to allow endpoints to indicate supported codecs using CICP points, enabling more robust session negotiation.

Defining Specifications

SpecificationTitle
TS 26.253 3GPP TS 26.253
TS 26.258 3GPP TS 26.258
TS 26.918 3GPP TS 26.918
TS 26.949 3GPP TS 26.949