Description
The Single Association Object (SAO) is a fundamental construct within the 3GPP Diameter protocol framework, specifically defined for the Rx and Gx reference points. It serves as a standardized container or Protocol Data Unit (PDU) for transmitting a complete Diameter transaction. An SAO encapsulates exactly one Diameter command (or message) along with all its mandatory and optional Attribute-Value Pairs (AVPs). This encapsulation provides a well-defined structure that ensures interoperability between different vendor implementations of network functions like the Policy and Charging Rules Function (PCRF), the Application Function (AF), and the Policy and Charging Enforcement Function (PCEF).
The operation of an SAO is intrinsically linked to the Diameter base protocol (RFC 6733). When an application layer entity, such as an AF needing to signal service information, generates a Diameter request (e.g., an AA-Request), it constructs the message with the appropriate command code and AVPs. This complete message is then formatted as an SAO for transmission over the Rx interface. The receiving Diameter peer, typically the PCRF, decodes the SAO, validates its structure and content against the 3GPP specifications, and processes the contained command. The corresponding answer (e.g., an AA-Answer) is also sent back as an SAO.
Key components of the SAO concept include the Diameter Header, which contains the command code and flags, and the sequence of AVPs that carry the actual session and policy information, such as the Subscription-Id, Media-Component-Description, or QoS-Information. The SAO's role is to be the atomic unit of exchange for policy and charging control signaling. Its standardized format guarantees that complex multi-AVP messages are consistently serialized and deserialized across the network, enabling precise control over bearer-level QoS, gating, and charging rules based on application-layer session requirements.
Purpose & Motivation
The SAO was created to provide a robust, unambiguous, and standardized messaging container for the Diameter-based policy and charging control (PCC) architecture introduced in 3GPP Release 7. Prior to PCC, policy control mechanisms were more fragmented and less dynamic. The introduction of the Rx and Gx interfaces required a reliable method for application functions (like P-CSCF for IMS) to communicate session details to the centralized policy decision point (PCRF).
The SAO solves the problem of inconsistent message formatting and parsing between network elements from different manufacturers. By defining a single, atomic object that contains a complete Diameter transaction, 3GPP ensured that all implementations would handle messages identically, from the byte-level encoding of AVPs to the sequencing of commands. This interoperability was critical for the commercial deployment of IMS and other advanced services reliant on dynamic policy control.
Historically, the motivation stemmed from the need to move beyond static, pre-configured QoS towards dynamic, session-aware policy. The SAO, as the carrier for these dynamic session parameters, enabled the PCRF to make informed, real-time decisions. It addressed limitations of earlier approaches by providing a formalized, specification-mandated structure that reduced integration errors and accelerated the deployment of combined policy and charging functionalities across mobile broadband networks.
Key Features
- Encapsulates a single, complete Diameter command and its associated AVPs.
- Standardized format for the Rx (AF-PCRF) and Gx (PCRF-PCEF) reference points.
- Ensures interoperability between multi-vendor Policy and Charging Control (PCC) network functions.
- Supports the transport of complex session parameters for dynamic policy decisions.
- Facilitates reliable and unambiguous parsing of Diameter messages by receiving entities.
- Serves as the atomic Protocol Data Unit (PDU) for PCC-related Diameter signaling.
Evolution Across Releases
Introduced as the standardized container for Diameter messages on the Rx interface within the Policy and Charging Control (PCC) architecture. It defined the fundamental structure for carrying AA-Request and AA-Answer commands between the Application Function (AF) and the Policy and Charging Rules Function (PCRF) to enable dynamic service-based policy control.
Defining Specifications
| Specification | Title |
|---|---|
| TS 26.906 | 3GPP TS 26.906 |
| TS 26.948 | 3GPP TS 26.948 |
| TS 29.078 | 3GPP TS 29.078 |