PHPackages                             opensoft/asterbunny - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Queues &amp; Workers](/categories/queues)
4. /
5. opensoft/asterbunny

ActiveLibrary[Queues &amp; Workers](/categories/queues)

opensoft/asterbunny
===================

This tool sends json encoded asterisk ami events to RabbitMQ

90PHP

Since Oct 24Pushed 13y ago2 watchersCompare

[ Source](https://github.com/opensoft/AsterBunny)[ Packagist](https://packagist.org/packages/opensoft/asterbunny)[ RSS](/packages/opensoft-asterbunny/feed)WikiDiscussions master Synced yesterday

READMEChangelogDependenciesVersions (1)Used By (0)

AsterBunny
==========

[](#asterbunny)

Simple PHP based CLI tool to publish Asterisk AMI events to a Rabbit Message Queue

PHP Versions
------------

[](#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](https://github.com/marcelog/PAMI/blob/1.70.0/README.PHP-5.3.9-and-5.3.10)).

Install
=======

[](#install)

Clone the repo:

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

Now install dependencies with composer

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

Usage
=====

[](#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.

It's recommended to run the following to learn the configuration set, and defaults

```
./bin/asterbunny listen --help
```

Message Sending
===============

[](#message-sending)

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

Specifically,  are:

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

#### Example

[](#example)

```
{
    "event": "Agentlogoff",
    "agent": "",
    "logintime": "",
    "uniqueid": ""
}
```

Message headers are as follows:

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

Logging
=======

[](#logging)

A default log4php configuration file is included with this tool.

```
$ cp log4php.dist.xml log4php.xml

```

Configure logging by editing the file according to instructions found [here](http://logging.apache.org/log4php/docs/configuration.html)

Requirements
============

[](#requirements)

- PHP 5.3
- RabbitMQ
- Asterisk AMI

License
=======

[](#license)

AsterBunny is licensed under the MIT License - see the LICENSE file for details

Acknowledgments
===============

[](#acknowledgments)

-
-
-

###  Health Score

20

—

LowBetter than 13% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity6

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity41

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

### Community

Maintainers

![](https://www.gravatar.com/avatar/a39488bf3a486007486e38ab85aef162e86b29be6bc48ed69d68e5186b9a7fad?d=identicon)[richardfullmer](/maintainers/richardfullmer)

---

Top Contributors

[![richardfullmer](https://avatars.githubusercontent.com/u/384602?v=4)](https://github.com/richardfullmer "richardfullmer (14 commits)")

### Embed Badge

![Health badge](/badges/opensoft-asterbunny/health.svg)

```
[![Health](https://phpackages.com/badges/opensoft-asterbunny/health.svg)](https://phpackages.com/packages/opensoft-asterbunny)
```

###  Alternatives

[league/geotools

Geo-related tools PHP 7.3+ library

1.4k5.6M30](/packages/league-geotools)[illuminate/bus

The Illuminate Bus package.

6045.5M519](/packages/illuminate-bus)[uecode/qpush-bundle

Asynchronous processing for Symfony using Push Queues

1672.5M2](/packages/uecode-qpush-bundle)[mayconbordin/l5-stomp-queue

Stomp Queue Driver for Laravel 5

121.1k](/packages/mayconbordin-l5-stomp-queue)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
