plinker / asterisk
An Asterisk component which hooks into the Asterisk Management Interface on remote systems.
Requires
- plinker/core: >=0.1
README
!!! This component is no longer being actively developed, though bugs will be fixed if reported.
An Asterisk component which hooks into the Asterisk Management Interface (AMI) on remote systems. Using it adds additional layer of security as you can now lock down AMI to listen on only on localhost.
Install
Require this package with composer using the following command:
$ composer require plinker/asterisk
Client
Creating a client instance is done as follows:
<?php
require 'vendor/autoload.php';
/**
* Initialize plinker client.
*
* @param string $server - URL to server listener.
* @param string $config - server secret, and/or a additional component data
*/
$client = new \Plinker\Core\Client(
'http://example.com/server.php',
[
'secret' => 'a secret password',
'database' => [
'dsn' => 'mysql:host=127.0.0.1;dbname=asterisk',
'username' => '',
'password' => '',
'database' => '',
'freeze' => false,
'debug' => false
],
'ami' => [
'server' => '127.0.0.1',
'port' => '5038',
'username' => '',
'password' => ''
]
]
);
// or using global function
$client = plinker_client('http://example.com/server.php', 'a secret password', [
'database' => [
'dsn' => 'mysql:host=127.0.0.1;dbname=asterisk',
'username' => '',
'password' => '',
'database' => '',
'freeze' => false,
'debug' => false
],
'ami' => [
'server' => '127.0.0.1',
'port' => '5038',
'username' => '',
'password' => ''
]
]);
Methods
Once setup, you call the class though its namespace to its method.
Command
Execute ASM command.
Call
$result = $client->asterisk->command('sip show peers');
Response
Get Queue
Connect into AMI and issue asterisk command [queue show *].
Call
$result = $client->asterisk->getQueue('foo');
Response
Show Channels
Connect into AMI and issue asterisk command [core show channels].
Call
$result = $client->asterisk->coreShowChannels();
Response
Array
(
'active_channels' => 0,
'active_calls' => 0,
'calls_processed' => 0
}
And other methods see: vendor/asterisk/src/Asterisk.php
Testing
There are no tests setup for this component.
Contributing
Please see CONTRIBUTING for details.
Security
If you discover any security related issues, please contact me via https://cherone.co.uk instead of using the issue tracker.
Credits
Development Encouragement
If you use this project and make money from it or want to show your appreciation, please feel free to make a donation https://www.paypal.me/lcherone, thanks.
Sponsors
Get your company or name listed throughout the documentation and on each github repository, contact me at https://cherone.co.uk for further details.
License
The MIT License (MIT). Please see License File for more information.
See the organisations page for additional components.