Diameter Signaling Stack is a very high-performance, scalable, reliable carrier-grade platform that can be used to build 3G and 4G core network elements. The platform supports the most popular Diameter interfaces used by EPC, IMS, and MMD. The platform supports the Diameter Relay, Proxy, and Redirect agents allowing the developer to build Diameter-based network elements and applications.
Designed for high performance
Distributed and Library Modes
Supports IMS and LTE domains
Compliant with the latest RFCs
The Diameter protocol and applications are specified with commands or messages. Each command contains a set of Attribute Value Pairs (AVP). The Diameter stack implementation provides a user-friendly API that classes for each command, AVPs, and complex types. Simple Set, Get, and Print methods are provided to enable access to the AVPs.
This interface provides a type-safe programming approach. Cumbersome searching within a command to retrieve the elements and the arduous task of encoding tags are entirely abstracted from the developer. This results in clean and easy-to-use code.
The API also provides a flexible mechanism to support known vendor-specific extensions in this uniform format. Any unknown extensions received during runtime can be passed to the application for inspection and action. The API presents a uniform signature for all interfaces. For example, an application can use Sh and Rf interfaces seamlessly.
Distributed Server Mode
The Distributed Server Mode Package provides a single point of Diameter access to a set of distributed clients. The clients may be implemented as multiple processes, nodes, or combinations. The application clients communicate with the Diameter front-end server via an IP socket-based interface.
The Diameter Stack front-end server provides a highly available 1+1 active-standby redundancy mechanism that synchronizes session and state information to enable recovery in the event of a failure. The front-end server provides a health monitor process to help with switchovers.
For compact architectures based on a single process, the linkable library mode provides a seamless approach whereby the process can harness the features of the Diameter implementation in a multi-threaded model. Diameter Stack runs in its thread of execution, providing support for all parts of capabilities exchange, watchdog, peer, and session control.
The Diameter Stack also provides a multi-threaded dispatch and receive mechanism for communicating with the application worker threads. The Accelero platform extends a complete process infrastructure environment that can accelerate new application development. Library mode also supports Active/Hot Standby redundant operation.
Diameter Stack - Supported Interfaces & Versions
Diameter Stack supports the following interfaces and versions. Any future requirements for new interfaces can be easily integrated with the stack.
The diameter stack is compliant with multiple RFCs. The major RFCs and their compliant entities include:
Diameter stack clients and servers support TCP and SCTP. IPV4 and IPV6 protocols are supported as well
TLS and DTLS protects the connections between Diameter peers for TCP and SCTP, respectively.
Stack supports all three routing mechanisms specified in RFC. By default, Request Routing is chosen. The Diameter peer table is used in message forwarding and is referenced by the routing table. All Realm-based routing lookups are performed against the routing table. Each peer table and routing table entries contain the required fields.
Diameter Stack supports different AVP types such as Grouped, IP filter etc.
Peer Connections and Discovery
Connections between diameter peers are established using their valid DiameterIdentity. Allowing for dynamic Diameter agent discovery makes seamless deployment of Diameter services possible. The following mechanisms (manual configuration and DNS – the dynamic discovery of peer) are provided to promote interoperable implementations of Diameter peer discovery.
Error Handling & Error Codes
Diameter has two types of errors: protocol and application. There are predefined codes for protocol errors.
The Diameter stack is designed to be extensible, using several mechanisms, including: Defining new AVP values, creating new AVPs and creating new commands.
Diameter Stack provides static and dynamic configuration of peers and realms for the client and server.
The diameter protocol application is used for AAA in the Network Access Server (NAS) environment. The Diameter NAS application specification satisfies its related requirements [Commands like AAR, AAA, RAR, STR, ASR etc.]. Interaction with NAS is a starting point of communication in the network where the user is authenticated and authorised. Accounting is also started if required (ACR/ACA).
Diameter Credit Control Application (DCCA) deals with accurate time credit control handling and definition of respective messages and AVPs for the same.
Stack supports Diameter applications that can implement real-time credit control for various end-user services such as network access, Session Initiation Protocol (SIP), messaging, and download services. It provides a general solution to real-time cost and credit control.
The usage of IPV6 addresses of different scopes is supported. Internet Protocol version 6 includes support for addresses of varying scope, both global and non-global addresses
The Diameter Stack complies with Nagle Algorithm and Watchdog behaviour as specified in the RFC.
Diameter Stack supports Capabilities Update Application.
It is a procedure to dynamically update the capabilities of an Application (Client/Server). An application that wants to use this feature MUST advertise Application-Id 10 in CER/CEA message. An application that will send Capabilities-Update-Request shall send all the Application-Ids currently supported on an established connection.