5G Converged Charging: Overview, Specifications and Challenges


5G is advancing around the world and can already be classified as a maturing technology, although some of the innovations, such as Network Slicing, have not yet reached the expected point of use. Like any technological evolution model, justification for development was not only based in technology evolution itself, but new business models need also to be defined and described to justify the costs of system and network upgrade.

And the new business models are anchored on the ability to charge for the services and features made possible by new technology. To this end, the historical mechanism used in telecom business models for retail offerings was and still is based on the ability to properly billing and charging end user on an individual or collective basis.

Charging technology has always been a sensitive subject for operators, we can even argue that the model is outdated in relation to those applied by big techs, but it is a robust model that still meets partially the needs of offering mobile services to the customers chain.

5G has also evolved the charging technology model and procedures, replacing previous models based on interfaces supported by specialized protocols to a model based on open and flexible service interfaces, called SBA (Service Based Architecture), and a converged architecture in which online and offline models are tight tied.

This article proposes to be a summary and non-exhaustive compilation of the new charging procedures defined for the 5GS (5G System), with the objective of guiding the reader in the paths to search for more in-depth information.

Charging and Billing for 5G Architecture

5G architecture has radically changed the way mobile networks are performing charging and billing. Starting with usage collection, where there are no more files reporting consumption (xDR) being generated by any functional elements responsible for the user plane or control plane. Passing through the model, where charging is convergent and real time regardless of whether the service plan is prepaid (online) or postpaid (offline).

To achieve above requirements for convergent charging, a new functional element was introduced by 3GPP in Release 15, the CCS (Converged Charging System), which also comply to the new service architecture SBA (Service Based Architecture). All chargeable events, charging information and message commands are merged and includes the functions:

CHF – Charging Function
RF – Rating Function
ABMF – Account Balance Management Function
CGF – Charging Gateway Function

Figure 1 details above functions that were also defined in 3GPP TS 32.240 for Converged Charging System.

Figure 1 –Converged Charging System architecture
Figure 1 – Converged Charging System architecture

As CCS is complied to service-based architecture, 3GPP specification TS 32.290 introduced new services for converged charging to be consumed by others 5GS functions. These services are intended to cover all the network’s requirements related to billing and integration with Billing Systems.

CHF is seen as a service provider for the network, so other functions are needed inside Converged Charging System to complement the overall charging requirements. In this way, the RF function was defined to determine the value of the network resource usage, the AMBF where the subscribers’ account balance is located and the CGF that acts as a gateway between the 3GPP network and the external Billing and BSS systems. External interface Bx for the Billing systems is the only one that has maintained the legacy support for billing records in ASN.1 syntax, the others are based on the new SBA architecture.

Figure 2 – Charging architecture and information flow for 5GS
Figure 2 – Charging architecture and information flow for 5GS

In 3GPP Release 15 specification, CCS supports network resource usage charging, such as volume consumed, for the following 5GS network functions:

SMF (Session Management Function): for data connectivity charging, e.g. via PDU session;
SMSF (Short Message Service Function): for SMS text message charging;
PCF (Policy Charging Function): for control of usage limits.

Within SBA architecture reference, Nchf_ConvergedCharging is main service provided by CHF. It is specified in TS 32.291, contains Create, Update, and Release operations, and has the SMF and SMSF network functions as its primary consumers. The CHF also provides the Nchf_SpendingLimitControl service, which is specified in TS 23.503 and PCF is its consumer.

All operations for Nchf_ConvergedCharging and Nchf_SpendingLimitControl are based on HTTP POST method.

Charging and Billing Capabilities

3GPP defines some charging and billing procedures for 5GS summarized below.

5G data connection charging, specified in TS 32.255 and includes PDU session charging, data service flows (within the PDU session), and QoS flow (within the PDU session). The billing information is collected as QoS flow Based Charging (QBC) by the CHF in each PLMN.

Converged 5G SMS charging, as defined in TS specifications 32.274, 32.290, 32.291 and 32.298, SMSF network function charging and billing improvements for IP-SM-GW element.

The API interface which is defined via network exposure functionality. Network resource exposure capabilities have been specified in the 5G architecture in documents TS 23.501, TS 23.502, and TS 23.503. Network Exposure Function (NEF) APIs are specified in TS 29.522 and are interoperable with other network functions (NF) through the Service Based Interface (SBI). 3GPP TS 32.254 specification for billing APIs covers the interoperability of SCEF with SCS/AS, including online and offline event-based billing.

Charging for mobility management features via AMF (Access and Mobility Management Function). An evolution of the billing concept to collect usage of other 5GS features associated with AMF, such as registration management, mobility, and access connection. These features are defined in TS 32.256.

5G EPC Interworking Charging

3GPP has also defined enhancements in the charging for interoperability of 5GS with EPC (4G), enabling interoperability between 5GS and EPC architectures, when the User Equipment (UE) supports both networks and needs to be able to perform handover between these two modes.

By TS 23.501 and TS 23.503 specifications, networks can support interoperability procedures and these procedures can use the N26 interface. The N26 interface is defined as an inter-CN interface between the MME in the EPC network and the AMF in the 5GS. Interoperability between 5GS and EPC defines billing processes via interaction between PGW-C + SMF with CHF through the same interface defined between SMF and CHF. The corresponding triggers, message flow and parameters are specified.

Network Slicing Charging

Network Slicing functionality defined for 5GS represents an evolution of the way mobile network services are offered and expands the ability to offer new business models, such as B2B services and NSaaS. 3GPP specifies network slicing charging capabilities on a per-device (UE) and per-tenant basis, requirements based on the charging requirements received from the 3GPP working groups (SA1 and SA2) and GSMA.

On the basic, Network Slicing billing is collected via network slice instance information that the PDU session belongs to, which is then reported to the CCS via charging service.

In Release 16, billing management was expanded to Network Slicing (NS) with the introduction of NS lifecycle management (NSM) and NS Performance and Analytics (NSPA). CCS receives the billing information report for the NSPA, such as latency and throughput, and for the NSM, such as the billing service list for Network Slice Instance (NSI) for creation, modification, and termination. For Release 17, an enhancement is introduced in NS billing for data connectivity, the CHF was extended within the CCS to NS tenant, through the S-NSSAI parameter.

New NF was defined for Network Slice charging within Converged Charging architecture, the CEF (Charging Enablement Function). CEF is a consumer of the billing Nchf service and, for the purpose of collecting performance data and billing analytics, may consume managed services (MnS), services exposed by other NF, such as Network Data Analytics Function (MWDAF), or both, as specified in TS 28.201.

Figure 3 – Network slice performance and analytics converged charging architecture (TS 28.201)
Figure 3 – Network slice performance and analytics converged charging architecture (TS 28.201)

Network Slice lifecycle management charging covers creation, modification, and termination of Network Slice Instance (NSI) and is based on two alternate architectures defined in TS 28.202. One of the architectures defines the CEF as a consumer of the Nchf charging service and consuming managed service (MnS) and the other defines a CTF internal to the MnS Producer as responsible for collecting NS management charging information and acting as a consumer of the Nchf billing service.


Billing and charging procedures for 5GS follow the network evolution capabilities and enable creation and offer of new business models. On the other hand, they create some challenges for legacy Billing and BSS systems, due to the amount of new information generated, the change in the collection of usage information and the new design for a convergent architecture.

The flexibility of the SBA architecture will encourage more advanced charging models and hoping stimulate creativity in the design of new services. Some scenarios of network resource exposure and roaming have not been explored in this article and should be addressed in further work.

Adoption of new charging models can also pave the way for even more evolution ahead with upcoming 6G specification.


List of specifications cited:

3GPP TS 23.501
3GPP TS 23.502
3GPP TS 23.503
3GPP TS 28.201
3GPP TS 32.240
3GPP TS 32.255
3GPP TS 32.256
3GPP TS 32.274
3GPP TS 32.290
3GPP TS 32.291
3GPP TS 32.298


3GPP             3rd Generation Partnership Project
5GS                5G System
ABMF           Account Balance Management Function
AMF              Acess and Mobility Management Function
ASN.1            Abstract Syntax Notation One
BSS                Business Support System
CCS               Converged Charging System
CDF               Charging Data Function
CEF               Charging Enablement Function
CGF               Charging Gateway Function
CHF               Charging Function
CTF               Charging Trigger Function
EPS                Evolved Packet System
IP-SM-GW    IP-Short Message Gateway
MME             Mobility Management Entity
MnS               Management Service
MWDAF       Network Data Analytics Function
NEF               Network Exposure Function
NF                  Network Function
NS                  Network Slicing
NSI                Network Slice Instance
NSM              NS lifecycle Management
NSPA            NS Performance and Analytics
OCF               Online Charging Function
PCF                Policy Charging Function
PDU               Protocol Data Unit
PLMN            Public landline Mobile Network
PGW-C          PS Gateway – Control plane
QBC              QoS flow Based Charging
RF                  Rating Function
SBA               Service Based Architecture
SBI                Service Based Interface
SCEF             Service Capability Exposure Function
SCS/AS         Service Capability Server/Application Server
SMF               Session Management Function
SMSF            Short Message Service Function
TS                  Technical Specification
UE                 User Equipment

Policy Control and Charging – An Evolving Architecture Helping Disruptive Business Models

This is a short article on a relative “old” architecture, from the standardization point of view, but not yet fully used on top of its capabilities by the established MNOs (Mobile Network Operators).

Architecture Standards

3GPP Policy Control and Charging (PCC) architecture is an evolutionary not a revolutionary one. When it was proposed, their functions split off existing mobile IN (Intelligent Network, aka CAMEL) functions, translated from switch (voice) to packet domain.

The main architectural control elements specified are PCRF (Policy and Charging Rules Function) – for police control (a lot more than only QoS)  – and OCS (Online Charging System) – for charging control. Since its first release, it is ones core network architecture with more updates over the last decade, and still work in progress.

Driving New Services

Over the past years most vendors describe bunch of possible business cases to validate the heavy investment on network capabilities to support all newly policy functions. However, the evolving part of the architecture plays its role and most of new products launched were focused on online charging services, with pre-paid data plans potentials and variations being a must.

Abstracting the architecture and thinking about policy user cases, we realize that a lot of business cases didn’t come to light due to enough support on legacy packet network elements and even on standards (one reason for too many spec upgrades) and regulatory issues.

Speed Bumps

On the network side, the capability to detect and inform the correct user traffic and application were main bottleneck that 3GPP specification try to address, e.g. with the TDF (Traffic Detection Function). A great number of business models can be explored at this configuration, but it’ll require a new network element (or new capabilities on existing ones), and new interface to PCRF. Virtualization (SDN and NFV) can play a role here, easing new capabilities adoption and deployment.

On the northbound side, the 3GPP standards are less restrictive, and the MNOs should decide how easy would be integration of new services , by defining a good APIs set to expose those policy control and charging capabilities (see my previous article on online charging future here). Vendors support in providing an open and fully configurable application interface is mandatory for MNOs willing to explore those capabilities.

On the regulatory side, the policy control services face a great pressure from net neutrality rules on some markets. Less net neutrality should drive new services models, but its still unclear how deep political changes as seen with Trump’s election and Brexit will affect the current regulatory direction.


As policy and online charging services are a cornerstone on MNOs market, the 5G ongoing discussion on core network architecture will certain drive another evolution round on PCC architecture, after VNF introduction as well.

Also IoT mass deployment will demand a strong policy control and differentiate charging from MVOs, something hard to achieve without a standard architecture.

Mindset Changing and Next Steps

As conclusion, the Policy and Charging Control architecture are a powerful technology for service differentiation. Though, a key paradigm on MNOs business systems must change.

Policy and Charging architecture should be understood as the lower end of the Operator’s service creation chain and not as core network elements. PCRF and OCS are better described as service platforms and service enablers’ functions, but they’ll add value only when tied on Operator’s service layer business process.

Operators’ online policy and charging capabilities must also be securely exposed to internal and external service partners to be able to fulfill the business models predicted by the industry.


Push Notification Architecture Using React and Node.JS

While I was planning my “in-between-jobs projects”, including a mobile app framework development (which resulted in SBR Photography), I bumped with the requirement of an application server to deliver Push Notifications (PN) to the mobile app (Android and iOS flavors). I know there is a bunch of commercial offers available over the Internet to do the job, but I was tied to the main project’s requirement, no cost at all (besides me).

Other project’s requirement was to be simple enough to be operated by anyone, meaning to avoid the compulsion to solve this with beauty shell script command. After some research, I’ve designed a simple architecture that could be implemented on a local Node.js server as backend and a frontend webserver done in React.js.

This PN application server solution is able to handle app tokens grabbed by a REST API Gateway on the cloud, select specific destinations options and send custom PN messages to the devices thru Google (Firebase) and Apple (APN) services. All tasks controlled by the frontend friendly UI.


There are some major components on the system:

  1. API Gateway: a PHP server deployed on the same webserver that host the mobile app content. This component gets the push notification register (token) and other information from the app and hold on a database;
  2. Parser: a component to grab the device information from the API Gateway in CSV format and generate the objects to the backend components;
  3. Frontend: website UI to configure the custom push message to be delivered based on the target device language, OS and mobile app name;
  4. Controller: a component to control the internal backend workflow;
  5. APN interface and Google FCM interface: services that handle the Apple Push Notification (APN) keys and Google Firebase Cloud Messaging (FCM) keys related to each mobile app registered and establishes the secure communication channel to each external service to deliver the notification messages payload.

The API Gateway is a webservice that need to be always on to catch push notification register from the mobile apps. The remaining components are started over demand by operator and could be locally hosted on any end user computer.

Here the end-to-end architecture:

Architecture Push Notification Server


Here’s a short walk through over the main project’s components.

A very simple Single Page Application done in React, bundled with Webpack, minified and load as static asset. The original UI is also on Codepen and you can play with it. All UI changes are handled by user events, a lazy decision to avoid implement Flux into this project. The drawback of this decision is only the manual log text area update, through the ‘log’ button.

The user inputs and selection are submitted to the backend via REST API.

The backend was done in Node.js using as much as possible available packages for the parser and APN and FCM services.

Final Remarks

This project implement a local, low cost, automation to the operational process to deliver push notification to mobile app bundle, where individual notification is not a requirement. The basic architecture is robust, permits room for future improvements and is an option for initial low to mid volume mobile app deployments.