Understanding Offline Charging Events

For both event and session based charging, the CTF implements the accounting state machine described in RFC 3588. The server (CDF) implements the accounting state machine "SERVER, STATELESS ACCOUNTING" as specified in RFC 3588.

The reporting of offline charging events to the CDF is managed through the Diameter Accounting Request (ACR) message. Rf supports the ACR event types described in Table 3-1.

Table 3-1 Rf ACR Event Types

Request Description

START

Starts an accounting session.

INTERIM

Updates an accounting session.

STOP

Stops an accounting session.

EVENT

Indicates a one-time accounting event.

The START, INTERIM, and STOP event types are used for session-based accounting. The EVENT type is used for event based accounting, or to indicate a failed attempt to establish a session.

Event-Based Charging

Event-based charging events are reported through the ACR EVENT message. Example 3-1 shows the basic message flow.

Example 3-1 Message Flow for Event-Based Charging

        CTF (WLSS)           CDF (Server)
            |                     |
            | --- ACR (EVENT) --> |
            |                     |
            |                (Process accounting request)
            |                     |
            | <-- ACA (EVENT) --- |
            |                     |

Session-Based Charging

Session-based charging uses the ACR START, INTERIM, and STOP requests to report usage to the CDF. During a session, the CTF may report multiple ACR INTERIM requests depending on the session lifecycle. Example 3-2 shows the basic message flow.

Example 3-2 Message Flow for Session-Based Charging

        CTF (WLSS)             CDF (Server)
            |                       |
            | --- ACR (START) ----> |
            |                       |
            |                  (Open CDR)
            |                       |
            | <-- ACA (START) ----- |
            |                       |
           ...                     ...
            | --- ACR (INTERIM) --> |
            |                       |
            |                  (Update CDR)
            |                       |
            | <-- ACA (INTERIM) --- |
           ...                     ...
            | --- ACR (STOP) -----> |
            |                       |
            |                  (Close CDR)
            |                       |
            | <-- ACA (STOP) ------ |
            |                       |

Here, ACA START is sent a receipt of a service request by Converged Application Server. ACA INTERIM is typically sent upon expiration of the AII timer. ACA STOP is issued upon request for service termination by Converged Application Server.