Buenas Tardes, primera vez que estoy viendo el tema de AGI (Asterisk).
Una consulta.
archivo php : filter_ut.php
#!/usr/bin/php -q
<?php
include 'phpagi.php';
$db_host = "localhost";
$db_port = "3306";
$db_name = "hook";
$db_user = "*****";
$db_pass = "******";
$agi = new AGI();
$agi->answer();
$callerid = $agi->request['agi_callerid'];
$dnid = $agi->request['agi_dnid'];
$agi->verbose("LLAMADA DE ... ".$callerid);
$conn = mysqli_connect($db_host,$db_user,$db_pass);
mysqli_select_db($conn,$db_name);
if (!$conn)
{
die('Could not connect: ' . mysql_error());
}
$queryhook = "SELECT id, ani, idioma, empresa FROM hook_ut WHERE ani like '%$callerid%' LIMIT 1";
$reshook = mysqli_query($conn,$queryhook);
$rowhook = mysqli_fetch_row($reshook);
// HOOK
if($rowhook[2]=="es")
{
$agi->set_variable("IDIOMA","esp");
$agi->goto("queue-vip-ut","s","1");
}
if($rowhook[2]=="en")
{
$agi->set_variable("IDIOMA","eng");
$agi->goto("queue-vip-ut","s","1");
}
?>
Archivo extension.conf
exten => XXXXXXXXXXX,1,Answer()
exten => XXXXXXXXXXX,n,GotoIfTime(07:00-23:00,mon-fri,*,*?open)
exten => XXXXXXXXXXX,n,GotoIfTime(07:00-23:00,sat,*,*?open)
exten => XXXXXXXXXXX,n,GotoIfTime(08:00-20:00,sun,*,*?open)
exten => XXXXXXXXXXX,n,Playback(fueradehorario/ivr_after_hours)
exten => XXXXXXXXXXX,n,Hangup()
exten => XXXXXXXXXXX,n(open),AGI(filter_ut.php)
exten => XXXXXXXXXXX,n(open),Goto(ivr-ut-vip,s,1)
Consiste,
En la tabla hook_ut, hay numeros telefonicos de clientes.
Resulta, que si un cliente llama a esa extension, mediante el AGI, debo de consultar la tabla hook_ut y verificar si el cliente existe y si existe lo deriva a un contexto (queue-vip-ut).
Pruebo, con un numero que esta en la base, pero no se redirecciona a ese contexto (queue-vip-ut).
No se que esta mal, probe sin datos del AGi, y resulta que el query funciona bien.
Por favor, podrias ayudarme, te lo agredecere mucho.
Una consulta.
archivo php : filter_ut.php
#!/usr/bin/php -q
<?php
include 'phpagi.php';
$db_host = "localhost";
$db_port = "3306";
$db_name = "hook";
$db_user = "*****";
$db_pass = "******";
$agi = new AGI();
$agi->answer();
$callerid = $agi->request['agi_callerid'];
$dnid = $agi->request['agi_dnid'];
$agi->verbose("LLAMADA DE ... ".$callerid);
$conn = mysqli_connect($db_host,$db_user,$db_pass);
mysqli_select_db($conn,$db_name);
if (!$conn)
{
die('Could not connect: ' . mysql_error());
}
$queryhook = "SELECT id, ani, idioma, empresa FROM hook_ut WHERE ani like '%$callerid%' LIMIT 1";
$reshook = mysqli_query($conn,$queryhook);
$rowhook = mysqli_fetch_row($reshook);
// HOOK
if($rowhook[2]=="es")
{
$agi->set_variable("IDIOMA","esp");
$agi->goto("queue-vip-ut","s","1");
}
if($rowhook[2]=="en")
{
$agi->set_variable("IDIOMA","eng");
$agi->goto("queue-vip-ut","s","1");
}
?>
Archivo extension.conf
exten => XXXXXXXXXXX,1,Answer()
exten => XXXXXXXXXXX,n,GotoIfTime(07:00-23:00,mon-fri,*,*?open)
exten => XXXXXXXXXXX,n,GotoIfTime(07:00-23:00,sat,*,*?open)
exten => XXXXXXXXXXX,n,GotoIfTime(08:00-20:00,sun,*,*?open)
exten => XXXXXXXXXXX,n,Playback(fueradehorario/ivr_after_hours)
exten => XXXXXXXXXXX,n,Hangup()
exten => XXXXXXXXXXX,n(open),AGI(filter_ut.php)
exten => XXXXXXXXXXX,n(open),Goto(ivr-ut-vip,s,1)
Consiste,
En la tabla hook_ut, hay numeros telefonicos de clientes.
Resulta, que si un cliente llama a esa extension, mediante el AGI, debo de consultar la tabla hook_ut y verificar si el cliente existe y si existe lo deriva a un contexto (queue-vip-ut).
Pruebo, con un numero que esta en la base, pero no se redirecciona a ese contexto (queue-vip-ut).
No se que esta mal, probe sin datos del AGi, y resulta que el query funciona bien.
Por favor, podrias ayudarme, te lo agredecere mucho.
Comentario