67 lines
2.0 KiB
PHP
67 lines
2.0 KiB
PHP
|
<?php
|
||
|
|
||
|
/** DEFAULT AgileVoice BoIP DID Pool Plugin
|
||
|
* @example include_once(PATH_PLUGINS.'voip_did/'.$plugin_name.'.php');
|
||
|
* @example eval('$did_plugin = new plg_voip_did_'.$plugin_name.';');
|
||
|
* @example $did_plugin->id = $voip_did_plugin_id;
|
||
|
* @example $did_plugin->did = $did;
|
||
|
* @example $did_plugin->country = $country;
|
||
|
* @example $did_plugin->method();
|
||
|
*/
|
||
|
class plgn_voip_did_DEFAULT
|
||
|
{
|
||
|
var $did; // full E164 DID
|
||
|
var $country; // country calling code
|
||
|
var $release_minutes; // The configured release minutes for reserved DIDs
|
||
|
var $plugin; // The plugin name
|
||
|
var $reserve=24; // Number of hours reserved
|
||
|
var $name='DEFAULT'; // Plugin name
|
||
|
var $avail_countries; // Available countries array
|
||
|
|
||
|
/** Get the plugin settings from the database */
|
||
|
function config() {
|
||
|
$db =& DB();
|
||
|
$rs = & $db->Execute(sqlSelect($db,"voip_did_plugin","*","id = $this->id"));
|
||
|
$this->release_minutes = $rs->fields['release_minutes'];
|
||
|
$this->avail_countries = $rs->fields['avail_countries'];
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* Once a DID has been purchased and payment has been received from the customer, this
|
||
|
* function then asks the DID provider to actually provision the DID to us.
|
||
|
*/
|
||
|
function purchase() {
|
||
|
require_once(PATH_MODULES."voip_did_plugin/voip_did_plugin.inc.php");
|
||
|
$plugin = new voip_did_plugin;
|
||
|
$plugin->account_id = $this->account_id;
|
||
|
|
||
|
return $plugin->purchase($this->id, $this->did);
|
||
|
}
|
||
|
|
||
|
/** Reserve a DID
|
||
|
*/
|
||
|
function reserve() {
|
||
|
require_once(PATH_MODULES."voip_did_plugin/voip_did_plugin.inc.php");
|
||
|
$plugin = new voip_did_plugin;
|
||
|
|
||
|
return $plugin->reserve($this->id, $this->did);
|
||
|
}
|
||
|
|
||
|
/** Release a reserved DID
|
||
|
*/
|
||
|
function release() {
|
||
|
# DIDx doesn't support an API method to cancel a DID
|
||
|
# So, I guess the number remains ours - just free it from the customer.
|
||
|
require_once(PATH_MODULES."voip_did_plugin/voip_did_plugin.inc.php");
|
||
|
$plugin = new voip_did_plugin;
|
||
|
|
||
|
return $plugin->release($this->id, $this->did);
|
||
|
}
|
||
|
|
||
|
/** Task to refresh available dids cart items
|
||
|
*/
|
||
|
function refresh() {
|
||
|
}
|
||
|
}
|
||
|
?>
|