freeDiameter, the open source Diameter protocol implementation. freeDiameter provides an extensible platform for deploying a Diameter network for your Authentication,Authorization and Accounting needs, whether you are involved in research or a network operator.
About freeDiameter
freeDiameter is a implementation of the Diameter protocol specified in RFC3588. Diameter is a protocol for carrying Authentication, Authorization and Accounting information. It is an evolution of the widely-deployed RADIUS protocol. freeDiameter also implements the changes to the Diameter protocol introduced by the rfc3588bis Internet Draft (work in progress).
freeDiameter is open-source and released under a BSD compatible license. It is mainly written in the C language, which provides excellent performance and small memory footprint.
For additional detail about freeDiameter, please refer to its README file, as well as the Wiki.
If you require assistance with freeDiameter, please refer to these instructions.
You are of course welcome to contribute to this wiki and implementation. Please contact dev@freediameter.net for getting you started.
Features
The freeDiameter framework supports the following features:
- Full support for the Diameter Base Protocol defined in RFC 3588 and rfc3588bis, including:
- Native IP/IPv6 and TCP/SCTP support.
- TLS support (mixed port or separate ports), even for SCTP (in RFC 3436 flavour, DTLS is not supported yet, see 19)
- Diameter failover and failback mechanisms
- Diameter routing loops detection and avoidance
- Base Accounting support is provided by the app_acct.fdx extension.
- Messages relaying is natively supported.
- Diameter Redirects are supported through rt_redirect.fdx? and app_redirect.fdx? extensions.
- Diameter EAP server (RFC 4072) support is provided by app_diameap.fdx.
- Diameter SIP (RFC 4740) support comes with app_sip.fdx.
- RADIUS/Diameter translation of NASREQ (RFC 4005), EAP (RFC 4072), and SIP (RFC 4740) messages is provided by app_radgw.fdx.