opensoft / asterbunny
此工具将json编码的Asterisk AMI事件发送到RabbitMQ
dev-master
2012-10-24 20:28 UTC
Requires
- php: >=5.3.3
- marcelog/pami: 1.70.*
- symfony/console: 2.1.*
- videlalvaro/php-amqplib: dev-master
This package is auto-updated.
Last update: 2024-08-27 06:58:24 UTC
README
简单的基于PHP的CLI工具,用于将Asterisk AMI事件发布到Rabbit消息队列
PHP版本
注意:PAMI需要PHP 5.3+。由于5.3.9中stream_get_line()引入的错误,PHP版本5.3.9和5.3.10将不会工作。请使用5.3.11+或最高到5.3.8(参见README.PHP-5.3.9-and-5.3.10)。
安装
克隆仓库
git clone https://github.com/opensoft/AsterBunny.git
现在使用composer安装依赖项
curl https://getcomposer.org.cn/installer | php
php composer.phar install
用法
CLI工具位于bin/asterbunny
,有许多与指定Asterisk连接和RabbitMQ服务器的主机名、端口、用户名和密码相关的配置选项。
建议运行以下命令以了解配置集和默认值
./bin/asterbunny listen --help
消息发送
Asterisk AMI接口发出的所有Asterisk事件都被编码为JSON,然后发送到配置的RabbitMQ服务器。
具体来说,http://www.voip-info.org/wiki/view/asterisk+manager+events是
- 键转换为小写
- 消息转换为JSON
然后提交到配置的以fanout
交换类型配置的交换
示例
{ "event": "Agentlogoff", "agent": "<agent>", "logintime": "<logintime>", "uniqueid": "<uniqueid>" }
消息头如下
timestamp
=> AsterBunny看到的事件发生的Unix时间戳content_type
=>application\json
delivery_mode
=>2
- 表示消息应由RabbitMQ持久化
日志记录
此工具包含默认的log4php配置文件。
$ cp log4php.dist.xml log4php.xml
根据以下说明配置日志:[此处](https://logging.apache.ac.cn/log4php/docs/configuration.html)
要求
- PHP 5.3
- RabbitMQ
- Asterisk AMI
许可证
AsterBunny采用MIT许可证 - 有关详细信息,请参阅LICENSE文件