Добрый день. При входящем звонке у меня должен проиграться звуковой файлик и запуститься agi-script, который тоже должен проиграть файлик. Но скрипт, почему-то не работает...
<code>
#!/usr/bin/php -q
<?php
set_time_limit(60);
ob_implicit_flush(false);
error_reporting(0);
if (!defined('STDIN')) {
define('STDIN', fopen('php://stdin', 'r'));
}
if (!defined('STDOUT')) {
define('STDOUT', fopen('php://stdout', 'w'));
}
if (!defined('STDERR')) {
define('STDERR', fopen('php://stderr', 'w'));
}
while (!feof(STDIN)) {
$temp = trim(fgets(STDIN, 4096));
if (($temp == "") || ($temp == "\n")) {
break;
}
$s = explode(":", $temp);
$name = str_replace("agi_", "", $s[0]);
$agi[$name] = trim($s[1]);
}
$telephone_number1 = $agi['callerid'];
if (strlen($telephone_number1) > 7){
if substr($telephone_number1,0,3) = "380" {
$telephone_number1 = substr($telephone_number1, -9);
}else{
$telephone_number1 = substr($telephone_number1, -7)
}
}
$db_hostname = 'хост';
$db_database = 'uflOfJ';
$db_login = 'логин';
$db_password = 'пароль';
$db_table = 'users';
$db_query = "select skidka,fname,sname from users where telefon like '%$telephone_number1%' limit 1";
$db_server = mysql_connect($db_hostname, $db_login, $db_password);
if (!$db_server) die('CONNECT FAIL!!!');
mysql_select_db($db_database, $db_server) or die("CAN'T SELECT DB!!!");
$result = mysql_query($db_query);
$row = mysql_fetch_row($result);
$row[0] = trim($row[0]);
$row[1] = trim($row[1]);
$row[2] = trim($row[2]);
$row[3] = trim($row[3]);
if (!empty($row)) {
if ($row[0] == '299') {
fwrite(STDOUT, "STREAM FILE hello \"\"\n");
fflush(STDOUT);
$result = trim(fgets(STDIN, 4096));
checkresult($result);
fwrite(STDOUT, "STREAM FILE name \"\"\n");
fflush(STDOUT);
$result = trim(fgets(STDIN, 4096));
checkresult($result);
fwrite(STDOUT, "STREAM FILE two \"\"\n");
fflush(STDOUT);
$result = trim(fgets(STDIN, 4096));
checkresult($result);
fwrite(STDOUT, "STREAM FILE bye \"\"\n");
fflush(STDOUT);
$result = trim(fgets(STDIN, 4096));
checkresult($result);
} elseif ($row[0] == '5') {
fwrite(STDOUT, "STREAM FILE customer_ru_romedal \"\"\n");
fflush(STDOUT);
$result = trim(fgets(STDIN, 4096));
checkresult($result);
} else {
}
}
function checkresult($res)
{
trim($res);
if (preg_match('/^200/', $res)) {
if (!preg_match('/result=(-?\d+)/', $res, $matches)) {
fwrite(STDERR, "FAIL ($res)\n");
fflush(STDERR);
return 0;
} else {
fwrite(STDERR, "PASS (" . $matches[1] . ")\n");
fflush(STDERR);
return $matches[1];
}
} else {
fwrite(STDERR, "FAIL (unexpected result '$res')\n");
fflush(STDERR);
return -1;
}
}
?>
</code>
Вопрос первый: где должен размещаться файл, который проигрывается phpagi
спросил
2012-08-21 18:48:59 +0400
Аноним