Description
The Interrogating-Call Session Control Function (I-CSCF) is a fundamental SIP proxy within the 3GPP IP Multimedia Subsystem (IMS) core, defined across numerous specifications starting from 3GPP Release 5. It is located at the edge of an operator's home IMS network. When a User Equipment (UE) registers with the IMS network, the registration request, after passing through the Proxy-CSCF (P-CSCF), reaches the I-CSCF. The I-CSCF's key task is to query the Home Subscriber Server (HSS) via the Cx interface (using Diameter protocol) to determine which Serving-CSCF (S-CSCF) should be assigned to the user or to discover the S-CSCF already assigned.
During registration, the I-CSCF receives the subscriber's public or private user identity. It sends a User Authorization Request (UAR) to the HSS. The HSS responds with the capabilities required for the S-CSCF (S-CSCF capabilities) or, if an S-CSCF is already assigned, its address. The I-CSCF then uses this information to either select an appropriate S-CSCF from a set based on the required capabilities or to forward the registration request directly to the already-assigned S-CSCF. This process ensures load balancing and efficient assignment of S-CSCFs.
For incoming session requests (e.g., an incoming VoIP call), the I-CSCF acts as the entry point into the home network from an external network (like another operator's IMS). The request is routed to the I-CSCF based on DNS lookups of the home network's domain. The I-CSCF then queries the HSS with a Location Information Request (LIR) to obtain the address of the S-CSCF currently serving the called party. Once it receives the S-CSCF address, it proxies the SIP INVITE request to that S-CSCF for further processing and delivery to the UE.
Additionally, the I-CSCF can provide topology hiding functionality. By acting as a single point of contact, it can hide the configuration, capacity, and topology of the internal network (the S-CSCFs) from external networks. It may also have a role in enforcing network security policies at the border of the home network. Its operation is stateless with respect to individual sessions, focusing on routing and HSS interaction.
Purpose & Motivation
The I-CSCF was created as part of the original IMS architecture (3GPP R5) to solve critical routing and scalability problems in a large-scale, multi-operator SIP-based service network. In a pure SIP network without such a function, finding the server responsible for a specific user would be challenging and could expose internal network structure.
Its primary purpose is to provide a discoverable, stable entry point into a home operator's IMS network. This allows other networks to route sessions to a user without needing to know the specific internal server (S-CSCF) managing that user's registration. It decouples the user's publicly routable address (the home network domain) from the internal, possibly changing, server assignment. This enables load balancing across multiple S-CSCFs and allows for S-CSCF failure recovery without impacting external routing.
Furthermore, the I-CSCF, through its interaction with the HSS, centralizes the logic for assigning S-CSCFs based on user service profiles and network capabilities. This allows for optimized resource allocation. It also fulfills a vital security and privacy role by hiding the internal network topology from outside entities, preventing potential attackers from mapping the network or targeting specific internal servers directly. It was a key innovation that made IMS a viable architecture for carrier-grade, interoperable multimedia services.
Key Features
- Acts as the first contact point in the home network for incoming SIP messages (REGISTER, INVITE).
- Queries the HSS via the Diameter-based Cx interface to retrieve S-CSCF assignment information.
- Selects or identifies the appropriate S-CSCF for a subscriber during registration.
- Routes incoming session requests to the S-CSCF currently serving the called party.
- Provides a degree of topology hiding for the internal IMS network from external peers.
- Supports load balancing across a pool of S-CSCF nodes within the home network.
Evolution Across Releases
Formally introduced as a core IMS node alongside P-CSCF and S-CSCF. Defined its basic roles in registration (querying HSS for S-CSCF assignment via UAR) and session routing (querying HSS via LIR for incoming sessions), establishing the Cx interface with the HSS.
Enhanced for IMS interoperability with Circuit Switched (CS) networks and support for early IMS services. Refinements to the routing procedures and HSS interactions for more complex service scenarios.
Introduction of IMS Centralized Services (ICS) and support for Voice Call Continuity (VCC). The I-CSCF's role in routing sessions for users accessing services via both CS and PS domains was solidified.
Critical enhancements for integration with the Evolved Packet Core (EPC) to support IMS for LTE access (VoLTE). Defined procedures for Emergency Session support, where the I-CSCF may route emergency registration and sessions to a dedicated Emergency-CSCF (E-CSCF).
Further support for IMS Multimedia Telephony and service continuity. Enhancements to security and routing for more robust commercial deployments.
The conceptual foundations for IMS and its elements were laid. While not fully standardized as I-CSCF in this release, the need for a routing and interrogation function in a SIP-based service architecture was identified, setting the stage for its formal definition in Release 5.
Defining Specifications
| Specification | Title |
|---|---|
| TS 23.125 | 3GPP TS 23.125 |
| TS 23.141 | 3GPP TS 23.141 |
| TS 23.179 | 3GPP TS 23.179 |
| TS 23.218 | 3GPP TS 23.218 |
| TS 23.278 | 3GPP TS 23.278 |
| TS 23.280 | 3GPP TS 23.280 |
| TS 23.379 | 3GPP TS 23.379 |
| TS 23.417 | 3GPP TS 23.417 |
| TS 23.517 | 3GPP TS 23.517 |
| TS 23.701 | 3GPP TS 23.701 |
| TS 23.794 | 3GPP TS 23.794 |
| TS 23.849 | 3GPP TS 23.849 |
| TS 23.981 | 3GPP TS 23.981 |
| TS 24.141 | 3GPP TS 24.141 |
| TS 24.147 | 3GPP TS 24.147 |
| TS 24.173 | 3GPP TS 24.173 |
| TS 24.229 | 3GPP TS 24.229 |
| TS 24.405 | 3GPP TS 24.405 |
| TS 24.406 | 3GPP TS 24.406 |
| TS 24.416 | 3GPP TS 24.416 |
| TS 24.428 | 3GPP TS 24.428 |
| TS 24.505 | 3GPP TS 24.505 |
| TS 24.508 | 3GPP TS 24.508 |
| TS 24.516 | 3GPP TS 24.516 |
| TS 24.523 | 3GPP TS 24.523 |
| TS 24.524 | 3GPP TS 24.524 |
| TS 24.525 | 3GPP TS 24.525 |
| TS 24.528 | 3GPP TS 24.528 |
| TS 24.606 | 3GPP TS 24.606 |
| TS 24.802 | 3GPP TS 24.802 |
| TS 24.819 | 3GPP TS 24.819 |
| TS 24.841 | 3GPP TS 24.841 |
| TS 24.930 | 3GPP TS 24.930 |
| TS 28.705 | 3GPP TS 28.705 |
| TS 29.162 | 3GPP TS 29.162 |
| TS 29.165 | 3GPP TS 29.165 |
| TS 29.228 | 3GPP TS 29.228 |
| TS 29.229 | 3GPP TS 29.229 |
| TS 29.562 | 3GPP TS 29.562 |
| TS 29.949 | 3GPP TS 29.949 |
| TS 32.102 | 3GPP TR 32.102 |
| TS 32.409 | 3GPP TR 32.409 |
| TS 33.203 | 3GPP TR 33.203 |
| TS 33.978 | 3GPP TR 33.978 |