Skip to main content

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.)

Requirements

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

Development

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.py:

$ 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.

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

octothorpe-0.5.tar.gz (21.2 kB view details)

Uploaded Source

Built Distribution

octothorpe-0.5-py2-none-any.whl (24.9 kB view details)

Uploaded Python 2

File details

Details for the file octothorpe-0.5.tar.gz.

File metadata

  • Download URL: octothorpe-0.5.tar.gz
  • Upload date:
  • Size: 21.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for octothorpe-0.5.tar.gz
Algorithm Hash digest
SHA256 75d6c857a0cc2a436c374042431195a9216dd3273af7c51c129ed5e336c0b5da
MD5 04b4485b6e08142db2fb7732a70ac336
BLAKE2b-256 33833d09c3b15ff4c6b38294e6f94a662cdce868e56cbebb0787921cf0dc7cb8

See more details on using hashes here.

File details

Details for the file octothorpe-0.5-py2-none-any.whl.

File metadata

File hashes

Hashes for octothorpe-0.5-py2-none-any.whl
Algorithm Hash digest
SHA256 b1a1e6c5cb85dc94208eecc9462acd0e7cd9cf664bc016046b137b3241c7f676
MD5 b2a38a4a012e50638ccd6eca1b19913a
BLAKE2b-256 12ffe15c5b93895e64bdf544be0f5a1cde6851437f5b247ca92bff74585f11f2

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page