提供来自 Enniel Ami (https://github.com/Enniel/Ami) 的 asterisk ami 给 laravel,尝试在 laravel 7 和 php>7.0 下使用

3.1.1 2020-08-20 02:55 UTC

README

Build Status StyleCI

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