Description
The Accounting Answer (ACA) is a critical Diameter application command within the 3GPP Ro and Gy reference points, defined in the Diameter Credit-Control Application (DCCA) framework (RFC 4006). It operates as the definitive response from the Online Charging System (OCS) to a preceding Accounting Request (ACR) sent by a network function acting as a Diameter client, such as a Policy and Charging Enforcement Function (PCEF) in the P-GW or an Application Function (AF). The ACA message carries the OCS's decision regarding the requested quota of service units (e.g., data volume, time duration, or monetary credit) for a specific user's service session.
Architecturally, the ACA is part of the real-time, session-based credit control dialogue. When a user initiates a data session or a value-added service, the network element (the Diameter client) sends an ACR (Initial, Intermediate, Update, or Final) to the OCS. The OCS processes this request against the user's account balance and policy rules. The resulting ACA message contains the granted quota, the validity time for that quota, and specific instructions for the client. Key Attribute-Value Pairs (AVPs) within the ACA include the Granted-Service-Unit AVP (specifying the amount of data, time, or money granted), the Validity-Time AVP, the Result-Code AVP (indicating success or a specific error), and the Final-Unit-Indication AVP (which instructs the client on actions to take when the granted quota is exhausted, such as terminating access or redirecting to a top-up portal).
The role of the ACA is to enforce the OCS's charging policy in real-time. Upon receiving the ACA, the network element applies the granted quota to the user's session, monitoring consumption. When the quota is nearing exhaustion, the client will send a new ACR (Update) to request more credit, triggering another ACA response. This continuous request-answer cycle allows for precise, immediate control over resource usage and spending limits. For the Final ACR that signals session termination, the corresponding ACA confirms the closure and may include final accounting data for reconciliation. The ACA is thus the mechanism that translates high-level charging policies into actionable, per-session resource grants, enabling prepaid, on-demand, and convergent charging models.
Purpose & Motivation
The ACA exists to facilitate real-time, online charging within 3GPP networks, a fundamental requirement for modern telecom services, especially prepaid offerings. Prior to standardized online charging, billing was often a batch-processed, offline affair where usage records (CDRs) were collected and processed post-session. This created a significant credit risk for operators, as users could incur charges beyond their account balance, and it prevented real-time service control like spending limits or immediate quota top-ups. The introduction of the Diameter-based OCS with the ACA/ACR dialogue solved these problems by establishing a direct, in-session protocol for credit authorization.
The creation of ACA was motivated by the need for a secure, reliable, and standardized signaling mechanism between network elements and the charging system. It addresses the limitation of 'blind' service delivery by inserting a policy decision point (the OCS) directly into the service control path. The ACA provides the authoritative 'yes/no' and 'how much' answer that governs whether a user can continue using a service. This enables not only prepaid billing but also sophisticated postpaid controls like spending caps, real-time notifications, and seamless service integration for IMS-based voice, video, and messaging. Its standardization across 3GPP releases ensured interoperability between equipment from different vendors, which was crucial for the deployment of complex, multi-vendor LTE and 5G networks.
Key Features
- Carries the granted quota (data, time, money) from the OCS to the network element
- Uses the standardized Diameter protocol with specific AVPs defined in 3GPP TS 32.299
- Supports multiple service unit types (CC-Total-Octets, CC-Time, CC-Money) within the Granted-Service-Unit AVP
- Includes a Validity-Time AVP to enforce time-based quota expiration
- Conveys Final-Unit-Indication to instruct the client on actions upon quota exhaustion
- Transports a Result-Code AVP indicating success (DIAMETER_SUCCESS) or specific Diameter errors
Evolution Across Releases
Introduced as a core component of the Policy and Charging Control (PCC) architecture for EPS. Defined the ACA command code (271) and its fundamental AVPs within the Diameter Credit-Control Application for the Gy reference point between the PCEF and OCS. Established the basic session-based credit control flow for data services.
Defining Specifications
| Specification | Title |
|---|---|
| TS 32.260 | 3GPP TR 32.260 |
| TS 32.272 | 3GPP TR 32.272 |
| TS 32.273 | 3GPP TR 32.273 |
| TS 32.278 | 3GPP TR 32.278 |
| TS 32.299 | 3GPP TR 32.299 |