Description
The Charging Gateway Functionality (CGF) is a core component within the 3GPP charging architecture, specifically defined for offline charging. It operates as an intermediary between the network elements that generate charging events and the billing system (or billing domain). Network elements, such as the SGSN, GGSN, P-GW, or S-GW, generate raw charging data in the form of Charging Data Records (CDRs) or partial CDRs. These elements send this data to the CGF using standardized interfaces, primarily the Ga reference point. The CGF's primary technical role is to act as a concentrator and mediator. It receives these CDRs, performs correlation if multiple partial records belong to a single service session (e.g., correlating SGSN and GGSN records for a single PDP context), and assembles them into complete, validated CDRs. It also buffers records to ensure reliable delivery, handles failures and retransmissions, and forwards the consolidated CDR files to the billing system via the Bx reference point, typically using protocols like FTP or FTPS.
Architecturally, the CGF can be implemented as a standalone network node or integrated with other charging functions. In early 3GPP releases, it was a distinct logical function. Its internal components include interfaces for Ga and Bx, a CDR processing and correlation engine, persistent storage for buffering, and management functions for monitoring its performance and load. The CGF ensures data integrity and sequence, which is vital for accurate billing. It may also perform format conversion, translating the CDRs from the ASN.1-encoded format used over Ga into a format suitable for the billing domain, such as a comma-separated value (CSV) file or a specific proprietary format.
The CGF's operation is crucial for the offline charging paradigm, where charging information is collected after the service is rendered. It provides a single point of collection for the network, simplifying the billing system's integration. By handling reliability and correlation, it shields the billing domain from the complexities and potential instabilities of the real-time network elements. This separation of concerns allows network elements to focus on service delivery while the CGF manages the charging data logistics. In modern networks, especially with the introduction of 5G and the Charging Function (CHF), the principles of the CGF are embodied within the Charging Trigger Function (CTF) and Charging Data Function (CDF) for offline charging, but the CGF as a standalone gateway concept remains foundational for legacy and convergent billing systems.
Purpose & Motivation
The CGF was created to address the growing complexity of billing in mobile packet-switched networks introduced with GPRS and 3G. Prior to its standardization, network operators faced significant challenges in collecting usage data from multiple, distributed network elements (like SGSNs and GGSNs) reliably. These elements could generate vast amounts of charging data, and a direct, point-to-point connection from each element to the billing system was inefficient, unreliable, and difficult to scale. The billing systems were not designed to handle the potential data loss, network congestion, or the need for correlation of records from different nodes. The CGF solved this by introducing a dedicated gateway function.
Its creation was motivated by the need for a standardized, robust, and scalable intermediary. The CGF centralizes the collection point, allowing network elements to send data to a nearby or logically centralized gateway using a lightweight protocol (like GTP' over Ga). This reduces the load and connection complexity on the billing system itself. It solves the problem of data reliability through buffering and retransmission mechanisms, ensuring that no charging data is lost due to temporary network or billing system failures. Furthermore, it addresses the critical issue of correlation. A single user session (like web browsing) often involves multiple network nodes; the CGF correlates the partial CDRs from these nodes into a single, coherent record that accurately represents the entire service usage, which is essential for correct billing.
Historically, the CGF enabled the commercial viability of data services by providing a dependable mechanism to monetize packet data usage. It separated the transport and mediation of charging data from the actual billing logic, allowing both domains (network and business support systems) to evolve independently. This architectural choice future-proofed the charging infrastructure, supporting the explosion of data services from 2.5G through to 4G and forming the conceptual basis for charging in 5G systems.
Key Features
- CDR Collection and Concentration via the Ga interface
- CDR Correlation and Assembly from multiple network elements
- Reliable Buffering and Forwarding with retry mechanisms
- Protocol Mediation between GTP' and billing system protocols (e.g., FTP)
- Standardized Interface (Bx) to the billing domain
- Support for High-Volume, Fault-Tolerant Data Processing
Evolution Across Releases
Introduced the CGF as a core component of the 3GPP offline charging architecture for GPRS. Defined its role in collecting CDRs from SGSN and GGSN via the Ga interface, performing correlation, and forwarding to the billing system. Established the fundamental separation between the network generating charging events and the business support system.
Defining Specifications
| Specification | Title |
|---|---|
| TS 23.060 | 3GPP TS 23.060 |
| TS 23.125 | 3GPP TS 23.125 |
| TS 23.228 | 3GPP TS 23.228 |
| TS 23.682 | 3GPP TS 23.682 |
| TS 23.815 | 3GPP TS 23.815 |
| TS 23.923 | 3GPP TS 23.923 |
| TS 28.201 | 3GPP TS 28.201 |
| TS 28.203 | 3GPP TS 28.203 |
| TS 28.204 | 3GPP TS 28.204 |
| TS 28.702 | 3GPP TS 28.702 |
| 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.260 | 3GPP TR 32.260 |
| 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.277 | 3GPP TR 32.277 |
| TS 32.278 | 3GPP TR 32.278 |
| TS 32.279 | 3GPP TR 32.279 |
| TS 32.280 | 3GPP TR 32.280 |
| TS 32.293 | 3GPP TR 32.293 |
| TS 32.295 | 3GPP TR 32.295 |
| TS 32.296 | 3GPP TR 32.296 |
| TS 32.297 | 3GPP TR 32.297 |
| TS 32.298 | 3GPP TR 32.298 |
| TS 32.632 | 3GPP TR 32.632 |
| TS 32.732 | 3GPP TR 32.732 |
| TS 32.808 | 3GPP TR 32.808 |
| TS 32.825 | 3GPP TR 32.825 |