DCC

Diameter Credit Control

Protocol
Introduced in Rel-11
DCC is a Diameter-based protocol defined in 3GPP for real-time credit control and online charging in packet-switched networks. It enables network operators to manage subscriber spending, enforce quotas, and support prepaid and hybrid billing models by interacting with charging systems during service sessions. This is crucial for monetizing data services and preventing revenue leakage.

Description

Diameter Credit Control (DCC) is a protocol specified in 3GPP TS 29.212, which defines the application-level Diameter messages and procedures for online credit control. It operates within the Online Charging System (OCS) architecture, where it facilitates real-time interaction between network functions (like the P-GW or SMF) and the OCS to authorize service usage based on available credit. The protocol is session-oriented, meaning it establishes a credit control session for a specific service data flow or subscriber session. It supports multiple service contexts, allowing for granular charging per service (e.g., voice, data, messaging) or aggregated charging across services.

At its core, DCC works through a request-and-answer mechanism using Diameter commands. The key command is the Credit-Control-Request (CCR), sent by a network function (acting as a Diameter client, such as a Charging Trigger Function) to the OCS (acting as a Diameter server). The CCR reports usage (e.g., volume, duration, events) and requests authorization for further service consumption. The OCS processes this request against the subscriber's account balance and policy, then responds with a Credit-Control-Answer (CCA). The CCA contains instructions, such as granting a quota (e.g., 10 MB of data), denying service due to insufficient funds, or terminating an ongoing session. The network function enforces these quotas, monitoring consumption and sending intermediate updates via CCRs until the session ends or credit is exhausted.

Key components in DCC include the Credit-Control-Client (e.g., P-GW, SMF), which triggers charging events, and the Credit-Control-Server (part of the OCS), which makes credit decisions. The protocol defines several session states: INITIAL, UPDATE, and TERMINATION, corresponding to the start, interim, and end of a credit control session. It also supports features like quota management, where the OCS can allocate quotas with specific validity times or thresholds, and re-authorization triggers, where the client must request a new quota before the current one expires. Additionally, DCC handles failures gracefully, with fallback mechanisms (like service continuation or termination) defined for scenarios where communication with the OCS is lost.

DCC's role is integral to the 3GPP charging architecture, particularly for online charging (OCS). It enables real-time, event-based charging for services like data browsing, IMS sessions, or SMS, ensuring that charging is tightly coupled with service delivery. The protocol is extensible, supporting vendor-specific AVPs (Attribute-Value Pairs) for custom charging scenarios. Its use of Diameter ensures reliable, secure transport over TCP or SCTP, with built-in support for failover and load balancing. In modern networks, DCC has evolved to support converged charging in 5G, where it interfaces with the CHF (Charging Function), maintaining its fundamental principles while adapting to new service models like network slicing and edge computing.

Purpose & Motivation

DCC was created to address the need for real-time, online credit control in packet-switched mobile networks, particularly as operators shifted from traditional circuit-switched voice to data-centric services. Prior to its introduction, charging often relied on offline mechanisms (like CDRs) or simple prepaid systems that lacked granularity and real-time interaction. This led to issues such as revenue leakage, where subscribers could overuse services without immediate payment checks, and limited support for complex billing models like session-based or event-based charging. DCC solved these problems by providing a standardized, protocol-based interface for dynamic credit authorization during active sessions.

The motivation stemmed from the growth of GPRS and later 3G/4G data services, which required more flexible charging than flat-rate models. Operators needed to implement prepaid data plans, tiered QoS charging, and spending limits without disrupting user experience. DCC enabled this by allowing network elements to query a central charging system in real-time, granting quotas that could be tailored to service type, subscriber tier, or network conditions. This supported new business models, such as turbo buttons or time-based data passes, while preventing bill shock and fraud.

Historically, DCC built upon the Diameter base protocol (RFC 6733), which itself evolved from RADIUS, offering improved scalability, security, and reliability. By standardizing DCC in 3GPP Release 11, it ensured interoperability across vendor equipment and aligned with broader charging frameworks like the 3GPP Charging Architecture (TS 32.240). It addressed limitations of earlier approaches by providing a stateful, session-aware protocol that could handle multiple concurrent services and integrate with policy control (via PCRF/PCF), enabling cohesive charging and policy enforcement. This foundation has allowed DCC to remain relevant through 5G, where it supports advanced charging for network slices and edge services.

Key Features

  • Real-time credit authorization via Diameter CCR/CCA messages
  • Support for multiple service contexts and granular charging per data flow
  • Quota management with validity timers and re-authorization triggers
  • Session state handling (INITIAL, UPDATE, TERMINATION) for lifecycle management
  • Fallback and failure handling mechanisms for OCS communication loss
  • Integration with Online Charging System (OCS) for prepaid and hybrid billing

Evolution Across Releases

Rel-11 Initial

Introduced the Diameter Credit Control application in 3GPP TS 29.212, defining the core protocol for online charging in EPS (4G). It established the CCR/CCA command set, session states, and basic quota management, enabling real-time credit control for data services via interfaces like Gy (between P-GW and OCS). This provided a standardized alternative to vendor-specific solutions, supporting prepaid data and spending limits.

Defining Specifications

SpecificationTitle
TS 29.212 3GPP TS 29.212