Description
The Charging Trigger Function (CTF) is a fundamental architectural element defined within the 3GPP charging framework. It is not a standalone network node but a logical function embedded within various network entities that provide services, such as the Serving GPRS Support Node (SGSN), Mobility Management Entity (MME), Serving Gateway (S-GW), Packet Data Network Gateway (P-GW), Session Management Function (SMF), Application Functions (AF), and IP Multimedia Subsystem (IMS) nodes like the Call Session Control Function (CSCF). The primary role of the CTF is to monitor user and network activity in real-time, identify events that are subject to charging based on operator policies, and subsequently trigger the charging process.
Operationally, the CTF works by applying charging rules and filters to the data flows and signaling messages it processes. When a predefined chargeable event occurs—such as the start of a data session, an IMS voice call establishment, SMS delivery, or consumption of a specific volume of data—the CTF captures the relevant details. These details include subscriber identifiers (e.g., IMSI, MSISDN), session identifiers, timestamps, service identifiers, data volumes, duration, and location information. For offline charging, the CTF assembles this information into Charging Data Records (CDRs) or Charging Events and forwards them to the Charging Data Function (CDF) via the Rf reference point. For online charging, the CTF interacts directly with the Online Charging Function (OCF) via the Ro reference point to request quota reservations and report quota consumption in real-time, enabling immediate credit control.
The internal logic of the CTF is governed by charging policies provisioned by the operator, which define what constitutes a chargeable event, the applicable tariffs, and the required granularity of information. Its implementation must ensure reliability and integrity, as the generated data directly impacts billing. The CTF's design separates the service logic of the network node from the charging logic, allowing for flexible and scalable billing models. It supports various charging methods, including event-based charging (e.g., per SMS), session-based charging (e.g., per voice call), and volume/duration-based charging (e.g., for data traffic).
In the broader charging architecture, the CTF acts as the source and initiator of all charging information. Its correct function is paramount for the entire billing chain. It interfaces with the core charging systems (OCS/OFCS) using standardized Diameter-based protocols (Ro and Rf interfaces), ensuring interoperability between different vendors' equipment. The CTF's ability to generate detailed, correlated records for complex services, like those in IMS, is essential for modern convergent billing systems that charge for voice, data, messaging, and content in a unified manner.
Purpose & Motivation
The CTF was created to address the fundamental business need for accurate, reliable, and flexible charging mechanisms in telecommunications networks. Prior to standardized charging architectures, billing systems were often proprietary, tightly coupled with switch vendors, and incapable of supporting new, packet-based services like GPRS and later 3G/4G data. This lack of standardization made it difficult for operators to introduce innovative service plans, perform real-time credit control, or implement complex charging scenarios like those required for IP Multimedia Subsystem (IMS) services.
The introduction of the CTF as part of the 3GPP Charging System in Release 5 and its refinement in subsequent releases provided a clear, standardized model for separating the service delivery functions from the charging functions. This separation allowed network equipment vendors to focus on service delivery while ensuring a consistent, interoperable method for generating billing records. The CTF solves the problem of detecting monetizable events across a heterogeneous network comprising nodes from multiple vendors. It enables operators to implement diverse business models, including prepaid (online charging) and postpaid (offline charging), from a single triggering point.
Furthermore, the evolution towards all-IP networks and rich communication services demanded a more granular and real-time charging capability. The CTF, through its defined interactions with the OCS, enabled immediate credit checks and quota management, which is crucial for preventing fraud in prepaid services and for offering spend-control features to customers. Its design supports the charging of any service detectable by the network, making it a future-proof cornerstone for monetizing everything from basic connectivity to 5G network slices and edge computing applications.
Key Features
- Detects and triggers on chargeable events within network nodes
- Generates standardized Charging Data Records (CDRs) for offline billing
- Interacts in real-time with the Online Charging System (OCF) for credit control
- Supports multiple charging models: event-based, session-based, and volume-based
- Embeds within various network functions (PGW, SMF, CSCF, etc.) as a logical function
- Utilizes Diameter protocols (Ro, Rf interfaces) for communication with charging systems
Evolution Across Releases
Introduced as a core component of the evolved 3GPP charging architecture for EPS (Evolved Packet System). The CTF was defined within network entities like the MME, S-GW, and P-GW to support charging for LTE data services. It established the mechanisms for generating CDRs for offline charging and performing real-time credit authorization via the Gy (PCEF to OCS) and Gz (PCEF to OFCS) interfaces, which are instantiations of the CTF's Ro and Rf functions within the packet core.
Defining Specifications
| Specification | Title |
|---|---|
| TS 24.334 | 3GPP TS 24.334 |
| TS 28.816 | 3GPP TS 28.816 |
| TS 28.849 | 3GPP TS 28.849 |
| TS 32.240 | 3GPP TR 32.240 |
| TS 32.250 | 3GPP TR 32.250 |
| TS 32.251 | 3GPP TR 32.251 |
| TS 32.253 | 3GPP TR 32.253 |
| TS 32.254 | 3GPP TR 32.254 |
| TS 32.255 | 3GPP TR 32.255 |
| TS 32.256 | 3GPP TR 32.256 |
| TS 32.270 | 3GPP TR 32.270 |
| TS 32.271 | 3GPP TR 32.271 |
| TS 32.272 | 3GPP TR 32.272 |
| TS 32.273 | 3GPP TR 32.273 |
| TS 32.276 | 3GPP TR 32.276 |
| TS 32.277 | 3GPP TR 32.277 |
| TS 32.278 | 3GPP TR 32.278 |
| TS 32.279 | 3GPP TR 32.279 |
| TS 32.291 | 3GPP TR 32.291 |
| TS 32.293 | 3GPP TR 32.293 |
| TS 32.297 | 3GPP TR 32.297 |
| TS 32.298 | 3GPP TR 32.298 |
| TS 32.808 | 3GPP TR 32.808 |
| TS 32.849 | 3GPP TR 32.849 |
| TS 32.850 | 3GPP TR 32.850 |
| TS 33.303 | 3GPP TR 33.303 |