MARBEN DiamX Stacks
3GPP based all AAA (Authentication, Authorization and Accounting) interactions of the IMS control plane on Diameter protocol. Each new release of 3GPP IMS further extends the use of Diameter. Other telecom standardization bodies like 3GPP2, MSF, CableLabs also selected it for their NGN architecture.
With support of more than 50 Diameter interfaces specified by IETF, 3GPP and ETSI/TISPAN, MARBEN Diameter accelerates the development of Evolved Packet Core (EPC) components like CSCF, HSS, SLF, Mobility Manager Entity (MME), AAA server, Application Server (AS), Session Border Controller (SBC), Service Policy Decision Function (SPDF) and Online Charging Server (OCS) and the development of Diameter In Between boxes such as Diameter routing Agent (DRA), Diameter Edge Agent( DEA) and InterWorking Function (IWF).
MARBEN DiamX Stacks consists of two products:
- MARBEN C++ Diameter Stack (MDS), a Diameter stack written in C++;
- MARBEN Java Diameter Stack (MJDS), a Diameter stack implemented in native Java.
They are optimized to perfectly integrate and fully take advantage of C++ and Java environments. These products offer the same level of functionality. Their Diameter interface coverage and their availability in the two most widely used languages in the telecom software arena enables Marben Products to answer any market requirements.
The speed at which the IMS Market is advancing and growing, means time-to-market is a key issue for new products and services. DiamX Stacks allow IMS hardware and software providers to shrink development time, focus on service-oriented and value-adding functionalities for their products, and develop attractive marketing strategies to ensure acceptance in the commercial marketplace.
- Openness: MARBEN DiamX Stacks keep Diameter IETF standard openness and extensibility by allowing dynamic extension of Diameter applications commands and AVP sets as well as the development of new Diameter applications on top of the Diameter base protocol.
- Performance: : MARBEN DiamX Stacks have been designed to handle high-levels of traffic as would be expected from equipment like HSS or Online Charging Servers. It can take advantage of multiprocessor systems to scale up with traffic requirements.
- Flexibility: designed after the principles of the JAIN APIs (like JAIN SIP), MARBEN Diameter C++ and Java APIs use concepts and logic well known among NGN software developers. That makes them fast and easy to learn and integrate. MARBEN DiamX Stacks APIs give developers a fine grain of control over Diameter by offering them access to Diameter protocol messages. Customized authentication or charging policy can be implemented and directly driven by the service logic.
- Carrier grade and security: MARBEN DiamX Stacks extend intrinsic Diameter protocol reliability mechanisms by supporting an active/standby High Availability (HA) mode of operation. It can also secure AAA data transmission with TLS and IPsec.
- Standard Compliance: Marben is committed to deliver standards-compliant telecom protocol stacks. Diameter undergone strong compliance testing, interoperability testing and benefits from field experience which ensure customers seamless operation in their network.
MARBEN DiamX Stacks are packaged as libraries to be embedded into customer's IMS software. They share the same design concepts and provide the identical level of functionality as described hereafter.
The core of the Diameter products is a robust and high performance implementation of the Diameter base protocol (RFC 3588).
DiamX Stacks include the following features:
- Peer transport connection management with failover/failback algorithms;
- Complete relay, proxy and redirect functions based on priority realm routing;
- Stateless and stateful session management;
- Description of Diameter application commands in XML dictionary. This dictionary is dynamically loadable and extendable to allow service developers to adapt AVP set to specific constraints or requirements;
- Support of all types of transport required by RFC 3588: TCP and SCTP, with or without TLS and IPsec;
- Trace and log with several levels of details that are adjustable dynamically;
- APIs for provisioning of stack parameters (peer, realm, routing tables, ...), and collection of statistics of operation using mbeans and SNMP;
- Safeguards for stack sensitive data during processing that allow operation in active/standby High Availability mode. This feature is built on a context preservation API that can be mapped on customer's own HA framework.
MARBEN DiamX Stacks interfaces
On top of a full-featured Diameter Base Protocol, MARBEN DiamX Stacks implement more than 50 Diameter interfaces:
CCA, NAS, EAP, Sh/Dh, Cx/Dx, Rf, Ro, Ph, Px, Tx, Zh/Zh'/Dz, Zn, S6a/S6d, S6c, S6b/H2, S7a, S7d, S9, S13/S13', SGd, Sgi, SLg, SLh, Gi, Gy, Gx, Gxx, Sd/Sy, Rx, Gq, Gq', e2, e4, SWa, SWd, SWm, SWx, Zpn, STa, SCAP for the main ones that cover requirements from IETF, 3GPP, 3GPP2, TISPAN and Ericsson, thus making them the most comprehensive Diameter implementations of the market.
Access to the services of these Diameter applications is provided through a set of APIs designed for rapid development and flexibility consisting of:
- High-level object-oriented JAIN-like APIs that allow the building of a Diameter client or server by instantiating a handful of objects;
- Specialized API for each Diameter application facilitating access to the services;
- Design and abstraction levels are similar across the different APIs making it easy to learn new ones and to mix them in the same application;
- Primitives for building and parsing the sequence of AVPs in Diameter messages. Parsing is driven by the Diameter command syntax description stored in the XML dictionary and brings adaptability and openness to applications.
Use Case 1: This Network Splitting use case describes how to conceal Local Identity behind firewall. In this use case, server uses firewall identity(Realm = FirewallRealm, Host = FirewallHost, IP = 192.168.15.19) while communicating with the client thus hiding its own identity behind firewall.
Stack acting as Server And Local Identity is attached to the Listening Point
Use Case 2: This Diameter Routing Message Priority(DRMP) use case describes how messages can be prioritized using DRMP values. In this use case, when server receives two different messages with different priorities simultaneously, the message with highest priority(DRMP=2) is processed first.
DRMP feature enabled on Client and Server