Python Diameter Library

Python Diameter Library


This page describes a Python Diameter (see RFC 3588) API/stack that I made.

This implementation of the Diameter protocol is written in Python (2.4). It is based on RFC 3588. There are examples for using something on top of the Diameter stack such as CCR/CCA messages. The library itself is unaware of the specific diameter applications using it. With this diameter library you can potentially implement NASREQ (RFC 4005), EAP-based authentication (RFC 4072), SIP (currently draft, focusing on VoIP and multimedia) or even some of the 3GPP applications.

Background

After I made the Java Diameter library I wondered if Python would be suitable for network-close code, and how it actually performs. I also wanted to learn to code in Python, so I re-did the Diameter stack in Python. Most of the concepts and structured are the same as the java version, but with slightly different naming to make it feel like Python and not Java.

Documentation

You can browse the complete documentation for the Python Diameter API.

Download

You can get the sources by going here.

Ok, how does it compare to the Java version?

Difficult to say. It is slower than the Java version. It did not take as long to write. For test purposes this implementation should be fine.