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

Diameter S6a/S6d interface 3GPP TS 29.272

  • Update-Location
  • Cancel-Location-Request
  • Authentication-Information
  • Insert-Subscriber-Data
  • Delete-Subscriber-Data
  • Purge-UE
  • Reset
  • Notify

Diameter S13 interface 3GPP TS 29.272

  • ME-Identity-Check

Diameter S7a/S7d interface 3GPP TS 29.272

  • Update-VCSG-Location
  • Insert-Subscriber-Data
  • Delete-Subscriber-Data
  • Reset-Request
  • Cancel-VCSG-Location-Request

Diameter Sh interface 3GPP TS 29.329

  • User-Data
  • Profile-Update
  • Subscribe-Notifications
  • Push-Notification

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.9.0.tar.gz (311.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.9.0-py3-none-any.whl (288.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: python_diameter-0.9.0.tar.gz
  • Upload date:
  • Size: 311.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.9.0.tar.gz
Algorithm Hash digest
SHA256 e0a8a9fbc83bc2da6ecdce62bde821e498821a23e69521a3d03a205515a3e568
MD5 2926b1661d7e50070779da71724c4838
BLAKE2b-256 8c3508a137802e4b1ad95fc4e3ce77693c7a1e6e9eb12410f3fb86007c50b85f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for python_diameter-0.9.0-py3-none-any.whl
Algorithm Hash digest
SHA256 b5ef067db631181a06578d8b1f33e8536425b318d8612aa48479ee3f4abf934d
MD5 6fd63a43bbe1f05fe9c51d6eb7780dd2
BLAKE2b-256 8f5c72909b543afd7cbeb77c200afe929a9136fe43f45b794fa5063e569d64d6

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