

TOP middleware supports all protocols of the Telecom Orchestration Platform, including the Computaris Diameter-J Protocol Stack which is a robust, efficient, and flexible, 100% Java implementation of the telecom standard protocols RFC 3588 (Diameter Base protocol), RFC 3539 (AAA transport profile), and RFC 4006 (Diameter Credit-Control Application). Design features include support for local validation of messages, pluggable encoding and decoding rules for opaque AVPs, active and passive both client and server flows, and JMX compliance. Connection to the Diameter peer state machine, decoding policies and even the threading model are designed as pluggable features to give maximum flexibility to the application designer. Applications can be built on top of the Diameter J-stack using Computaris highly functional and documented Diameter Java APIs.
Diameter-J Base Protocol API (RFC 3588 and 3539)
Using the Diameter-J Stack application engineers can create telecom solutions compliant with the Diameter base protocol standard RFC 3588 to configure and secure telecom applications with authentication, authorization and accounting (AAA) functionality. The stack supports all Diameter peer state machine messages including CER/CEA, STR/STA, DPR/DPA, and DWR/DWA, in addition to all types of Diameter AVPs and the corresponding encoding and decoding rules. Moreover, the Diameter-J Stack allows users to define customized Diameter messages and AVPs by choosing from a multitude of predefined data types. To protect and secure Diameter connections Diameter-J supports the Transport Layer Security (TLS) protocol according RFC 2246. For establishing reliable Diameter peer-to-peer connections Diameter-J Stack integrates the Transmission Control Protocol (TCP) complying with the RFC 793 standard and the transport failure algorithm AAATRANS as defined in RFC 3539.
Diameter-J DCCA API (RFC 4006)
Diameter-J Stack enables credit-control solutions based on the Diameter Credit-Control Application as described in RFC 4006. The stack provides definitions of all defined AVPs in addition to extra utility methods for creation of CCR/CCA messages, and implements the credit-control state machine for the creation of DCCA sessions. Using Diameter-J DCCA telecom applications can be provided with real-time credit-control and credit-authorization functionality to rate the cost of using a service and to check and charge a subscriber’s account prior to granting usage of the requested service.
Building Applications
Application Examples
Diameter-J Stack can be used to integrate Diameter functionality both in client side as well as server side applications. The Stack comes with several Java and XML source code examples simulating some typical Diameter applications such as synchronous and asynchronous Diameter servers, and synchronous and asynchronous Diameter clients.
Statistics
Diameter-J incorporates the logic to periodically print credit-control statistics by pushing special statistics filters onto connections to continuously monitor and log all incoming and outgoing Diameter traffic. For each filtered connection statistics are written to and stored in an external file.
Diameter-J API and DCCA Layer API
On top of the Diameter-J Stack the user can build applications using the methods, components, objects and elements provided by the Diameter-Java API. The DCCA layer API provides utility components for creation of DCCA sessions based on the DCCA State Machine, definition of CCR and CCA messages, usage of DCCA AVPs as defined in RFC 4006, manipulations on data contained in the DCCA AVPs, and special utility listeners to provide applications with a DCCA notification interface. The APIs are comprehensively documented.
Configuration
The configuration of Diameter-J Stack, including its default setup, supported messages, message types and AVPs, are defined as XML enabling users to easily manage applications by manipulating XML data. The Diameter-J Stack supports all data types as defined in the Diameter base protocol standard RFC 3588. From these data types the user can custom-define any and as many AVPs as necessary for building an application. Diameter-J manages messages as separate XML template files, each file comprising a header and a list of supported AVPs. New messages, message types and AVPs can be added in the form of XML to the Diameter-J configuration file. Diameter-J uses Java logging API to provide Diameter applications with logging functionality of which the configuration can be managed from a dedicated XML-based properties file.
Testing Applications
Diameter applications can be comprehensively tested using Computaris TOP Testing Suite. For more information read Computaris TOP Testing Suite product pages.