Protocol implementation of the Asterisk Manager Interface and Asterisk Gateway Interface
This project has been archived.
The maintainers of this project have marked this project as archived. No new releases are expected.
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.python.org/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.