Easy control via asterisk manager interface (AMI).
To install as a composer package to be used with Laravel 5, simply run:
composer require "enniel/ami"Once it's installed, you can register the service provider in config/app.php in the providers array:
'providers' => [
\Enniel\Ami\Providers\AmiServiceProvider::class,
]Then publish assets with php artisan vendor:publish. This will add the file config/ami.php.
Connection options
You are can specify connection parameters for each command.
| Option | Description |
|---|---|
| --host | Asterisk AMI server host |
| --port | Asterisk AMI server port |
| --username | Asterisk AMI server username |
| --secret | Asterisk AMI server secret |
Listen ami events
php artisan ami:listenArtisan::call('ami:listen');If would you like to see event log in the console use monitor option
php artisan ami:listen --monitorSend ami action
php artisan ami:action <action> --arguments=<key>:<value> --arguments=<key>:<value> ...Artisan::call('ami:action', [
'action' => <action>,
'--arguments' => [
<key> => <value>
...
]
]);Send sms messages using chan dongle
php artisan ami:dongle:sms <phone> <message> <device?>Artisan::call('ami:dongle:sms', [
'phone' => <phone>,
'message' => <message>,
'device' => <device?>,
]);For sending long messages use pdu mode.
php artisan ami:dongle:sms <phone> <message> <device?> --pduArtisan::call('ami:dongle:sms', [
'phone' => <phone>,
'message' => <message>,
'device' => <device?>,
'--pdu' => true,
]);Argument device is not required.
Send ussd commands using chan dongle
php artisan ami:dongle:ussd <device> <ussd>Artisan::call('ami:dongle:ussd', [
'device' => <device>,
'ussd' => <ussd>,
]);Send ami commands
This command started cli interface for ami. Command attribute is optional.
php artisan ami:cli [command]Close cli interface after sending command.
php artisan ami:cli [command] --autocloseArtisan::call('ami:cli', [
'command' => [command],
'--autoclose' => true,
]);Without Laravel
php ./vendor/bin/ami ami:listen --host=127.0.0.1 --port=5038 --username=username --secret=secret --monitor