ajperozoi / ami
提供来自 Enniel Ami (https://github.com/Enniel/Ami) 的 asterisk ami 给 laravel,尝试在 laravel 7 和 php>7.0 下使用
3.1.1
2020-08-20 02:55 UTC
Requires
- php: ^7.2.5
- ext-mbstring: *
- clue/ami-react: ~0.3.1
- illuminate/console: ^7.0
- illuminate/contracts: ^7.0
- illuminate/events: ^7.25.0
- illuminate/support: ^7.0
- jackkum/phppdu: ^1.2.9
- 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.15.0
- illuminate/config: ^7.25.0
- illuminate/container: ^7.25.0
- phpunit/phpunit: ~4.5|~5.0
README
Enniel\Ami
通过 asterisk 管理器界面(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