Description
The Offline Charging Function (OCF) is a fundamental element within the 3GPP Charging System, specifically designed for offline (post-paid) charging scenarios. It operates on the principle of collecting resource usage information after the network resources have been consumed. The OCF resides within the Charging Trigger Function (CTF), which is embedded in various network elements like the SGSN, GGSN, MSC, or IMS entities. When a service is rendered, the CTF detects charging-relevant events and generates Charging Data (CD). This data is then sent via the Rf reference point to the Charging Data Function (CDF). The CDF, a key sub-component of the OCF architecture, is responsible for assembling the received charging events into coherent, session-based Charging Data Records (CDRs). These CDRs are formatted according to 3GPP specifications and contain detailed information such as subscriber identity, service used, data volume, duration, timestamps, and serving network element. The CDF then forwards the completed CDRs via the Ga reference point to the Charging Gateway Function (CGF). The CGF acts as a gateway, performing tasks like CDR buffering, validation, consolidation, and correlation before ultimately transferring the records to the network operator's Billing Domain (BD) for further processing and invoice generation. The entire OCF process is governed by the offline charging architecture defined in 3GPP TS 32.240, ensuring a standardized, reliable, and auditable flow of charging information from network usage to financial settlement. Its role is passive from the service control perspective, as it does not influence the service delivery in real-time but is crucial for the commercial and operational backend.
Purpose & Motivation
The OCF was created to provide a standardized, reliable, and scalable mechanism for operators to charge customers for network and service usage after the fact (post-paid billing). Prior to standardized offline charging, operators relied on proprietary systems within each network element to log usage, leading to inconsistencies, integration challenges, and difficulties in creating unified customer invoices. The 3GPP-defined OCF architecture solves these problems by establishing a clear separation between the network elements that generate charging events and the centralized functions that process them into billable records. It addresses the critical business need for revenue assurance by ensuring that all chargeable events are captured, accurately recorded, and delivered to the billing system. The creation of the OCF in Release 99 was motivated by the transition to packet-switched services (GPRS) and the increasing complexity of service offerings, which required a more robust and flexible charging framework than what was available for legacy circuit-switched voice. It provides the foundation for itemized billing, billing dispute resolution, and financial reporting.
Key Features
- Standardized collection of charging events via the Rf reference point
- Generation of ASN.1-encoded Charging Data Records (CDRs)
- Session-based and event-based charging data correlation
- Reliable transfer of CDRs to the billing domain via the Ga interface
- Support for correlation across multiple network elements and domains
- Defined formats for CDRs specific to different service types (e.g., GPRS, IMS)
Evolution Across Releases
Introduced the initial Offline Charging System (OFCS) architecture with the OCF. Defined core components: the Charging Trigger Function (CTF) in network nodes, the Charging Data Function (CDF) for CDR creation, and the Charging Gateway Function (CGF) for CDR transfer. Established the Rf (CTF to CDF) and Ga (CDF/CGF to BD) reference points primarily for GPRS services.
Defining Specifications
| Specification | Title |
|---|---|
| TS 21.905 | 3GPP TS 21.905 |
| TS 23.057 | 3GPP TS 23.057 |
| TS 23.125 | 3GPP TS 23.125 |
| TS 24.229 | 3GPP TS 24.229 |
| TS 32.240 | 3GPP TR 32.240 |
| TS 32.251 | 3GPP TR 32.251 |
| TS 32.255 | 3GPP TR 32.255 |
| TS 32.272 | 3GPP TR 32.272 |
| TS 32.278 | 3GPP TR 32.278 |
| TS 32.293 | 3GPP TR 32.293 |
| TS 32.296 | 3GPP TR 32.296 |
| TS 32.297 | 3GPP TR 32.297 |
| TS 32.808 | 3GPP TR 32.808 |
| TS 32.850 | 3GPP TR 32.850 |