Java Diameter library


dk.i1.diameter Diameter Messages and AVPs.
dk.i1.diameter.node Diameter node classes.
dk.i1.diameter.session Classes for implementing a session-capable Diameter client.


Java Diameter library

These 3 packages allows you to implement a various kinds of Diameter nodes. Since you are reading this, the documentation assumes that you already have a good idea of what the Diameter protocol is.

Some places in this documentation there are references to RFC3855. If you think the documentation for that method/class is vague then it probably means that there are tricky issues or dependencies, and reading the referenced section in RFC3588 is a good idea.

Where to start in this documentation? This probably depends on what it is that you are implementing. If you are creating a client then a good place to start is SimpleSyncClient or dk.i1.diameter.session. If you are implementing a proxy or back-end server then dk.i1.diameter.node is probably a good place to start.

Some technical details

RFC3588 compliance

In general, most of RFC3588 is supported. IPv4 and IPv6 is supported. TLS encryption is not supported (yet). TCP transport is supported. SCTP transport is supported with the optional package Java SCTP.


The performance is quite good and measured in thousands of messages per second. Your application and hardware will differ, and the best you can do is to run the load test located in examples/load.

Ok, if you really want to know: you should experience about 8000-10000 messages per second on a 1.6GHz Opteron