Skip to main content

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:

Supported applications

The diameter stack has inbuilt support for Diameter Base, Gy, Rf, Ro, Sy, Cx and Dx 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

Diameter Cx and Dx interfaces 3GPP TS 29.229

  • User-Authorization
  • Server-Assignment
  • Location-Info
  • Multimedia-Auth
  • Registration-Termination
  • Push-Profile

The stack includes also a generic fallback Python class for every other message.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

python_diameter-0.8.4.tar.gz (255.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

python_diameter-0.8.4-py3-none-any.whl (241.4 kB view details)

Uploaded Python 3

File details

Details for the file python_diameter-0.8.4.tar.gz.

File metadata

  • Download URL: python_diameter-0.8.4.tar.gz
  • Upload date:
  • Size: 255.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for python_diameter-0.8.4.tar.gz
Algorithm Hash digest
SHA256 4860de1d9fe16bc1ab9abee810d8c8f362f0d40acb8f377ba01e818c760df528
MD5 2f61969c047cf9001f82bc4e120f355a
BLAKE2b-256 75815f4b2e279c5246e7a63451710e5fb5d960dad3604e4d4455e398146f05cf

See more details on using hashes here.

File details

Details for the file python_diameter-0.8.4-py3-none-any.whl.

File metadata

File hashes

Hashes for python_diameter-0.8.4-py3-none-any.whl
Algorithm Hash digest
SHA256 855a27b02e617eb633dd3bbac01ceb9bc817b6f4a96838adc7af4472abbe33c3
MD5 eb13ca65b035693fa49fd1bf9945835d
BLAKE2b-256 58be3b23076941fdb0a8318f3ade7d2f0253c2bfc771830ad8ef857d3ddaac8e

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page