PHP - Consulta php y asterisk

 
Vista:

Consulta php y asterisk

Publicado por Jahg20 (1 intervención) el 11/11/2008 23:09:52
Estimados, tegno uancopnsulta lo que pasa es que estoy tratando de hacer un llamador automatico con asterisk , que lee los numeros telefonicos de una BD que posee los campos numero y flag, este ultimo indica si la persona conteso o no ("SI","NO"), la funcion llama hace la llamada mediante socket del asterisk manager, el cual lo manda a un contexto del asterisk (extensions_custom.conf), y este contexto es el que setea al flag dependiendo de que si la persona contesto o no la llamadas, Ahora mi problema esta en que como la funcion llama no es la setea directamente el flag tengo que esperar 60 s. "sleep(60)", para consultar a la BD y ver si el flag fue setteado para realizar la sgte. llamada, ahora mi pregunta es, habra alguan forma de esperar que el flag haya sido seteada sin necesidad de espera con el sleep(60), para hacer la conjsulta mediante un query????, agradeceria mucho las sugerencias, gracias.

<?php
include ("llamador.php");

ob_implicit_flush(true);
$db_connection = mysql_connect ("localhost", "root", "adminuse") or die("conexion mal");
mysql_select_db("test", $db_connection);
$sql="SELECT COUNT(*) FROM autodialer";
$res=mysql_query($sql,$db_connection);

while ($row = mysql_fetch_row($res)){
$numtotal=$row[0];
}
#echo $numtotal;
$numsi=0;
do {
$sql1="SELECT * FROM autodialer";
$res1=mysql_query($sql1,$db_connection);
while ($row1 = mysql_fetch_row($res1)){
if ($row1[1]=='no'){
#echo "hola <br/>";
echo"<div align="center">";
echo "La llamada al numero telefonico: ".$row1[0]." se esta realizando ...";
llama($row1[0]); ====> funcion que genera llamada pero no sete flag
sleep(60);====> como hago para no esperar???????

$sql3="SELECT flag FROM autodialer where fono=$row1[0]";
$res3=mysql_query($sql3,$db_connection);
while ($row3 = mysql_fetch_row($res3)){
if ($row3[0]=='si'){
echo "la llamada fue contestada <br/>";
}else {
echo "la llamada no fue contestada, esta sera relizada nuevamente <br/>";
}
}
#echo "la llamada se concreto<br/>";
}
else {
echo"<div align="center">";
echo "La llamada al numero telefonico: ".$row1[0]." ya fue realizada <br/>";}
}
$sql2="SELECT COUNT(*) FROM autodialer where flag='si'";
$res2=mysql_query($sql2,$db_connection);
while ($row2 = mysql_fetch_row($res2)){
$numsi=$row2[0];
}

#echo $numsi;
}While ($numtotal != $numsi);
echo "<h1>Todas las llamadas fueron realizadas!!!</h1>";
mysql_close();
?>
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder