
jDiameter: Open Source Enabler for MVNOs, IoT connectivity and eSIM Providers
jDiameter is an open source Java implementation of the Diameter protocol, successor of RADIUS for authentication, authorization, and accounting (AAA) and widely used in core mobile telecom networks as standardized by 3GPP, ETSI, GSMA and IETF. It constitutes the primary signaling protocol for communication between various network elements in LTE (Long-Term Evolution) and IMS (IP Multimedia Subsystem) architectures, such as Home Subscriber Server (HSS), Policy and Charging Rules Function (PCRF), Online Charging System (OCS), etc. Among many functions it is primarily used for subscriber management including access and mobility, bearer and QoS traffic policy assurance, and charging/billing. Diameter remains relevant in non-standalone (NSA) deployments where it connects the 4G Evolved Packet Core (EPC) to the 5G radio access network.
Some value-added platforms for messaging and location-based services also use Diameter for services such as SMS over LTE (SMSC) and geolocation (GMLC). Our jDiameter supports the latest 3GPP versions of these functionalities
The following interfaces (a.k.a. reference points) are supported in our jDiameter upgraded version (listed in alphabetical order):
Cx/Dx (CSCF <=> HSS/SLF for subscription and authentication Data in the IMS; 3GPP TS 29.228 & TS29.229).
Gq (AF <=> PDF for policy control between the Application Function (AF, e.g., P-CSCF) and the Policy Decision Function (PDF); 3GPP 29.209). This is a very old Diameter interface that applies only for GPRS/UMTS and the IMS.
Gx (PCEF <=> PCRF for QoS and policy control in LTEl, ref: 3GPP TS 29.212 & TS 23.203).
Rf (AS <=> OCS for postpaid charging; RFC 4006, 3GPP TS 32.225 & TS 32.299).
Ro (AS <=> OCS for online charging in the IMS/LTE; RFC 4006, 3GPP TS 32.225 & TS 32.299).
Rx (AF <=> PCRF for QoS and policy control in the IMS/LTE; 3GPP TS 23.203 & TS 29.214). This is the “modern” equivalent of Gq but for 4G LTE.
S6a/d (MME/SGSN <=> HSS for subscription and authentication; 3GPP TS 29.272).
S6b (3GPP AAA Server/Proxy <=> PGW for non-3GPP accesses; 3GPP TS 23.402).
S6c (SMSC <=> HSS for routing information and alerting for SMS delivery; 3GPP TS 29.338).
S13/S13′ (EIR <=> MME/SGSN for equipment authorization; 3GPP TS 29.272).
SGd (SMSC <=> MME/SGSN for SMS delivery; 3GPP TS 29.338)
Sh (AS <=> HSS for subscription and authentication data in the IMS; 3GPP TS 29.328 & TS 29.329).
SLg (GMLC <=> MME/SGSN for location services in LTE; 3GPP 29.172).
SLh (GMLC <=> HSS for routing information for location services; 3GPP 29.173).
SWm (3GPP AAA Server/Proxy <=> ePDG for non-3GPP accesses; 3GPP TS 23.402).
Zh (Generic Authentication Architecture (GAA); 3GPP TS 29.109).
jDiameter can also be used in testing and simulation environments, helping teams validate network elements like GMLC or SMSC Diameter interfaces under real conditions. This makes it a practical option not only for production deployments but also for operators and integrators that need to validate interoperability across complex ecosystems.
In conclusion, jDiameter enables operators and integrators building reliable Diameter-based services, speed up testing, and reduce costs, all with the freedom and flexibility of open source.