#!/usr/bin/php -q
<?php
/*Подключение к БД*/
$host = '*'; // адрес сервера
$database = '**'; // имя базы данных
$user = '**'; // имя пользователя
$password = '***'; // пароль
$link = mysqli_connect($host, $user, $password, $database) or die("Ошибка " . mysqli_error($link));
// выполняем операции с базой данных
$query = "SELECT COUNT(id) FROM table_1 WHERE status='0'";
$result = mysqli_query($link, $query) or die("Ошибка Количества Строк В Таблице ".mysqli_error($link));
if ($result) {
echo mysqli_fetch_row($result)[0]."\n";
$countTABLE = mysqli_fetch_row($result)[0];
if ($countTABLE != '0'){
<------>mysqli_free_result($result);
<------>$query ="SELECT * FROM table_1 WHERE status = '0'";
<------>$result = mysqli_query($link, $query) or die("Ошибка " . mysqli_error($link));
<------>if($result)
<------>{
<------> $rows = mysqli_num_rows($result); // количество полученных строк
<------>
<------> for ($i = 0 ; $i < $rows ; ++$i)
<------><------>$row = mysqli_fetch_row($result);
<------><------>echo $row[0]." ; ".$row[1]." ; ".$row[2]."\n";
<------>....
<------><------>$query_update = "UPDATE table_1 SET status='1' WHERE (id=".$row[0].") AND (number=".$row[1].")";
<------><------>$resultUPDATE = mysqli_query($link,$query_update) or die("Ошибка ". mysqli_error($link));
<------>....
<------><------>$idCALL = trim($row[0]);
<------><------>$numberCALL = trim($row[1]);
<------><------>
<------><------>
<------><------>$callfile="/media/Call-test/calls-".$numberCALL.".call";
<------><------>$cf =fopen($callfile,"w+");.
<------><------>fputs($cf,"Channel: Local/".$numberCALL."@call-test\n");
<------><------>fputs($cf,"Callerid: ".$numberCALL."\n");
<------><------>fputs($cf,"MaxRetries: 0\n");
<------><------>fputs($cf,"RetryTime: 30\n");
<------><------>fputs($cf,"WaitTime: 60\n");
<------><------>fputs($cf,"Account: account\n");
<------><------>fputs($cf,"Context: from-obzvon\n");
<------><------>fputs($cf,"Extension: s\n");
<------><------>fputs($cf,"Archive: Yes\n");
<------><------>fclose($cf);
<------><------>copy($callfile,"/var/spool/asterisk/outgoing/".$numberCALL.".call");
<------><------>do{
<------><------> $query_status = "SELECT * FROM table_1 WHERE (id='".$idCALL."') AND(number='".$numberCALL."')";
<------><------> $resultSTATUS = mysqli_query($link, $query_status);
<------><------> $rowSTATUS = mysqli_fetch_row($resultSTATUS);
<------><------> echo $rowSTATUS[2]."\n";
<------><------>}while ($rowSTATUS[2] == '1');
<------> }
<------>....
<------> //mysqli_free_result($resultUPDATE);
<------>....
<------> // очищаем результат
<------> mysqli_free_result($result);
<------> echo "Выполнение запроса прошло успешно";
<------>}
}
}
// закрываем подключение
mysqli_close($link);
?>
Если на софтфоне ставлю отсутствуют то скрипт видит оператора что он не говорит и звонит абоненту а потом не знает что с этим номер делать и держит его на удержание.