dimifft / ami
为Laravel提供asterisk ami
4.2.2
2022-06-25 23:39 UTC
Requires
- php: >=8.1
- ext-mbstring: *
- clue/ami-react: ~0.3.1
- illuminate/console: *
- illuminate/contracts: *
- illuminate/events: *
- illuminate/support: *
- 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: ^3.0
- illuminate/config: ~5.1
- illuminate/container: ~5.1
- phpunit/phpunit: ~4.5|~5.0
Conflicts
- illuminate/console: <9.0
README
Enniel\Ami laravel 9+
通过asterisk管理界面(AMI)轻松控制。
安装和配置
要将dimifft/ami作为Laravel 8+的composer包安装,只需运行以下命令:
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