Panoramisk. The Asterisk’s druid

https://travis-ci.org/gawel/panoramisk.png?branch=master&style=flat-square https://img.shields.io/coveralls/gawel/panoramisk/master.svg https://img.shields.io/pypi/v/panoramisk.svg?style=flat-square https://img.shields.io/pypi/dw/panoramisk.svg?style=flat-square https://img.shields.io/github/issues/gawel/panoramisk.svg?style=flat-square https://img.shields.io/github/license/gawel/panoramisk.svg?style=flat-square

Panoramisk is a library based on python’s AsyncIO to play with Asterisk‘s manager.

It uses the TCP manager server to listen to events and send actions.

For basic usage, you have some examples in examples/ folder.

You can find some help on IRC: irc://irc.freenode.net/panoramisk (www)

Running the Tests

Running your test with:

$ python setup.py test
$ py.test tests/ docs/

Source code

Find us on Github at https://github.com/gawel/panoramisk/

Documentation

Check out the documentation on Read the Docs: https://panoramisk.readthedocs.org/

Installation

Install, upgrade and uninstall panoramisk with these commands:

$ pip install panoramisk
$ pip install --upgrade panoramisk
$ pip uninstall panoramisk

How to configure Asterisk

In /etc/asterisk/manager.conf, add:

[username]
secret=password
deny=0.0.0.0/0.0.0.0
permit=127.0.0.1/255.255.255.255
read = all
write = all

Launch: rasterisk -x 'manager reload'

panoramisk api

CHANGES

  • Add FastAGI server, implemented with high-level AsyncIO API (Streams)
  • Add events parameter for Manager, to disable AMI events reception (Useful for performance reasons)
  • Finish AsyncAGI commands support (WIP)
  • Avoid failure when factory is not already set
  • AMI command results tracking fixed
  • Return AMI command result with multiple events in a Future
  • Return AsyncAGI command result in a Future
  • Add several examples
  • Internal refactoring
  • Remove arawman support
  • Remove external dependencies
  • Add support for multiple responses from Actions (example: QueueStatus)
  • Improved performance with Events pattern matching
  • Add mocked test wrapper
  • Add coroutine support for Events dispatching
  • Invert event callback signature to create Manager methods to handle events
  • Support of AMI commands
  • Support of AsyncAGI commands (Not finished)
  • Compat with the latest trollius
  • Don’t send commands twice
  • Initial release