CHF

Charging Function

Core Network →
Introduced in Rel-15 Also in: Management, Services

CHF is the core network component in 5G systems responsible for generating and managing charging data records for network usage, enabling flexible charging models for services like voice, data, and network slices.

Category
Core Network
Introduced
Rel-15
Where
Core Network › 5G Core
Also touches
2 segments
Specifications
35 specs
CHF Description Purpose Related Classification Detected Changes Specifications

Description

The Charging Function (CHF) is a fundamental component within the 5G Core Network (5GC) architecture, specifically part of the Charging framework. It operates as a producer of charging events, interacting with other Network Functions (NFs) like the Session Management Function (SMF) and Policy Control Function (PCF) via service-based interfaces (e.g., Nchf). The CHF is responsible for collecting usage information, applying charging policies, and generating Charging Data Records (CDRs) or Charging Events. These records are then forwarded to the Charging Data Function (CDF) for long-term storage and eventual processing by the billing system.

Architecturally, the CHF is defined as a standalone Network Function that can be deployed independently, supporting both offline and online charging modes. In online charging, it performs credit control in real-time, granting or denying service units based on a user's account balance and policy rules. This involves direct interaction with the user's balance management system. For offline charging, it collects usage data after the service is rendered, correlating events from multiple NFs to produce consolidated CDRs. The CHF supports a converged charging system, meaning it can handle charging for any service type (e.g., data, voice, IoT, network slicing) through a unified framework.

Key components of the CHF's operation include the Charging Trigger Function (CTF), which is logically embedded within other NFs like the SMF to detect chargeable events, and the Charging Data Function (CDF) for record storage. The CHF itself implements the charging logic, determining tariff times, applying rating, and managing quotas. It uses standardized reference points such as Nchf (for service-based communication with other NFs) and Rf/Ga (for legacy offline/online charging interfaces if needed). Its design is highly flexible, supporting event-based, session-based, and volume-based charging, which is essential for 5G's diverse service offerings like network slicing and edge computing.

The CHF's role is critical for monetizing 5G services. It enables operators to implement sophisticated, real-time charging strategies, such as dynamic pricing, QoS-based charging, and slice-specific billing. By decoupling charging from session management, 5G allows for more agile service deployment and innovative business models, including third-party service charging. The CHF ensures that all network resource usage is accurately measured, rated, and recorded, forming the basis for revenue assurance and customer billing in modern telecom networks.

Purpose & Motivation

The CHF was introduced in 3GPP Release 15 as part of the new 5G Core (5GC) architecture to address the limitations of previous charging systems in 4G EPC. In 4G, charging was tightly coupled with specific network elements like the PGW (via Gy/Gz interfaces), which made it inflexible and difficult to adapt to new services. The 4G charging architecture was primarily designed for traditional mobile broadband, struggling with real-time, service-differentiated charging required for IoT, network slicing, and edge services.

The primary motivation for creating a dedicated CHF was to enable a converged, service-based charging framework that could support the diverse use cases promised by 5G. This separation allows charging logic to be applied independently of the underlying network topology or session state, facilitating innovation. It solves the problem of monolithic charging systems by providing a modular, cloud-native NF that can scale dynamically and integrate with modern IT systems via APIs.

Historically, charging evolved from simple call detail records in circuit-switched networks to more complex data charging in packet-switched networks. The CHF represents the next step, designed for a software-defined, service-oriented core. It addresses the need for real-time charging for on-demand services, support for network slicing where each slice may have a different charging model, and the ability to charge for third-party applications and services directly through the network. This enables new revenue streams and business models essential for 5G's economic viability.

Architecture

In the Network Map

Classification

Part ofSMF
Specific typesOCSCEFPECV-CHF
Related approachesPCF

Release Timeline

Detected Changes Across Releases

from 3GPP Change Requests

Specific changes extracted from the „Change history“ tables of 3GPP specifications (116 CRs across 5 releases). Complements the general historical overview above with the evidence-based evolution of this function.

Rel-15 12 changes

In Release 15, the CHF (Charging Function) was newly introduced as a core network function within the 5G Service-Based Architecture, replacing the previous OCS. Key introductions include the formal definition of CHF discovery and selection procedures for entities like the SMF, AMF, SMSF, and PCF, and the establishment of new service-based interfaces (such as N28, N40, N41, N42) for its interactions. The release also specified mechanisms for the CHF to manage online/offline charging and spending limit control for PDU Sessions, 5G mobility, and SMS, including selection based on SUPI or GPSI.

  • Add table of CHF Spending Limit Control service in 7.2.x TS 23.501CR0401
  • CHF discovery and selection TS 23.501CR0576
  • Introduce Charging Function in overall architecture TS 23.501CR0793
  • Change OCS to CHF in TS23.503 TS 23.503CR0117
  • Selection of the CHF for charging and spending limit control for the PDU session TS 23.503CR0150
  • Change OCS to CHF in TS 23.503 TS 23.503CR0221

+ 6 more changes

Rel-16 17 changes

In Release 16, key enhancements for the CHF included the introduction of a **CHF Group ID** for managing groups of subscribers, refined **CHF discovery and selection** procedures for multiple Network Functions (SMF, AMF, SMSF, PCF), and the support for **CHF-Controlled Quota Management**. Additionally, the release specified CHF addresses in the form of an FQDN as an apiRoot and added details like the Multi-homed PDU Address in Charging Data Records for IPv6 multi-homing support.

  • CHF Group ID TS 29.510CR0284
  • CHF set and instance Id in charging information TS 29.512CR0431
  • Add offline only charging for CHF selection TS 32.255CR0051
  • CHF selection in offline only TS 32.255CR0062
  • Introduce CHF-Controlled Quota Management TS 32.255CR0204
  • CHF selection for IMS charging TS 32.260CR0401

+ 11 more changes

Rel-17 16 changes

In Release 17, key enhancements for the Charging Function (CHF) included the formal introduction of a CHF framework and its selection using the NRF, along with the new CHF Set concept for retry and failure handling between primary and secondary instances. Specific corrections and updates were made to procedures for home-routed CHF selection, SMF-CHF interaction ordering during I-SMF changes, and the support for CHF service sets. Furthermore, new capabilities were added for reporting the CHF's FQDN to AAA servers and for the PCF to select a CHF based on subscription conditions.

  • Reporting FQDN of CHF to RADIUS DN-AAA server TS 29.561CR0079
  • Reporting FQDN of CHF to Diameter DN-AAA server TS 29.561CR0080
  • Introduction of CHF framework in the scope TS 32.260CR0414
  • Introduction of CHF selection using NRF TS 32.260CR0421
  • Supported PLMN for CHF Discovery TS 29.510CR0698
  • Correcting home routed CHF selection TS 32.255CR0392

+ 10 more changes

Rel-18 36 changes

In Release 18, the CHF function was enhanced with new architectural capabilities for roaming and local breakout scenarios, including the formal addition of a CHF-to-CHF interface and the definition of a consumer CHF to business CHF architecture. Specific procedures were introduced for CHF selection in spending limits for AM and UE policies, and the CHF's role was expanded to act as a consumer within the LBO (Local Breakout) architecture. Furthermore, new reference points were specified, such as the one between an MMS node and the CHF, to support these extended charging interactions.

  • 23.503 - CHF selection in Spending Limits for AM and UE Policies in the 5GC TS 23.503CR1052
  • Support of CHF address(es) information TS 29.525CR0317
  • Add reference point between MMS node and CHF TS 32.240CR0469
  • Rel-18 CR 32.240 Addition of CHF as consumer in LBO architecture TS 32.240CR0476
  • Rel-18 CR 32.240 Addition of business CHF via consumer CHF TS 32.240CR0477
  • Rel-18 CR 32.255 Addition of CHF as consumer in LBO architecture TS 32.255CR0467

+ 30 more changes

Rel-19 35 changes

In Release 19, enhancements to the Charging Function (CHF) primarily focused on refining its discovery and selection mechanisms, particularly for roaming scenarios and based on the new CHF Group ID concept. Specific improvements included clarifying the CHF selection method, enabling discovery based on the CHF Group ID, and enhancing the input for CHF discovery and selection via the NRF. Furthermore, the release introduced support for spending limits in UE policy and defined interactions, such as for the H-PCF with the H-CHF, to better manage charging in roaming situations.

  • CHF selection aspects TS 29.507CR0316
  • Spending limits for UE Policy and Support of CHF information in roaming scenario TS 29.525CR0355
  • CHF selection aspects considering roaming scenarios TS 29.525CR0361
  • H-PCF for a UE interacts with the H-CHF in the roaming scenario TS 29.594CR0113
  • Rel-19 CR 32.255 Adding use of charging characteristics for CHF Group TS 32.255CR0566
  • Rel-19 CR 32.255 Clarify the CHF selection method TS 32.255CR0582

+ 29 more changes

Explore further

Broader topics and technologies where CHF plays a role.

Defining Specifications

3GPP specifications that define or reference CHF, with the latest known release. Sourced from the 3GPP document catalog — see methodology.

SpecificationTitleRelease
TS 23.501 vk00 5G System Architecture Stage 2 Rel-20
TS 23.503 vk00 5G Policy and Charging Control Framework Rel-20
TS 28.201 vj20 5G Network Slice Performance Analytics Charging Rel-19
TS 28.203 vi10 Charging management Rel-18
TS 28.204 vi11 Charging management Rel-18
TR 28.815 vh00 Charging Study for Edge Computing Rel-17
TR 28.816 vh00 Charging for 5G Cellular IoT Rel-17
TR 28.822 vh00 Charging for 5G LAN Services Study Rel-17
TR 28.827 vi00 Technical Report on 5G Charging for Roaming Scenarios Rel-18
TR 28.840 vi10 Technical Report Rel-18
TS 28.849 vj10 CAPIF Phase2 Charging Study Rel-19
TS 29.507 vj40 5G Access & Mobility Policy Control Service Rel-19
TS 29.510 vj50 NRF Service Based Interface Protocol Rel-19
TS 29.512 vj40 5G Session Management Policy Control Service Rel-19
TS 29.513 vj40 5G PCC Signalling Flows & QoS Mapping Rel-19
TS 29.514 vj40 5G System; Policy Authorization Service; Stage 3 Rel-19
TS 29.525 vj40 5G UE Policy Control Service Stage 3 Rel-19
TS 29.561 vj30 5G Interworking with External Data Networks Rel-19
TS 29.594 vj20 5G Spending Limit Control Service Stage 3 Rel-19
TS 32.240 vj40 Charging Management Architecture & Principles Rel-19
TS 32.255 vk10 Telecom Management; Charging for 5G Data Connectivity Rel-20
TS 32.256 vj40 5G Connection & Mobility Charging Spec Rel-19
TS 32.257 vj00 Edge Computing Charging Management Rel-19
TS 32.260 vj10 IMS Charging Management Rel-19
TS 32.271 vj20 3GPP LCS Charging Management Spec Rel-19
TS 32.277 vj20 Charging Management for Proximity Services (ProSe) Rel-19
TS 32.279 vj00 5G MBS Session Converged Charging Rel-19
TS 32.290 vj50 5G Charging for Service Based Interface Rel-19
TS 32.291 vj40 Charging Management: Service-Based Interface Protocol Rel-19
TR 32.846 vh00 Charging for ProSe in 5GS Rel-17
TR 32.847 vi00 Technical Report Rel-18
TS 33.127 vj50 Lawful Interception Architecture and Functions Rel-19
TS 33.128 vj50 3GPP TS 33.128: Lawful Interception Protocols Rel-19
TS 33.515 vk00 5G SMF Security Assurance Specification Rel-20
TR 33.928 vj10 ADMF Logic for LI Provisioning Rel-19
Patrick Zandl

About the author: Patrick Zandl (b. 1974)

Telecommunications specialist, technology journalist (founder of the Mobil server), and developer who has been running since 2025 — the largest Czech-language resource on AI-assisted programming. Formerly Chief Wizard Architect at Prusa3D and head of development for Turris at CZ.NIC; currently a consultant and instructor on AI implementation in companies.