Description
The Online Charging System is a real-time charging node in the 3GPP charging architecture. It authorizes service usage before resources are granted and continues to monitor credit availability while a session or transaction is active. In legacy 3GPP architectures, the OCS is typically connected to a Charging Collection Function through the Ro interface and to a Policy and Charging Rules Function or Policy Control Function through the Sy interface. In 5G deployments, the OCS may be represented or fronted by a Charging Function and service-based interfaces, but its core role remains the same: it decides whether a subscriber has sufficient balance or credit for a requested service.
Architecturally, the OCS contains several logical components. A rating engine converts usage events into chargeable units using tariffs, service identifiers, rating groups, and subscriber class rules. A balance manager maintains account balances, service units, and reservation states. A credit-control application handles Diameter Credit Control Application messages, including Credit-Control-Request and Credit-Control-Answer procedures. The system also supports event-triggered reauthorization, unit reservation, final unit handling, and reporting of consumed units. It may interact with a Subscriber Profile Repository or equivalent subscriber data source to retrieve prepaid or postpaid charging profiles.
The operational flow begins when a network node needs to authorize a service. The Charging Collection Function, Policy and Charging Rules Function, or Policy Control Function sends a credit-control request that identifies the subscriber, service, event type, requested units, and charging context. The OCS checks the subscriber profile, applies rating rules, verifies available balance, and reserves units if the request is acceptable. It returns granted units, a validity time, and optional conditions. During the session, the network may send interim requests or reauthorization requests when the validity time expires, the service changes, or the reserved units are exhausted. If the OCS cannot grant additional units, it can instruct the network to terminate, downgrade, or gate the service. At the end of the session, a final request reconciles the actual usage and updates the account balance.
The OCS is important because it converts charging from a post-event accounting function into a real-time control point. It enables prepaid services, credit control for postpaid subscribers, convergent charging across voice, messaging, data, and content, and tight coupling between policy and charging. When integrated with PCC, the OCS can ensure that QoS levels, gating decisions, and charging outcomes are consistent with subscriber entitlements. This supports operator monetization, fraud prevention, and customer control over spending. In modern 3GPP systems, the OCS remains a key element for online charging even as transport interfaces migrate from Diameter-based signaling to service-based HTTP/2 and JSON interactions.
From a standards perspective, the OCS is described in charging specifications such as TS 32.251 and related architecture documents. Its behavior is defined in terms of charging events, service units, credit-control states, and interaction with policy control. The OCS may be deployed as a centralized platform supporting many network nodes, or as a distributed set of charging capabilities embedded in operator systems. Regardless of deployment form, the glossary definition refers to the logical online charging system that performs real-time authorization and balance management for 3GPP services.
Purpose & Motivation
The OCS exists because offline charging alone cannot protect operator revenue or support prepaid services in real time. Traditional charging systems often collected usage records after the fact and settled accounts later. That model works for postpaid billing, but it cannot prevent a subscriber from consuming more than their balance, and it cannot immediately apply credit limits, unit reservations, or spending caps. As mobile data, messaging, and content services grew, operators needed a way to authorize each service usage event while the session was still active.
R99-era packet and charging architectures introduced the online charging concept to address these limitations. The OCS enabled prepaid voice, data, and messaging, as well as credit control for postpaid accounts. It solved problems such as fraud exposure, bill shock, and the inability to offer flexible service plans. By interacting with the Charging Collection Function and policy nodes, the OCS could reserve units, track balance, and instruct the network to stop or modify a service when credit ran out. It also allowed operators to combine multiple services into a single account and to apply real-time promotions, quotas, and parental controls.
In later releases, the motivation expanded to support convergent charging across radio access technologies and service domains. The OCS became a central element of PCC because policy decisions and charging decisions need to be consistent: a subscriber should not receive high QoS if the charging system has not authorized it, and a change in balance should be able to trigger policy updates. In 5G, the need for online charging remains, especially for network slices, edge services, and application-specific pricing, even though the interfaces and deployment models have moved toward service-based architectures.
What changed in its specifications
The latest release-to-release comparison of specifications that define OCS. Each summary describes the whole specification, not only this term.
Rel-18 brings only minor changes to TS 21.905: 0 clauses changed, with no change attributed to a release feature.
Full comparison in TR 21.905 →Rel-19 adds clauses 31.1 to 31.7 to TS 23.003 defining identifier and information structures for Ambient IoT devices and areas, plus new normative references. It also adds SNPN support to ProSe identifiers, including an optional NID part in the PLMN ID and a revised temporary identity length.
Full comparison in TS 23.003 →Release Timeline
Detected Changes Across Releases
from 3GPP Change RequestsSpecific changes extracted from the „Change history“ tables of 3GPP specifications (5 CRs across 1 releases). Complements the general historical overview above with the evidence-based evolution of this function.
- Change OCS to CHF in TS23.503 TS 23.503CR0117
- Change OCS to CHF in TS 23.503 TS 23.503CR0221
- Correction in OCS subscription to multiple PRA(s) TS 32.251CR0506
- Correction on reporting UE-dedicated PRA(s) to OCS TS 32.299CR0814
- Correction of OCS behaviour for unknown and unavailable Policy Counters TS 29.219CR0073
Defining Specifications
3GPP specifications that define or reference OCS, with the latest known release. Sourced from the 3GPP document catalog — see methodology.
| Specification | Title | Release |
|---|---|---|
| TR 21.905 vj20 | 3GPP Terminology and Definitions | Rel-19 read |
| TS 23.003 vk10 | Numbering, Addressing and Identification | Rel-20 read |
| TS 23.060 vj00 | GPRS Stage 2 Service Description | Rel-19 read |
| TS 23.125 v700 | Flow Based Charging Architecture | Rel-7 read |
| TS 23.203 vk10 | Policy and Charging Control Architecture | Rel-20 read |
| TS 23.234 vd10 | 3GPP-WLAN Interworking Index | Rel-13 read |
| TS 23.237 vj00 | IMS Service Continuity (ISC) Stage 2 | Rel-19 read |
| TS 23.401 vk10 | Evolved Packet System Architecture | Rel-20 read |
| TS 23.503 vk30 | 5G Policy and Charging Control Framework | Rel-20 read |
| TR 23.979 vj00 | PoC over 3GPP Systems Architectural Requirements | Rel-19 read |
| TS 28.849 vj10 | CAPIF Phase2 Charging Study | Rel-19 read |
| TS 29.212 vk00 | Diameter-Based PCC Reference Points | Rel-20 read |
| TS 29.215 vj00 | S9 Reference Point Stage 3 Specification | Rel-19 read |
| TS 29.219 vj00 | Sy Reference Point Stage 3 Specification | Rel-19 read |
| TS 29.234 vb20 | WLAN-3GPP Interworking Stage-3 Protocol | Rel-11 read |
| TS 29.817 vc10 | Study on XML-based Rx interface for PCC | Rel-12 read |
| TS 29.890 vg00 | CT3 5G System Technical Report | Rel-16 read |
| TS 32.240 vk10 | 3GPP Charging Architecture and Principles | Rel-20 read |
| TS 32.250 vj00 | Circuit Switched Offline Charging | Rel-19 read |
| TS 32.251 vj00 | PS Domain Charging Management | Rel-19 read |
| TS 32.255 vk30 | 5G Data Connectivity Converged Charging | Rel-20 read |
| TS 32.260 vk10 | IMS Charging Management | Rel-20 read |
| TS 32.270 vj00 | MMS Charging Management Specification | Rel-19 read |
| TS 32.271 vj20 | 3GPP LCS Charging Management Spec | Rel-19 read |
| TS 32.272 vj00 | Charging for Push-to-Talk over Cellular (PoC) | Rel-19 read |
| TS 32.273 vj00 | MBMS Charging Management | Rel-19 read |
| TS 32.276 vj00 | VCS Online Charging from Proxy Function | Rel-19 read |
| TS 32.277 vj20 | Charging Management for Proximity Services (ProSe) | Rel-19 read |
| TS 32.278 vj00 | Monitoring Events Offline Charging Specification | Rel-19 read |
| TS 32.280 vj00 | Advice of Charge (AoC) Framework | Rel-19 read |
| TS 32.281 vj00 | Announcement Service for Online Charging | Rel-19 read |
| TS 32.293 vj00 | Proxy Function in Domestic Service Provider | Rel-19 read |
| TS 32.295 vj00 | 3GPP Charging: CDR Transfer via GTP' Protocol | Rel-19 read |
| TS 32.296 vj00 | Online Charging System (OCS) Architecture | Rel-19 read |
| TS 32.297 vj00 | Charging Data Record File Transfer | Rel-19 read |
| TS 32.299 vj00 | Diameter Charging Applications for 3GPP | Rel-19 read |
| TS 32.808 v800 | Common Profile Storage Framework for User Data | Rel-8 read |
| TS 32.825 va00 | Study on Rc Reference Point for ABMF | Rel-10 read |
| TS 32.843 vd00 | PS Domain Online Charging in Roaming | Rel-13 read |
| TS 32.849 vd00 | IMS Roaming Charging Study | Rel-13 read |
| TS 32.850 ve00 | IMS Charging Correlation Methods Study | Rel-14 read |
| TS 32.869 vf00 | Diameter Overload Control for Charging Interfaces | Rel-15 read |