function dialplan_globalvar_get($gvar) { global $freeiris_conf; global $dbcon; //取得配置 $extensions_conf = new asteriskconf(); if ($extensions_conf->parse_in_file($freeiris_conf->get('general', 'asterisketc') . '/extensions.conf') == false) { return rpcreturn(500, "can't open " . $freeiris_conf->get('general', 'asterisketc') . '/extensions.conf', 100, null); } return rpcreturn(200, null, null, array($gvar => $extensions_conf->get('globals', $gvar))); }
function initrpc() { global $freeiris_conf; // global $asterisk_conf; global $manager_conf; global $dbcon; // config read enginnger $freeiris_conf = new asteriskconf(); if ($freeiris_conf->parse_in_file('/etc/freeiris2/freeiris.conf') == false) { return rpcreturn(500, "can't open freeiris.conf", 100, null); } // $asterisk_conf = new asteriskconf(); // if ($asterisk_conf->parse_in_file($freeiris_conf->get('general','asterisketc').'/asterisk.conf')==false) // return(rpcreturn(500,"can't open ".$freeiris_conf->get('general','asterisketc').'/asterisk.conf',100,null)); $manager_conf = new asteriskconf(); if ($manager_conf->parse_in_file($freeiris_conf->get('general', 'asterisketc') . '/manager.conf') == false) { return rpcreturn(500, "can't open " . $freeiris_conf->get('general', 'asterisketc') . '/manager.conf', 100, null); } // 连接数据系统 $dbcon = mysql_pconnect($freeiris_conf->get('database', 'dbhost'), $freeiris_conf->get('database', 'dbuser'), $freeiris_conf->get('database', 'dbpasswd')); if (!$dbcon) { return rpcreturn(500, mysql_error(), 100, null); } // 选择库 $selectdb = mysql_select_db($freeiris_conf->get('database', 'dbname'), $dbcon); if (!$selectdb) { return rpcreturn(500, mysql_error(), 100, null); } return true; }
function voicefiles_delete($id) { global $freeiris_conf; global $dbcon; //取得主配置 $asterisk_conf = new asteriskconf(); if ($asterisk_conf->parse_in_file($freeiris_conf->get('general', 'asterisketc') . '/asterisk.conf') == false) { return rpcreturn(500, "can't open " . $freeiris_conf->get('general', 'asterisketc') . '/asterisk.conf', 100, null); } $result = mysql_query("select * from voicefiles where id = '" . $id . "'"); if (!$result) { return rpcreturn(500, mysql_error(), 100, null); } $resdata = mysql_fetch_array($result); mysql_free_result($result); if (!$resdata) { return rpcreturn(500, "can't find file", 113, null); } if ($resdata['label'] == 'sound') { $filepath = $asterisk_conf->get('directories', 'astvarlibdir') . '/sounds/' . $resdata['associate'] . '/' . $resdata['folder'] . '/' . $resdata['filename'] . '.' . $resdata['extname']; } elseif ($resdata['label'] == 'moh') { $filepath = $asterisk_conf->get('directories', 'astvarlibdir') . '/moh/' . $resdata['filename'] . '.' . $resdata['extname']; } elseif ($resdata['label'] == 'voicemail') { $filepath = $asterisk_conf->get('directories', 'astspooldir') . '/voicemail/freeiris/' . $resdata['folder'] . '/' . $resdata['filename'] . '.' . $resdata['extname']; } elseif ($resdata['label'] == 'onetouch') { $filepath = $asterisk_conf->get('directories', 'astspooldir') . '/voicemail/freeiris/' . $resdata['folder'] . '/' . $resdata['filename'] . '.' . $resdata['extname']; } elseif ($resdata['label'] == 'sysautomon') { $filepath = $asterisk_conf->get('directories', 'astspooldir') . '/monitor/' . $resdata['folder'] . '/' . $resdata['filename'] . '.' . $resdata['extname']; } elseif ($resdata['label'] == 'ivrmenu') { $filepath = $asterisk_conf->get('directories', 'astspooldir') . '/ivrmenu/' . $resdata['folder'] . '/' . $resdata['filename'] . '.' . $resdata['extname']; } //删除掉旧文件 unlink($filepath); //------------------------------------------------------删除 $result = mysql_query("delete from voicefiles where id = '" . $id . "'"); if (!$result) { return rpcreturn(500, mysql_error(), 100, null); } return rpcreturn(200, null, null, null, null); }
function fax_faxfile_download($faxid) { global $freeiris_conf; global $dbcon; //取得主配置 $asterisk_conf = new asteriskconf(); if ($asterisk_conf->parse_in_file($freeiris_conf->get('general', 'asterisketc') . '/asterisk.conf') == false) { return rpcreturn(500, "can't open " . $freeiris_conf->get('general', 'asterisketc') . '/asterisk.conf', 100, null); } //执行sql $result = mysql_query("select * from faxqueue where id = '" . $faxid . "'"); if (!$result) { return rpcreturn(500, mysql_error(), 100, null); } $resdata = mysql_fetch_array($result); mysql_free_result($result); if (!$resdata) { return rpcreturn(500, "can't find file", 113, null); } $filepath = $asterisk_conf->get('directories', 'astspooldir') . '/fax/' . $resdata['accountcode'] . '/' . $resdata['filename']; //打开文件body if (file_exists($filepath)) { $filestream = file_get_contents($filepath); } return rpcreturn(200, null, null, array('filestream' => $filestream, 'filename' => $resdata['filename'])); }
$mail = new PHPMailer(); $mail->PluginDir = dirname(__FILE__) . "/../lib/"; //version $VERSION = '1.0'; //debug?? if (array_key_exists(1, $_SERVER['argv']) == true && $_SERVER['argv'][1] == '--verbose') { $verbose = true; } message('notice', "fax deliver by hoowa sun " . $VERSION); //读出基本配置文件 $freeiris_conf = new asteriskconf(); if ($freeiris_conf->parse_in_file('/etc/freeiris2/freeiris.conf') == false) { exit; } $asterisk_conf = new asteriskconf(); if ($asterisk_conf->parse_in_file($freeiris_conf->get('general', 'asterisketc') . '/asterisk.conf') == false) { exit; } //查看自己是否已经在内存中了 if (check_processes($freeiris_conf->get('general', 'freeiris_root') . "/logs/faxdeliver.pid", $_SERVER['SCRIPT_NAME']) == true) { message('error', 'processes alreadly in memory , exists!'); } system("echo '" . getmypid() . "' > " . $freeiris_conf->get('general', 'freeiris_root') . "/logs/faxdeliver.pid"); #删除掉所有三个月以上的旧数据 //mysql_query("DELETE FROM faxqueue WHERE cretime <= '".date("Y-m-d",strtotime('-3 month'))." 00:00:00'",$db); //生成发送队列准备 $q_faxdeliver = array(); //取出一条记录进行处理 $db = mysql_connect($freeiris_conf->get('database', 'dbhost'), $freeiris_conf->get('database', 'dbuser'), $freeiris_conf->get('database', 'dbpasswd')); if (!$db) { message('error', 'Could not connect: ' . mysql_error());
<?php include 'asteriskconf.inc.php'; $sip = new asteriskconf(); $f = $sip->parse_in_file('sip.conf'); if ($f == false) { echo "false"; } $sections = $sip->section_list(); $parsed = $sip->section_all(); $keyslist = $sip->key_list('general'); $keyshash = $sip->key_all('general'); $keyvalue = $sip->get('general', 'language'); $sip->debug(); $sip->keep_resource_array = false; $sip->reload(); $sip->debug();
$VERSION = '1.0'; //debug?? if (array_key_exists(1, $_SERVER['argv']) == true && $_SERVER['argv'][1] == '--verbose') { $verbose = true; } message('notice', "freeiris voicemail sender by hoowa sun " . $VERSION); //读出基本配置文件 $freeiris_conf = new asteriskconf(); if ($freeiris_conf->parse_in_file('/etc/freeiris2/freeiris.conf') == false) { exit; } $asterisk_conf = new asteriskconf(); if ($asterisk_conf->parse_in_file($freeiris_conf->get('general', 'asterisketc') . '/asterisk.conf') == false) { exit; } $voicemailfullpath = $asterisk_conf->get('directories', 'astspooldir') . '/voicemail/freeiris/'; $lasttime = date("Y-m-d H:i:s", time() - $freeiris_conf->get('voicemail', 'mailer_checktime')); //是否发送 if ($freeiris_conf->get('voicemail', 'mailer') == 'nothing') { message('error', "disabled mailer"); } //先期检测通用参数 if ($freeiris_conf->get('voicemail', 'mailer_attachvoice') == 'yes') { $mailer_attachvoice = true; } else { $mailer_attachvoice = false; } message('notice', "Variable mailer_attachvoice = " . $mailer_attachvoice); if ($freeiris_conf->get('voicemail', 'mailer_from') == '') { message('notice', "Error no mailer_from"); } else {
function trunk_delete_iax2($trunkid) { global $freeiris_conf; global $dbcon; //------------------------------------------------------先取出来找到真正的trunkdevice $result = mysql_query("select * from trunk where id = '" . $trunkid . "'"); if (!$result) { return rpcreturn(500, mysql_error(), 100, null); } $trunkres = mysql_fetch_array($result); mysql_free_result($result); //------------------------------------------------------删除localnumber表记录 $result = mysql_query("delete from localnumber where assign = '" . $trunkid . "' and number = '" . $trunkres['trunkdevice'] . "'"); if (!$result) { return rpcreturn(500, mysql_error(), 100, null); } //------------------------------------------------------取得trunk记录 $result = mysql_query("select * from trunk where id = '{$trunkid}'"); if (!$result) { return rpcreturn(500, mysql_error(), 100, null); } $resdata = mysql_fetch_array($result); mysql_free_result($result); if (!$resdata) { return rpcreturn(500, "can't find trunk", 143, null); } //------------------------------------------------------取得旧siptrunk $trunk_conf = new asteriskconf(); if ($trunk_conf->parse_in_file($freeiris_conf->get('general', 'asterisketc') . '/iax_trunk.conf') == false) { return rpcreturn(500, "can't open " . $freeiris_conf->get('general', 'asterisketc') . '/iax_trunk.conf', 100, null); } //------------------------------------------------------删除旧registery if ($trunk_conf->get($resdata['trunkdevice'], 'register') != '') { $regmatch = 'register=' . $trunk_conf->get($resdata['trunkdevice'], 'register'); //打开regfile文件 $regfile_array = file($freeiris_conf->get('general', 'asterisketc') . '/iax_regfile.conf'); $regfile_string = null; foreach ($regfile_array as $line) { //如果在文件中找到对应的register if (trim($line) != $regmatch) { $regfile_string = $regfile_string . trim($line) . "\n"; } } //写文件 $fhandle = fopen($freeiris_conf->get('general', 'asterisketc') . '/iax_regfile.conf', 'w'); fwrite($fhandle, $regfile_string); fclose($fhandle); } //------------------------------------------------------删除基本数据 $dores = mysql_query("delete from trunk where id = '" . $trunkid . "'"); if (!$dores) { return rpcreturn(500, mysql_error(), 100, null); } //------------------------------------------------------删除配置数据 $trunk_conf->assign_delsection($resdata['trunkdevice']); //执行删除 $trunk_conf->save_file(); //删除后必须执行sip reload return rpcreturn(200, null, null, null, true); }
require_once dirname(__FILE__) . "/../lib/asteriskconf.inc.php"; //version $VERSION = '1.0'; $dblist = array(array('from' => 'billinginvoice', 'to' => 'billinginvoice_history', 'datefield' => 'cretime', 'deletewhenmoved' => true), array('from' => 'cdr', 'to' => 'cdr_history', 'datefield' => 'calldate', 'deletewhenmoved' => true), array('from' => 'callsession', 'to' => 'callsession_history', 'datefield' => 'cretime', 'deletewhenmoved' => true), array('from' => 'callsession_acts', 'to' => 'callsession_acts_history', 'datefield' => 'acttime', 'deletewhenmoved' => true)); //debug?? if (array_key_exists(1, $_SERVER['argv']) == true && $_SERVER['argv'][1] == '--verbose') { $verbose = true; } message('notice', "freeiris database history copy by hoowa sun " . $VERSION); //读出基本配置文件 $freeiris_conf = new asteriskconf(); if ($freeiris_conf->parse_in_file('/etc/freeiris2/freeiris.conf') == false) { exit; } $asterisk_conf = new asteriskconf(); if ($asterisk_conf->parse_in_file($freeiris_conf->get('general', 'asterisketc') . '/asterisk.conf') == false) { exit; } //连接数据库 $db = mysql_connect($freeiris_conf->get('database', 'dbhost'), $freeiris_conf->get('database', 'dbuser'), $freeiris_conf->get('database', 'dbpasswd')); if (!$db) { message('error', 'Could not connect: ' . mysql_error()); } mysql_select_db($freeiris_conf->get('database', 'dbname'), $db); //---------------------------------------------------------------历史数据转存程序 $beforeyear = Date('Y') - 1; // 转存12个月前的数据 foreach ($dblist as $eachone) { message('notice', "Moving to History From Table '" . $eachone['from'] . "' To '" . $eachone['to'] . "'"); $result = mysql_query("INSERT INTO " . $eachone['to'] . " SELECT * FROM " . $eachone['from'] . " where " . $eachone['datefield'] . " < '" . $beforeyear . "-" . Date("m") . "-01 00:00:00'"); if ($result && $eachone['deletewhenmoved'] == true) {
require_once dirname(__FILE__) . "/../lib/asteriskconf.inc.php"; require_once dirname(__FILE__) . "/../lib/freeiris_ami_inc.php"; //version $VERSION = '1.0'; //debug?? if (array_key_exists(1, $_SERVER['argv']) == true && $_SERVER['argv'][1] == '--verbose') { $verbose = true; } message('notice', "freeiris outgoing sender by hoowa sun " . $VERSION); //读出基本配置文件 $freeiris_conf = new asteriskconf(); if ($freeiris_conf->parse_in_file('/etc/freeiris2/freeiris.conf') == false) { exit; } $asterisk_conf = new asteriskconf(); if ($asterisk_conf->parse_in_file($freeiris_conf->get('general', 'asterisketc') . '/asterisk.conf') == false) { exit; } //查看自己是否已经在内存中了 if (check_processes($freeiris_conf->get('general', 'freeiris_root') . "/logs/outgoing.pid", $_SERVER['SCRIPT_NAME']) == true) { message('error', 'processes alreadly in memory , exists!'); } system("echo '" . getmypid() . "' > " . $freeiris_conf->get('general', 'freeiris_root') . "/logs/outgoing.pid"); //连接数据库 $db = mysql_connect($freeiris_conf->get('database', 'dbhost'), $freeiris_conf->get('database', 'dbuser'), $freeiris_conf->get('database', 'dbpasswd')); if (!$db) { message('error', 'Could not connect: ' . mysql_error()); } mysql_select_db($freeiris_conf->get('database', 'dbname'), $db); #删除掉所有旧数据 #mysql_query("DELETE FROM outgoing WHERE cretime <= '".date("Y-m-d",strtotime('-1 month'))." 00:00:00'",$db);
$VERSION = '1.0'; //debug?? if (array_key_exists(1, $_SERVER['argv']) == true && $_SERVER['argv'][1] == '--verbose') { $verbose = true; } message('notice', "freeiris fax sender by hoowa sun " . $VERSION); //读出基本配置文件 $freeiris_conf = new asteriskconf(); if ($freeiris_conf->parse_in_file('/etc/freeiris2/freeiris.conf') == false) { exit; } $asterisk_conf = new asteriskconf(); if ($asterisk_conf->parse_in_file($freeiris_conf->get('general', 'asterisketc') . '/asterisk.conf') == false) { exit; } $faxfullpath = $asterisk_conf->get('directories', 'astspooldir') . '/fax/'; $lasttime = date("Y-m-d H:i:s", time() - $freeiris_conf->get('voicemail', 'mailer_checktime')); //是否发送 if ($freeiris_conf->get('fax', 'deliver') == 'hold') { message('error', "disabled mailer"); } //先期检测通用参数 if ($freeiris_conf->get('voicemail', 'mailer_attachvoice') == 'yes') { $mailer_attachvoice = true; } else { $mailer_attachvoice = false; } message('notice', "Variable mailer_attachvoice = " . $mailer_attachvoice); //本程序的基本mail参数设置遵从VoiceMail部分的设置 $mailer_from = null; if ($freeiris_conf->get('voicemail', 'mailer_from') == '') {