enniel / ami
为Laravel提供asterisk ami
2.1.0
2017-02-02 09:10 UTC
Requires
- php: >=5.6.0
- ext-mbstring: *
- clue/ami-react: ~0.3.1
- illuminate/console: ~5.1
- illuminate/contracts: ~5.1
- illuminate/events: ~5.1
- illuminate/support: ~5.1
- jackkum/phppdu: ~1.2.10
- react/dns: ~0.4.3
- react/event-loop: ~0.4.2
- react/socket-client: ~0.4.6
- react/stream: ~0.4.6
Requires (Dev)
- friendsofphp/php-cs-fixer: ~2.0.0
- illuminate/config: ~5.1
- illuminate/container: ~5.1
- phpunit/phpunit: ~4.5|~5.0
README
Enniel\Ami
通过asterisk管理器界面(AMI)轻松控制。
安装和配置
要将enniel/ami作为composer包安装并用于Laravel 5,请运行以下命令:
composer require "enniel/ami"
安装完成后,您可以在config/app.php中的providers数组中注册服务提供者。
'providers' => [ \Enniel\Ami\Providers\AmiServiceProvider::class, ]
然后使用php artisan vendor:publish
发布资产。这将添加config/ami.php文件。
使用方法
连接选项
您可以为每个命令指定连接参数。
监听AMI事件
php artisan ami:listen
Artisan::call('ami:listen');
如果您想将事件日志显示在控制台,请使用monitor选项。
php artisan ami:listen --monitor
发送AMI动作
php artisan ami:action <action> --arguments=<key>:<value> --arguments=<key>:<value> ...
Artisan::call('ami:action', [ 'action' => <action>, '--arguments' => [ <key> => <value> ... ] ]);
使用串行线发送短信消息
php artisan ami:dongle:sms <phone> <message> <device?>
Artisan::call('ami:dongle:sms', [ 'phone' => <phone>, 'message' => <message>, 'device' => <device?>, ]);
对于发送长消息,请使用pdu模式。
php artisan ami:dongle:sms <phone> <message> <device?> --pdu
Artisan::call('ami:dongle:sms', [ 'phone' => <phone>, 'message' => <message>, 'device' => <device?>, '--pdu' => true, ]);
无需指定设备参数。
使用串行线发送 USSD 命令
php artisan ami:dongle:ussd <device> <ussd>
Artisan::call('ami:dongle:ussd', [ 'device' => <device>, 'ussd' => <ussd>, ]);
发送AMI命令
此命令启动了AMI的cli接口。命令属性是可选的。
php artisan ami:cli [command]
发送命令后关闭CLI接口。
php artisan ami:cli [command] --autoclose
Artisan::call('ami:cli', [ 'command' => [command], '--autoclose' => true, ]);
非Laravel
php ./vendor/bin/ami ami:listen --host=127.0.0.1 --port=5038 --username=username --secret=secret --monitor