Skip to main content
This is a pre-production deployment of Warehouse. Changes made here affect the production instance of PyPI (
Help us improve Python packaging - Donate today!

Asterisk Manager Interface library for the Twisted engine

Project Description

octothorpe is an Asterisk Manager Interface (AMI) library for the Twisted engine.

At the moment, octothorpe is still in development. Because of this, I cannot at this time offer API stability, but I intend to do this as it shapes up further.

octothorpe’s primary design goal is to disentangle the myriad multiplexed event streams that all come over the AMI, making it easier to focus on them individually. For example, when a new channel comes up, the newChannel method is called, giving a Channel object you will thereafter receive channel-associated events on as well as be able to issue actions against. (Of course, you can subclass Channel.)


octothorpe depends only on Twisted, and is developed against the latest release version. Twisted is declared as a dependency in


requirements.txt specifies development dependencies, including those for running tests.

As mentioned above, you should start by installing all development requirements (you’re using a virtualenv, right?):

$ . bin/activate
$ pip install -e
$ pip install `cat requirements.txt`

octothorpe is fully developed with a test-first methodology. All functionality is covered by the unit tests (which you can run with trial octothorpe.) You can verify coverage with

$ coverage run --source=octothorpe `which trial` octothorpe
$ coverage report -m

If you’re interested in a virtual environment for hacking on octothorpe, I’ve supplied here my Vagrant and Ansible configurations for building and doing the initial configuration for a box with Asterisk running and ready to accept a SIP phone connection.

Pay close attention to Vagrantfile—it contains a directive for setting up a host-only network. I’ve randomly selected an RFC1918 address for this purpose; you’ll want to connect your SIP softphone and your octothorpe applications to this address. If you’re happy with this, run vagrant up.

Important Note: Don’t even think of using the config files in etc/asterisk in production! They are wildly insecure.

Release History

Release History

This version
History Node


History Node


History Node


History Node


History Node


History Node


Download Files

Download Files

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

File Name & Checksum SHA256 Checksum Help Version File Type Upload Date
octothorpe-0.5-py2-none-any.whl (24.9 kB) Copy SHA256 Checksum SHA256 2.7 Wheel Jul 20, 2014
octothorpe-0.5.tar.gz (21.2 kB) Copy SHA256 Checksum SHA256 Source Jul 20, 2014

Supported By

WebFaction WebFaction Technical Writing Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Rackspace Rackspace Cloud Servers DreamHost DreamHost Log Hosting