Introduction to Diameter Protocol

Introduction to Diameter Protocol

What is Diameter Protocol?

Well, your ISP uses the standard Authentication, Authorization, and Accounting (AAA) before allowing you to connect to the network by using their services. So what is AAA and how does it affects you as a network user? AAA is simply a process inside an application that filters information before granting any access. It is where applications are based in order to provide a secure and reliable output. This is where RADUIS gateway takes place. There are plenty of AAA applications that we are using right now. This includes the one used when connecting for a wireless network and on some mobile phone features.

Remote Authentication Dial In User Service (RADUIS) was an older protocol used in implementing AAA standards. The protocol was also named as radius gateway for a clearer and easy to remember term. Despite its popularity and availability, radius gateway had some complications and limitations that need to be addressed. Applications relying on radius gateway were immensely limited to performing a more secured and reliable process. Thus, it gave birth to a new form of protocol called DIAMETER widely used in modern applications. The name is a pun on the RADIUS protocol, which is the predecessor (a diameter is twice the radius).

Diameter protocol came as a result of developments to eliminate limitations with the radius gateway. It serves similar purpose in AAA applications however, advanced processes and operations were added to the protocol to make it reliable. This included the addition of attribute value pairs (AVPs) and error notification which was not present on older protocols. Diameter is not directly backwards compatible, but provides an upgrade path for RADIUS. As a result, older applications designed to run on older protocols including those that were designed in conformity to radius gateway had to adapt the changes brought by the newer diameter protocol. Necessary steps were done on most application to have it run with diameter protocol, without changing the entire structure of these applications.

The design of the diameter protocol was initiated by the 3rd Generation Partnership Project (3GPP) to be used for their IP Multimedia Subsystem (IMS). By using the diameter protocol, applications are able to support interfaces such as Cx, Dh, Dx, Rf, Ro, and Sh. The Diameter protocol uses a binary header format and is capable of transporting a range of data units called AVPs. The Diameter base protocol specifies the delivery mechanisms, capability negotiation, error handling, accounting and extensibility of the protocol, whereas individual Diameter applications specify service-specific functions and AVPs.

The SailFin project is going to support Diameter protocol(Sh, Ro and Rf Interface) as the standard.

Acronyms and Main concepts

3GPP - Acronym for the 3rd Generation Partnership Project. 3GPP is a user and definer of Diameter protocols as applied to 3rd Generation Wireless Networks and the IMS.

AAA - Acronym for Authentication, Authorization, and Accounting.

Accounting - The act of collecting information on resource usage for the purpose of capacity planning, auditing, billing, or cost allocation. Diameter provides an accounting capability.

Authentication - The act of verifying the identity of an entity. Diameter provides an authentication capability.

Authorization - The act of determining whether a requesting entity will be allowed access to a resource. Diameter provides an authorization capability.

RADIUS - Acronym for Remote Authentication Dial In User Service. RADIUS is a type of AAA protocol.

Diameter - A base foundation protocol that provides transfer of Diameter messages, negotiation capabilities, routing capabilities, error handling. Diameter is a type of AAA protocol.

AVP - Acronym for Attribute Value Pair. The Diameter protocol consists of a header followed by one or more Attribute Value Pairs (AVPs). An AVP includes a header and is used to encapsulate protocol-specific data (as well as AAA information).

AVP-Code - A field in the header of a Diameter AVP that uniquely identifies the object attribute. Standardized AVP-Codes are maintained by the IANA.

IANA - Acronym for the Internet Assigned Number Authority.

IMS - Acronym for the Internet Protocol Multimedia Subsystem. Through the efforts of the 3GPP, it is one of the first functional subsystems that is a user and definer of the Diameter protocol and extensions.

TCP - Acronym for Transmission Control Protocol. A reliable transport layer protocol used for the exchange of Diameter protocols.

Rf Interface - A Diameter-based interface defined in the IMS that is used for Offline Billing functions.

Ro Interface - A Diameter-based interface defined in the IMS that is used for Online Billing functions.

Sh Interface - A Diameter-based interface defined in the IMS that is used for service layer-based AAA functions. The Sh interface allows for Download and update of transparent and non-transparent user data and Request and send notifications on changes in the user data.

Cx/Dx Interface - A Diameter-based interface defined in the IMS that is used for AAA functions.

Dh Interface - A Diameter-based interface defined in the IMS that is used for service layer AAA functions.


Is SailFin going to support all the Diameter interfaces or only a subset? Is there a priority and timeline for inclusion?

Posted by Wayne Abbott on March 20, 2009 at 01:04 PM IST #

I believe there is already J2EE Diameter available, with all the interfaces for Sailfin- OpenBloX Diameter

see this link for more info


Posted by Chris Moore on June 10, 2009 at 05:49 PM IST #

intertsting post.
We use the OpenBloX Diameter with sailfin also and its a pretty good solution. However not completly open source and free as Sailfin is.


Posted by John Watt on June 27, 2009 at 03:06 AM IST #

Chris, John just saw your comments.
We've also been working with openblox diameter stack from Traffix over sailfin for the last few months, pretty good solution, we were impressed from the interoperability & performance. we felt there are some features we wanted and were not there, but overall very good product.

Posted by Raj Patel on July 24, 2009 at 02:06 AM IST #

good document

Posted by guest on February 02, 2010 at 04:29 AM IST #


Great post.

Just a minor comment it is RADIUS and not (RADUIS).

You can remove the post after fixing it, if you wanted.


Posted by Márcio on March 15, 2010 at 05:35 PM IST #


Posted by guest on January 23, 2011 at 02:42 PM IST #

Post a Comment:
  • HTML Syntax: NOT allowed



« July 2016