Description
An Attribute-Value Pair (AVP) is the basic unit of data in the Diameter protocol, which is the successor to RADIUS and a cornerstone of 3GPP's core network signaling. Each AVP is a structured data element comprising several mandatory and optional fields. The core structure includes an AVP Code (a 32-bit identifier that uniquely defines the attribute type), AVP Flags (8 bits indicating properties like vendor-specificity, mandatory handling, and encryption), AVP Length (24 bits specifying the total size of the AVP including header and padding), and the Vendor-ID (optional 32-bit field present if the Vendor-specific bit is set, identifying the organization that defined the AVP). Following these headers is the Data field, which contains the actual value of the attribute; its format and interpretation are defined by the AVP Code and can be of various types such as integers, strings, addresses, or grouped AVPs (which themselves contain other AVPs). Finally, optional padding ensures the AVP aligns on a 32-bit boundary.
AVPs operate within Diameter messages, which are composed of a Diameter header followed by a sequence of AVPs. The Diameter header defines the message type (e.g., request or answer) and command code, while the AVPs carry the specific parameters and data relevant to that command. This modular design allows Diameter to be highly extensible; new functionalities can be introduced by defining new AVPs without altering the core protocol mechanics. In 3GPP networks, AVPs are used extensively in interfaces like S6a (between MME and HSS), Gx (between PCRF and PCEF), and Rx (between AF and PCRF) to exchange critical information such as authentication vectors, policy rules, and charging data.
The handling of AVPs is governed by rules specified in Diameter base protocol (RFC 6733) and 3GPP technical specifications. AVPs can be marked as mandatory (M-bit set), requiring that the receiver must understand and process them; if a mandatory AVP is not understood, the entire message must be rejected. Optional AVPs (M-bit clear) can be ignored if not recognized, allowing for backward compatibility. Vendor-specific AVPs (V-bit set) include a Vendor-ID field, enabling equipment vendors and standards bodies like 3GPP to define proprietary or standardized extensions without namespace conflicts. This flexibility is crucial for supporting diverse network functions and evolving service requirements.
Grouped AVPs are a special type where the Data field contains a sequence of other AVPs, effectively creating nested structures. This allows for complex, hierarchical data modeling, such as representing a subscriber's profile with multiple subscribed QoS parameters or a policy rule with multiple conditions and actions. The encoding of AVP values follows type-specific rules; for example, UTF8String for textual data, Integer32 for numeric values, and Address for IP addresses. This structured yet flexible approach ensures that AVPs can efficiently and reliably transport the wide variety of information needed for authentication, authorization, accounting, policy control, and mobility management in 3GPP networks.
Purpose & Motivation
The AVP structure was created to address the limitations of earlier protocols like RADIUS, which used a less flexible attribute format. RADIUS attributes had a more rigid, fixed-length-centric design and limited extensibility, making it challenging to support new services and complex data structures required by evolving telecommunications networks, particularly with the advent of IP-based multimedia subsystems (IMS) and all-IP core networks in 3GPP. The Diameter protocol, with its AVP foundation, was developed as a more robust, scalable, and feature-rich successor to meet these demands, providing better support for reliable transport, failover, and secure transmission.
AVPs solve the critical problem of how to encode and transport diverse, extensible, and often complex information elements across network interfaces in a standardized manner. They enable the separation of the protocol's command framework (the Diameter message header) from the actual data payload, allowing for independent evolution and customization. This is essential in 3GPP architectures, where different network functions—such as the Home Subscriber Server (HSS), Policy and Charging Rules Function (PCRF), and Application Function (AF)—need to exchange a wide array of parameters, from simple identifiers to intricate policy rules. Without a flexible data structure like AVP, supporting new services, QoS mechanisms, or charging models would require constant, disruptive changes to the underlying protocol.
Historically, the motivation for AVPs stemmed from the need for a future-proof signaling protocol that could accommodate the rapid innovation in mobile services, especially with the transition to 3G and later 4G/LTE. The AVP mechanism allows 3GPP to standardize new attributes in each release (e.g., for network slicing in 5G or IoT optimizations) while maintaining interoperability with existing implementations. By providing a well-defined format with clear rules for mandatory/optional handling and vendor extensions, AVPs ensure that networks can deploy new features without breaking backward compatibility, thereby reducing operational costs and accelerating service deployment.
Detected Changes Across Releases
from 3GPP Change RequestsSpecific changes extracted from the „Change history“ tables of 3GPP specifications (27 CRs across 5 releases). Complements the general historical overview above with the evidence-based evolution of this function.
- Updates to 3GPP-User-Location-Info AVP TS 29.214CR1616
- Add Diameter AVP for charging of WLAN-based ProSe direct discovery TS 32.299CR0796
- Introduction of AVP for Overload Control TS 32.299CR0812
- Introduction of overload AVP description TS 32.299CR0813
- PoC-Server-Role AVP extension for OMA CPM Charging TS 32.299CR0793
- Correction on Codec-Data AVP TS 29.214CR1602
+ 15 more changes
Explore further
Broader topics and technologies where AVP plays a role.
Defining Specifications
3GPP specifications that define or reference AVP, with the latest known release. Sourced from the 3GPP document catalog — see methodology.
| Specification | Title | Release |
|---|---|---|
| TS 24.229 vk00 | IMS Call Control Protocol based on SIP | Rel-20 |
| TS 24.802 vc10 | IMS II-NNI Traversal Scenario Determination Study | Rel-12 |
| TS 26.142 vj00 | 3GPP TS 26.142: Dynamic and Interactive Multimedia Scenes (DIMS) | Rel-19 |
| TS 26.179 vj00 | Codecs and Media Handling for MCPTT | Rel-19 |
| TR 26.924 vj00 | MTSI QoS Improvement Study | Rel-19 |
| TR 26.938 vj00 | DASH Deployment Guidelines for 3GPP Networks | Rel-19 |
| TS 29.173 vj00 | Diameter-based SLh Interface for LCS | Rel-19 |
| TS 29.213 vj30 | PCC Procedures and Flows | Rel-19 |
| TS 29.214 vj30 | Rx Reference Point Stage 3 Specification | Rel-19 |
| TS 29.215 vj00 | S9 Reference Point Stage 3 Specification | Rel-19 |
| TS 29.228 vj20 | Cx and Dx Interface Signaling Flows | Rel-19 |
| TS 29.229 vj10 | Diameter Protocol for Cx/Dx Interfaces | Rel-19 |
| TS 29.234 vb20 | WLAN-3GPP Interworking Stage-3 Protocol | Rel-11 |
| TS 29.272 vj50 | EPS Diameter Interfaces MME/SGSN-HSS/EIR | Rel-19 |
| TS 29.329 vj10 | Diameter Protocol for Sh Interface | Rel-19 |
| TS 29.336 vk00 | Diameter-based Interfaces for MTC and Packet Data Networks | Rel-20 |
| TS 29.337 vj00 | Diameter T4 Interface for MTC Device Triggering | Rel-19 |
| TS 29.343 vj00 | PC2 Reference Point Stage 3 Specification | Rel-19 |
| TS 29.368 vj00 | Tsp Reference Point Stage 3 Specification | Rel-19 |
| TS 29.414 vj00 | Nb Interface Bearer Transport & Control Protocols | Rel-19 |
| TS 29.433 v1811 | ETSI TISPAN Endorsement of 3GPP Cx/Dx Interfaces | Rel-8 |
| TS 29.468 vj00 | MB2 Reference Point Protocol Definition | Rel-19 |
| TS 29.806 vc10 | P-CSCF Restoration Analysis & Solutions | Rel-12 |
| TS 29.816 va00 | PCRF Failure & Restoration Study | Rel-10 |
| TS 29.819 vd00 | Diameter Base Protocol Update Analysis | Rel-13 |
| TS 29.827 vg00 | Policy and Charging for Volume Based Charging | Rel-16 |
| TS 29.866 vj00 | IMS Disaster Prevention & Restoration Enhancement | Rel-19 |
| TS 32.260 vk00 | IMS Charging Description and Management | Rel-20 |
| TS 32.270 vj00 | MMS Charging Management Specification | Rel-19 |
| TS 32.271 vj20 | 3GPP LCS Charging Management Spec | Rel-19 |
| TS 32.272 vj00 | Charging for Push-to-Talk over Cellular (PoC) | Rel-19 |
| TS 32.273 vj00 | MBMS Charging Management | Rel-19 |
| TS 32.277 vj20 | Charging Management for Proximity Services (ProSe) | Rel-19 |
| TS 32.278 vj00 | Monitoring Events Offline Charging Specification | Rel-19 |
| TS 32.299 vj00 | Diameter Charging Applications for 3GPP | Rel-19 |
| TS 32.808 v1800 | Common User Profile Storage Framework | Rel-8 |
| TS 32.843 vd00 | PS Domain Online Charging in Roaming | Rel-13 |
| TS 32.869 vf00 | Diameter Overload Control for Charging Interfaces | Rel-15 |
| TS 32.870 vf00 | Study on 3GPP Charging Forward Compatibility | Rel-15 |
| TR 33.978 v1800 | Interim Security for Early IMS | Rel-8 |