Bromélia is a Python micro framework for building Diameter protocol applications.
Bromélia has breathed for the first time to give a Pythonic way for manipulating Diameter protocol structures. Since there is a bunch of ways to handle the well-known HTTP protocol in an elegant fashion in Python, it lacks the same with Diameter.
It is designed to allow at least (but not limited to) five use cases:
- Automate tests on Diameter-based mobile network platforms, such as 4G EPC and IMS networks,
- Unlock front-end applications to interact with Diameter-based mobile network applications,
- Inspect real Diameter traffic to extract relevant information,
- Translate and interwork between Diameter and other telco protocols (2G/3G MAP e 5G HTTP/2 SBI),
- Just have some fun.
It makes pretty easy and straightforward to start building the basic Diameter structures such as AVPs and Messages and send them down to/receive from the wire.
Bromélia is powered with all AVPs and Messages defined in RFC 6733 (and more!).
For debugging and research purpose, it is also possible to create Diameter objects with raw bytes (eg. captured from network interfaces with both tcpdump and tshark tools).