2017 © Pedro Peláez
 

library asterbunny

This tool sends json encoded asterisk ami events to RabbitMQ

image

opensoft/asterbunny

This tool sends json encoded asterisk ami events to RabbitMQ

  • Wednesday, October 24, 2012
  • by richardfullmer
  • Repository
  • 1 Watchers
  • 6 Stars
  • 0 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 0 Forks
  • 0 Open issues
  • 1 Versions
  • 0 % Grown

The README.md

AsterBunny

Simple PHP based CLI tool to publish Asterisk AMI events to a Rabbit Message Queue, (*1)

PHP Versions

Note: PAMI Requires PHP 5.3+. PHP versions 5.3.9 and 5.3.10 WILL NOT WORK due to a bug introduced in stream_get_line() in 5.3.9. Please use 5.3.11+ or up to 5.3.8 (see README.PHP-5.3.9-and-5.3.10)., (*2)

Install

Clone the repo:, (*3)

git clone https://github.com/opensoft/AsterBunny.git

Now install dependencies with composer, (*4)

curl http://getcomposer.org/installer | php
php composer.phar install

Usage

The CLI tool is located at bin/asterbunny and has a lot of configuration options relating to specifying hostnames, ports, usernames, and passwords for Asterisk connections and RabbitMQ servers., (*5)

It's recommended to run the following to learn the configuration set, and defaults, (*6)

./bin/asterbunny listen --help

Message Sending

All asterisk events emitted by the Asterisk AMI interface are encoded as JSON and then sent to a configured RabbitMQ server., (*7)

Specifically, http://www.voip-info.org/wiki/view/asterisk+manager+events are:, (*8)

  1. Keys are converted to lowercase
  2. The message is converted to JSON

And then submitted to the configured exchange with the fanout exchange type, (*9)

Example

{
    "event": "Agentlogoff",
    "agent": "<agent>",
    "logintime": "<logintime>",
    "uniqueid": "<uniqueid>"
}

Message headers are as follows:, (*10)

  • timestamp => The unix timestamp of when the event occured as seen by AsterBunny
  • content_type => application\json
  • delivery_mode => 2 - Indicates that the message should be persisted by RabbitMQ

Logging

A default log4php configuration file is included with this tool., (*11)

$ cp log4php.dist.xml log4php.xml

Configure logging by editing the file according to instructions found here, (*12)

Requirements

  • PHP 5.3
  • RabbitMQ
  • Asterisk AMI

License

AsterBunny is licensed under the MIT License - see the LICENSE file for details, (*13)

Acknowledgments

  • http://github.com/symfony/console
  • http://github.com/videlalvaro/php-amqplib
  • http://github.com/marcelog/pami

The Versions

24/10 2012

dev-master

9999999-dev

This tool sends json encoded asterisk ami events to RabbitMQ

  Sources   Download

MIT

The Requires

 

rabbitmq asterisk amqp ami pami