Charging has been for a long time on my todo list. Now it’s the time and you can expect couple of posts related to charging, mainly Online Charging. Today we’ll go through the most basic stuff. For details refer to 3GPP 32.240.
Charging is a world of its own, it has its own rules, flows and well, also documentation. To really understand how to properly charge your calls, data, or messages is probably the same or even bigger challenge than to understand the actual service.
GSM/UMTS/EPC networks provide functions that implement offline and/or online charging mechanisms on the bearer (e.g. EPC), subsystem (e.g. IMS) and service (e.g. SMS) levels. In order to support these charging mechanisms, the network performs real-time monitoring of resource usage for those three levels in order to detect the relevant chargeable events.
In general we recognize Online and Offline charging mechanisms. They may be performed simultaneously and independently for the same charging events.
- Offline Charging
Sometimes also referred as Postpaid Charging. Offline Charging is a process where charging information for network resource usage is collected simultaneously with that resource usage and through a chain of logical charging functions. At the end of this process, Call Detail Record (CDR) files are generated. They are then transferred to the network operator’s Billing Domain (BD) for the purpose of subscriber billing and/or inter-operator accounting (or additional functions, e.g. statistics, business intelligence, customer care etc.). The BD typically comprises post-processing systems such as the operator’s Billing System or Billing Mediation Device.
In a nutshell, offline charging is a mechanism where charging information does not affect, in real-time, the service rendered.
- Online Charging
Is also sometimes referred as Prepaid Charging. Online Charging is a process similar to offline charging. However, authorization for the network resource usage is obtained by the network prior to the actual resource usage. This authorization is granted by the Online Charging System (OCS) or Converged Charging System (CCS) upon request from the network. The resource usage authorization may be limited in its scope (e.g. volume of data or duration), therefore the authorization needs to be renewed from time to time e.g. sever times during a call.
- Converged Charging
Converged charging is a process where online and offline charging are combined. The charging information is utilized by CCS in one converged charging service which offers charging with and without quota management, as well as charging information record generation. This charging architecture is used for 5G system.
It’d be kind of difficult to go through all the theory related to charging in our posts. Therefore we’ll focus on three basic services only. We’ll go through Charging of MMTel services, SMS service and Charging data related to service data flows in the P-GW.
Although it is a simplification, in a typically deployment this is just what we need to understand. Let’s define the charging network elements and related interfaces.
Charging Trigger Function (CTF)
The CTF is nothing but a function implemented within the Telephony Application Server (TAS) or IP-SM-GW or Packet GW (PGW), which triggers and communicates with the Charging system. CTF knows when to generate a Charging Request and what attributes are important for Billing purposes.
Charging Data Function (CDT)
The CDF receives charging events from the CTF. It then uses the information from charging events to construct CDRs with a well-defined content and format. CDRs may be constructed from single or multiple charging events possibly of different types. The details can be found in TS 32.250 for the CS domain and TS 32.251 for the PS domain, etc,.
Charging Gateway Function (CGF)
The CDRs produced by the CDF are transferred immediately to the CGF. CGW acts as a persistent storage, it is responsible for file management, routing of CDRs and their transfer from the 3GPP network to BD. CGF and CDT may be in practice collocated within one system. Further details are described TS 32.297.
Rf reference point
The Rf reference point is the most important interface for offline charging. It supports the interaction between the CTF and the CDF (e.g. between TAS and Offline Charging System). Rf makes use of Diameter protocol. The charging events sent over Rf can either be one-time events or may be session-based. This interface is defined in 3GPP TS 32.299 and also in RFC 3588.
Ga reference point
This interface is defined in TS 32.295. The content of the CDRs, and the CDR trigger conditions, are specific to the domain / subsystem / service and are detailed in the middle tier TSs.
Bx reference point
The Bx reference point supports interaction between a CGF and the BD. The information crossing this reference point is comprised of CDR files. A common, standard file transfer protocol (e.g. FTAM, FTP) is used, including the transport mechanisms specified for the protocol. This interface is defined in TS 32.297.
Charging Trigger Function
As well as with the Offline Charging, the CTF is a part of TAS or IP-SM-GW or PGW. This time it is a bit more complex, because apart from generation of Charging Events, CTF has to be able to delay the actual resource usage until permission by the OCS has been granted (we can’t call before TAS knows if have a sufficient credit). CTF also has to track the availability of resource usage permission (“quota supervision”) during the network resource usage and to enforce termination of the end user’s network resource usage when permission by the OCS is not granted or expires (e.g. release the call). Based on that we may also do some other actions (e.g. play some announcements to UE).
Online Charging System
The OCS consists of two distinct modules, namely the Session Based Charging Function (SBCF) and the Event Based Charging Function (EBCF).
The SBCF is responsible for online charging of network / user sessions, e.g. voice calls, IP CAN bearers, IP CAN session or IMS sessions.
The EBCF performs event-based online charging (also referred to as “content charging”) in conjunction with any application server or service NE. Typical example can be SMSoIP service charging.
Details of the OCS, and the role of each of its functional components, are described in TS 32.296.
Ro reference point
The Ro reference point supports interaction between a CTF (TAS, IPSMGW, PGW) and an OCF. As well as Rf, also Ro is based on Diameter protocol. This interface application is defined in TS 32.299. The information contained in the charging events and the relevant chargeable events are specific to the domain / subsystem / service and are detailed in the respective middle tier TSs.
Gy reference point
The Gy reference point is functionally equivalent to Ro, and hence it is replaced by Ro within the common charging architecture.
As Diameter Rf and Ro interfaces are not supported in some networks, interim solutions have been deployed for charging. These include direct CDR generation (often using the MSC’s CDR format to prevent billing domain changes) on each IMS node, other interfaces for online charging (e.g. CAMEL, Radius, etc.).
There is an expectation that the IMS network shall be able to provide all information that is currently provided in a MSC-generated CDR, resulting in proprietary solutions to enable cause codes to be captured (in CDRs, etc.) in a manner consistent with CS domain networks.
The CAP reference point provides similar functionality for online charging as Ro, however, it is based on CAMEL techniques. It is kept within the overall charging architecture as CAMEL may be used in the CS and PS domains. See TS 23.078 for details on CAMEL.
For completeness let’s show how does it look like in 5GS.
Converged Charging System
The converged charging system consists of four distinct modules, namely the Charging Function (CHF), the Account Balance Management Function (ABMF), the Charging Gateway Function (CGF) and the Rating Function (RF). The Charging Function includes Online Charging Function (OCF) and Charging Data Function (CDF). The converged charging system interacts with CTF using Nchf interface and interacts with the BD using Bx interface.
Nchf reference point
The Nchf interface is a service based interface, which supports interaction between a Charging Trigger Function and the Charging Function. Nchf interface is based on HTTP protocol and the details are described in TS 32.290 and TS 32.291.
3GPP 32.240 Telecommunication management; Charging management; Charging Architecture and Principles
3GPP 32.296 Online Charging System (OCS): Applications and interfaces
3GPP 32.274 Telecommunication management; Charging management; Short Message Service (SMS) charging
3GPP 32.276 Telecommunication management; Charging management; Voice Call Service Charging
3GPP 32.299 Telecommunication management; Charging management; Diameter charging application
3GPP 29.230 Diameter applications; 3GPP specific codes and identifiers
3GPP 23.203 Policy and charging control architecture
IETF RFC 6733 Diameter Base Protocol
IETF RFC 4006 Diameter Credit-Control Application