Description
Initial Filter Criteria (iFC) are a fundamental component of the service triggering mechanism in the 3GPP IP Multimedia Subsystem (IMS). They are essentially a set of rules or conditions that are provisioned on a per-user basis in the user's service profile, which is stored in the Home Subscriber Server (HSS). When a user registers with the IMS network or initiates/receives a SIP session (e.g., a call), their service profile, including the iFCs, is downloaded from the HSS to the assigned Serving-Call Session Control Function (S-CSCF). The S-CSCF is the central signaling node in IMS and acts as the service execution engine.
The iFCs are evaluated by the S-CSCF for every initial SIP request (like INVITE, REGISTER, SUBSCRIBE) that is associated with the user. Each iFC contains a priority, a trigger point, and an Application Server (AS) address. The trigger point is a logical expression composed of Service Point Triggers (SPTs). An SPT is a condition that checks specific aspects of the SIP message, such as the Request-URI, SIP Method, SIP Header presence or value, session description (SDP) information, or registration state. If the conditions in an iFC's trigger point are met (evaluated to 'true'), the S-CSCF will forward the SIP request to the specified Application Server. The AS then provides the actual service, such as voice call continuity, call forwarding, or a multimedia telephony application.
The S-CSCF processes iFCs in order of priority. When a request is forwarded to an AS, the AS can process it and return it to the S-CSCF for continued processing. The S-CSCF will then continue evaluating the remaining iFCs in sequence, allowing for chaining of multiple services. This mechanism provides a flexible, standardized way to invoke a wide variety of services in a specific order without hard-coding service logic into the core S-CSCF, enabling operator and third-party service innovation.
Purpose & Motivation
The purpose of Initial Filter Criteria is to enable flexible, user-specific service triggering in a standardized and decoupled manner within IMS. Before IMS and iFCs, traditional intelligent network (IN) services were tightly coupled to the circuit-switched core, using proprietary triggers and were difficult to create and deploy. The iFC mechanism solves this by creating a clear separation between the core session control logic (in the S-CSCF) and the application/service logic (in the AS).
This design allows network operators and third-party providers to develop and deploy new multimedia services rapidly without requiring changes to the core IMS network elements. It addresses the limitation of monolithic switch software where new features required lengthy and expensive upgrade cycles. The iFC-based triggering is subscriber-centric; different users can have different sets of services activated based on their profile. This was a key motivation for IMS: to move from a network-centric to a user-centric service architecture, supporting personalized service bundles and enabling features like service portability across devices and access networks.
Key Features
- Stored in the HSS as part of the user's IMS service profile
- Evaluated by the S-CSCF for initial SIP requests
- Contains Service Point Triggers (SPTs) that inspect SIP message components
- Directs SIP signaling to specific Application Servers (AS) based on conditions
- Processed in a defined priority order, allowing service chaining
- Enables decoupling of service logic from core session control
Evolution Across Releases
Introduced as part of the initial IMS architecture defined in Release 5, but the foundational concept and specifications were developed in the R99 timeframe. iFCs established the core service triggering framework, defining the XML schema for the filter criteria and the basic SPTs for inspecting SIP methods and headers.
Defining Specifications
| Specification | Title |
|---|---|
| TS 23.218 | 3GPP TS 23.218 |
| TS 24.173 | 3GPP TS 24.173 |
| TS 24.259 | 3GPP TS 24.259 |
| TS 24.404 | 3GPP TS 24.404 |
| TS 24.407 | 3GPP TS 24.407 |
| TS 24.408 | 3GPP TS 24.408 |
| TS 24.411 | 3GPP TS 24.411 |
| TS 24.416 | 3GPP TS 24.416 |
| TS 24.428 | 3GPP TS 24.428 |
| TS 24.429 | 3GPP TS 24.429 |
| TS 24.447 | 3GPP TS 24.447 |
| TS 24.504 | 3GPP TS 24.504 |
| TS 24.508 | 3GPP TS 24.508 |
| TS 24.524 | 3GPP TS 24.524 |
| TS 24.528 | 3GPP TS 24.528 |
| TS 24.529 | 3GPP TS 24.529 |
| TS 24.604 | 3GPP TS 24.604 |
| TS 24.607 | 3GPP TS 24.607 |
| TS 24.608 | 3GPP TS 24.608 |
| TS 24.611 | 3GPP TS 24.611 |
| TS 24.615 | 3GPP TS 24.615 |
| TS 24.628 | 3GPP TS 24.628 |
| TS 24.629 | 3GPP TS 24.629 |
| TS 24.642 | 3GPP TS 24.642 |
| TS 24.647 | 3GPP TS 24.647 |