CCR

Credit-Control-Request

Management
Introduced in Rel-8
CCR is a Diameter-based message used in Policy and Charging Control (PCC) to request credit authorization for a user's data session. It is a critical component for real-time charging and policy enforcement in 3GPP networks, enabling operators to manage service usage and billing dynamically.

Description

The Credit-Control-Request (CCR) is a fundamental Diameter command within the 3GPP Policy and Charging Control (PCC) architecture, specifically defined in the Diameter Credit-Control Application (DCCA) per RFC 4006 and adapted in 3GPP specifications. It is a request message sent by a Policy and Charging Enforcement Function (PCEF) or a Traffic Detection Function (TDF) to a Policy and Charging Rules Function (PCRF) to initiate, update, or terminate a credit-control session. The CCR message carries essential information such as the subscriber's identity (e.g., IMSI, MSISDN), service data flow information, requested QoS parameters, and usage reports, allowing the PCRF to make informed decisions on policy rules and charging.

In operation, when a user initiates a data session, the PCEF (typically residing in the PDN Gateway or GGSN) sends an initial CCR (CCR-Initial) to the PCRF to request policy and charging rules. The PCRF, possibly interacting with an Online Charging System (OCS) via the Sy reference point, evaluates the request against subscriber profiles and network policies. It then responds with a Credit-Control-Answer (CCA) containing the authorized policy and charging rules, which may include granted QoS, gating decisions, and charging information like quota allocations. During the session, the PCEF sends update CCRs (CCR-Update) to report usage (e.g., volume or time consumed) and request further authorization, and a termination CCR (CCR-Terminate) when the session ends to finalize charging.

The CCR message structure includes Attribute-Value Pairs (AVPs) that convey detailed session parameters. Key AVPs include the CC-Request-Type (indicating INITIAL_REQUEST, UPDATE_REQUEST, or TERMINATION_REQUEST), the CC-Request-Number for sequencing, Subscription-Id for user identification, QoS-Information for bearer characteristics, and multiple instances of the Used-Service-Unit AVP to report data, time, or service-specific usage. This granular data enables real-time, service-aware charging models such as volume-based, time-based, or event-based charging, and supports advanced policy enforcement like traffic shaping and service prioritization.

CCR's role extends beyond basic charging; it is integral to dynamic policy control. By reporting service data flow detection and usage in real-time, CCR allows the PCRF to adapt policies based on network conditions, subscriber tier, or application type. This facilitates features like sponsored data, zero-rating, and bandwidth on-demand. In deployments with Offline Charging, CCR may be used to report usage to the Offline Charging System (OFCS) via the Ga reference point, though its primary design is for online interactions. The message is transported over the Diameter protocol on the Gx reference point (between PCEF and PCRF) or the Sd reference point (between TDF and PCRF), ensuring reliable, secure, and standardized communication for PCC operations.

Purpose & Motivation

CCR was introduced to address the limitations of static, batch-oriented charging systems in earlier mobile networks (e.g., 2G/3G), which could not support real-time service control and flexible charging models required for evolving data services. Prior approaches, such as those based on CAMEL for prepaid services, were often circuit-switched focused and lacked integration with dynamic policy enforcement. The rise of packet-switched services and diverse data applications necessitated a mechanism for real-time credit authorization and policy decision-making to prevent revenue leakage, enable prepaid data plans, and allow operators to offer differentiated services.

The creation of CCR within the PCC framework in 3GPP Release 8 was motivated by the need for a standardized, online charging interface that could interact seamlessly with policy control. It solves the problem of managing subscriber quotas in real-time, ensuring that users do not exceed their credit limits while allowing continuous service. By decoupling charging from policy enforcement, CCR enables operators to implement complex business models, such as tiered pricing, application-specific charging, and promotional offers, without network downtime. It also supports convergence of prepaid and postpaid systems by providing a unified interface for online credit control.

Historically, without CCR-like mechanisms, operators struggled with post-session billing disputes and could not dynamically adjust services based on credit status. CCR's introduction, as part of the Diameter-based PCC architecture, provided a scalable, interoperable solution that underpins modern LTE and 5G networks. It addresses the critical need for immediate feedback on resource usage, facilitating not only charging but also network resource optimization and enhanced user experience through real-time policy adjustments.

Key Features

  • Diameter-based command for real-time credit authorization
  • Supports three request types: INITIAL, UPDATE, and TERMINATION for session lifecycle management
  • Carries detailed AVPs for subscriber identity, QoS parameters, and usage reporting
  • Enables integration between PCEF/TDF and PCRF over Gx/Sd interfaces
  • Facilitates dynamic policy enforcement and online charging control
  • Supports multiple charging models: volume, time, and event-based

Evolution Across Releases

Rel-8 Initial

Introduced CCR as part of the initial Policy and Charging Control (PCC) architecture in EPS. Defined the Diameter Credit-Control-Request command for online charging and policy enforcement between PCEF and PCRF over the Gx interface. Supported basic credit control for data sessions with INITIAL, UPDATE, and TERMINATION request types, enabling real-time quota management and dynamic policy rules.

Defining Specifications

SpecificationTitle
TS 26.818 3GPP TS 26.818
TS 26.952 3GPP TS 26.952
TS 26.976 3GPP TS 26.976
TS 26.978 3GPP TS 26.978
TS 29.212 3GPP TS 29.212
TS 32.251 3GPP TR 32.251
TS 32.260 3GPP TR 32.260
TS 32.270 3GPP TR 32.270
TS 32.271 3GPP TR 32.271
TS 32.272 3GPP TR 32.272
TS 32.273 3GPP TR 32.273
TS 32.276 3GPP TR 32.276
TS 32.280 3GPP TR 32.280
TS 32.293 3GPP TR 32.293
TS 32.296 3GPP TR 32.296
TS 32.299 3GPP TR 32.299
TS 32.825 3GPP TR 32.825