#!/usr/bin/php -q <?php set_time_limit(30); require_once 'phpagi.php'; require_once 'db_work.php'; $agi = new AGI(); $agi->answer(); $callerid = $agi->get_variable("CALLERID(num)"); $incoming_num = mysql_escape_string($callerid['data']); $incoming_num = substr(preg_replace("/[^0-9]/", "", $incoming_num), -9); $agi->exec('NoOp', $incoming_num); if (strlen($incoming_num) > 6) { $client = values("SELECT id, checkid, autoresponse_file FROM `workbase`.`autoresponser` WHERE phone LIKE '%" . $incoming_num . "' AND need_autoresponse=1 ORDER BY need_autoresponse DESC, id DESC LIMIT 7"); $agi->exec('NoOp', 'Count: ' . count($client)); for ($i = 0; $i < count($client); $i++) { if (!file_exists("/var/lib/asterisk/sounds/en/" . $client[$i]["autoresponse_file"] . "_.wav")) { $agi->exec('NoOp', "/var/lib/asterisk/sounds/en/" . $client[$i]["autoresponse_file"] . "_.wav"); continue; } $agi->stream_file('receipt_', "79#"); $agi->say_digits($client[$i]["checkid"], "79#"); $agi->stream_file($client[$i]["autoresponse_file"] . "_", "79#"); values("UPDATE `workbase`.`autoresponser` SET response_date='" . Date("Y-m-d H:i:s") . "' WHERE id=" . $client[$i]['id']); } }