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 (40 CRs across 5 releases). Complements the general historical overview above with the evidence-based evolution of this function.
Studied in Rel-8, normative work from Rel-15.
In Release 15, the AVP function was extended to support new capabilities including overload control, charging for WLAN-based ProSe direct discovery, and updates for OMA CPM charging via the PoC-Server-Role AVP. It also introduced corrections and updates to existing AVPs for parameters such as the Radio-Frequency in MBMS, the subscribed eDRX value, and the Homogenous-Support-of-IMS-Voice-Over-PS-Sessions. Furthermore, specific value ranges were extended for QoS, secondary RAT type, AMBR, and the Broadcast-Location-Assistance-Data-Types AVP.
- Extension of QoS values TS 29.213CR0718
- Extension of QoS values. TS 29.214CR1580
- Updates to 3GPP-User-Location-Info AVP TS 29.214CR1616
- Extension of QoS values TS 29.215CR0419
- Add Diameter AVP for charging of WLAN-based ProSe direct discovery TS 32.299CR0796
- Introduction of AVP for Overload Control TS 32.299CR0812
+ 22 more changes
In Release 16, the AVP function was updated to address missing protocol code-point values. It was also enhanced to include support for the IMEISV (International Mobile Equipment Identity and Software Version number) and 5G SRVCC (Single Radio Voice Call Continuity) Capability within the Data Reference AVP.
In Release 17, the AVP function was updated to support a hash value for an alternate SIP Digest algorithm and to allocate a value to the FAILED_QOS_UPDATE AVP. Additionally, corrections were made to the Address-Type AVP and to an invalid value for the 3GPP-User-Location-Info AVP.
- Support of the hash value for alternate SIP Digest algorithm TS 29.228CR0699
- Support of the hash value for alternate SIP Digest algorithm TS 29.229CR0301
- Allocate the value to FAILED_QOS_UPDATE TS 29.214CR1678
- Rel-17 CR 32.299 Correction of Address-Type AVP TS 32.299CR0827
- Correction of an invalid 3GPP-User-Location-Info value TS 29.214CR1669
In Release 18, the AVP (Attribute-Value Pair) function was updated to improve format handling for the 3GPP-User-Location-Info AVP. Additionally, enumerative (ENUM) value definitions were aligned across the system to ensure consistency. These changes enhanced the robustness and interoperability of data exchange within the network.
In Release 19, the AVP function was updated to add a new value for the Data-Reference AVP to support IMS Application Server registration to the HSS. Furthermore, corrections were made to the description of the Supported-Services AVP and the RIR command, and a correction was applied to the code of the Include-Identifiers AVP.
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 vj50 | IMS call control protocol based on SIP and SDP | Rel-19 |
| 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 vj20 | PCC Signalling Flows and QoS Mapping | Rel-19 |
| TS 29.214 vj20 | Policy and Charging Control over Rx | 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 vj40 | Diameter Interfaces for MME/SGSN | Rel-19 |
| TS 29.329 vj10 | Diameter Protocol for Sh Interface | Rel-19 |
| TS 29.336 vj10 | HSS Diameter Interfaces for PDN Interworking | Rel-19 |
| 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 vj10 | IMS Charging Management | Rel-19 |
| 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 |