A diameter stack implemented in python
Project description
Python Diameter Stack
This Python package provides tools to create and parse Diameter Messages and
AVPs, to communicate with diameter peers using the diameter base protocol and
to write diameter applications, as defined in the Diameter Base rfc6733
.
The diameter stack supports transports over both TCP and SCTP.
The provided Application and Node implementations handle the majority of the basic protocol-level operations automatically, such as managing peer tables, sending CER/CEA, DWR/DEA and disconnecting with DPR/DPA.
Installation
The latest version can be installed from PyPI as python-diameter:
~# pip install python-diameter
SCTP support provided by an optional depency on pysctp.
Functional overview
The package contains an extensive AVP dictionary and allows constructing AVPs and Diameter messages either manually, or by parsing network-received bytes. Message AVPs can be accessed directly as instance attributes.
The diameter
package provides tools for:
- Parsing and writing AVPs
- Parsing and writing diameter Mesages
- Creating diameter nodes and connecting to other peers
- Writing diameter applications
Supported applications
The diameter stack has inbuilt support for Diameter Base, Gy, Rf, Ro and Sy applications and a generic implementation of application types that allows working even with unsupported application types.
Supported diameter application commands
The diameter stack provides a Python command class for the following application message types:
Diameter Base Protocol rfc3588
, rfc6733
- Abort-Session
- Accounting
- Capabilities-Exchange
- Device-Watchdog
- Disconnect-PeerConnection
- Re-Auth
- Session-Termination
Diameter Mobile IPv4 rfc4004
- AA-Mobile-Node
- Home-Agent-MIP
Diameter Network Access Server rfc4005
, rfc7155
- AA
- Abort-Session
- Accounting
- Re-Auth
- Session-Termination
Diameter Credit Control rf4006
, rfc6733
, 3GPP TS 32.299
- Credit-Control, with full 3GPP specification support
Diameter Extensible Authentication Protocol (EAP) rfc4072
- Diameter-EAP
Diameter Policy and charging control 3GPP TS 29.219
- Spending-Limit
- Spending-Status-Notification
The stack includes also a generic fallback Python class for every other message.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file python_diameter-0.7.3.tar.gz
.
File metadata
- Download URL: python_diameter-0.7.3.tar.gz
- Upload date:
- Size: 237.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.0 CPython/3.12.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | af6516d7e0842db9ab96c1120055d92bfd819c640d1a4b01e5e1b6607745850f |
|
MD5 | 6b251164d7d7664af35aaad91e4cbd8d |
|
BLAKE2b-256 | f169478f4f62eaa47883c518c224041d5ece50e68d7d7e74b358732f698930a2 |
File details
Details for the file python_diameter-0.7.3-py3-none-any.whl
.
File metadata
- Download URL: python_diameter-0.7.3-py3-none-any.whl
- Upload date:
- Size: 220.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.0 CPython/3.12.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 15f4e4323b0fd512121c5fc74ea01f81f3e091a46f9a1b987924e86682916ee9 |
|
MD5 | a515e8d0769d3d7edeb0f08d1fe71f42 |
|
BLAKE2b-256 | fce56dd958bd9b593dbb6bb791d26c585b2874abe74446795270c9572b414e26 |