Protocol implementation of the Asterisk Manager Interface and Asterisk Gateway Interface
Project description
Obelus is a MIT-licensed Python library providing support for communication with the Asterisk telephony server. It supports the Asterisk Manager Interface (AMI) and the Asterisk Gateway Interface (AGI).
Quick links
Project page: https://pypi-hypernode.com/pypi/obelus/
Source code, issue tracker: https://bitbucket.org/optiflowsrd/obelus
Documentation (incomplete): https://obelus.readthedocs.org
Features
Limitations
The API is currently low-level: it abstracts away protocol syntax and communication sequences, but doesn’t try to expose Asterisk concepts in a particular way.
Requirements
Python 2.7, 3.2 or later.
Optional requirements
Examples
AMI client
Several example AMI clients are available for different frameworks:
$ python -m obelus.ami.tornadoadapter -h $ python -m obelus.ami.tulipadapter -h $ python -m obelus.ami.twistedadapter -h
FastAGI server
Several example FastAGI servers are available for different frameworks:
$ python -m obelus.agi.tornadofastagi -h $ python -m obelus.agi.tulipfastagi -h
Study the source codes for these modules for more information about how to re-use the Obelus protocol classes in your own application.
Development
Running the test suite
To run the test suite with a single Python version, run:
$ pythonX.Y -m obelus.test
On Python versions before 3.3, you will need to install the mock library.
To run the test suite on all supported interpreters, install tox and run:
$ tox
FAQ
Why “Obelus”?
An obelus is a typographical character, a bit like an asterisk.