Glossary term · Protocol

AVP

Attribute-Value Pair

Protocol →

AVP is a fundamental data structure in Diameter protocols, consisting of an attribute header and a value field, used to flexibly encode and transport signaling information like subscriber identities or QoS settings.

Introduced
Rel-8
Specifications
40 specs
Category
Protocol
Introduced
Rel-8
Specifications
40 specs
AVP Description Purpose Detected Changes Specifications

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 Requests

Specific 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.

Rel-15 21 changes
  • 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

Rel-16 1 change
  • IMEISV and 5G SRVCC Capability missing in Data Reference AVP TS 29.329CR0354
Rel-17 1 change
  • Rel-17 CR 32.299 Correction of Address-Type AVP TS 32.299CR0827
Rel-18 1 change
  • Format handling for 3GPP-User-Location-Info AVP TS 29.214CR1682
Rel-19 3 changes
  • Add new value of Data-Reference AVP to support IMS AS registration to HSS TS 29.329CR0255
  • Correction on the descripton of Supported-Services AVP and RIR command TS 29.336CR0192
  • Correction to the code of Include-Identifiers AVP TS 29.336

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.

SpecificationTitleRelease
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