The Open Source SLEE and SIP Server

Mobicents Diameter / Introduction


Diameter is an Authentication, Authorization and Accounting (AAA) protocol, specified by the IETF to overcome several limitations from the dial-up access designed RADIUS (Remote Authentication Dial In User Service) protocol, satisfying the ever-growing requirements of network applications.

Diameter has been widely adopted by 3GPP (3rd Generation Partnership Project) and 3GPP2 to provide AAA in IMS (IP Multimedia Subsystem) by the means of specific application extensions.

Mobicents Diameter provides an open source Diameter implementation, implementing the Base Protocol as well as some of the most important and widely used applications, allowing a fast development of IMS components, such as Application Server (AS), Home Subscriber Server (HSS), Call Session Control Function (CSCF), Subscriber Location Function (SLF), etc. It is easily extensible to provide support for new applications, be them 3GPP specified or any vendor custom application.

The source code license is LGPL. You can learn more about the license here.

Supported Diameter Applications

The following Diameter Applications (Client and Server) are currently supported in Mobicents Diameter solution:

  • Diameter Base (IETF RFC 3588)
  • Diameter Credit-Control Application (IETF RFC 4006)
  • IMS Sh Interface (3GPP TS 29.328 and 3GPP TS 29.329)
  • IMS Rf Interface (3GPP TS 32.225 and 3GPP TS 32.299)
  • IMS Ro Interface (3GPP TS 32.225 and 3GPP TS 32.299)
  • IMS Cx Interface (3GPP TS 29.228 and 3GPP TS 29.229)
  • IMS Dx Interface (3GPP TS 29.228 and 3GPP TS 29.229)
Find more info about the supported applications in the Diameter Applications Overview section.

Mobicents Diameter Features

Besides the basic Diameter features, Mobicents solution provides the following features:

  • High-Availability/Fault-Tolerance support both at stack level and at Mobicents JAIN SLEE Resource Adaptors. Learn more about the architecture on the High-Availability/Fault-Tolerance Overview section.
  • Statistics generation, to enable monitoring of the Diameter stack, know it's average load, number of received requests, processing time per request, etc.;
  • Overload Monitor, configurable per Diameter application, allowing the stack to reject new requests when overloaded;
  • Simple XML Configuration through one XML file, the whole stack (own peer, realms, peers, timeout parameters, etc.) can be configured;
  • Management facilities, allowing to remotely manage and monitor the stack by the standard JMX (Java Management Extensions) API and also though an GUI provided by a plugin to be used in the RHQ/JON management interface;
  • Message Validation both for incoming and outgoing messages, with configurable depth;
  • Extension Points allowing quickly to test custom implementations for several core functions, such as load-balancing, replicated datasources, etc;
  • Easily extendable and customizable Diameter Applications by adding new AVP definitions and state machine behaviors

Mobicents Diameter Integration

Mobicents Diameter contains a stack wrapper, called Multiplexer (MUX) allowing several applications to share the same stack instance. The Diameter MUX is compatible with and runs on top of JBoss AS 4.x and JBoss AS 5.x. Please find the different versions in the Downloads section.

Mobicents Diameter solution integrates easily both with Mobicents JAIN SLEE Container, by providing JAIN SLEE 1.0 and 1.1 compatible Resource adaptors for all the above mentioned applications, and with Mobicents SIP Servlets, providing similar demonstration examples for both platforms. You can learn more about them in the Examples section.