Aqui vamos a Validar las llamadas entrantes a nuestra Central atravez de una base de dato MYSQL y basado en el Caller ID la llamada sera destinada a rutas especificas.
Contexto:
[incoming]
exten=>s,1,Answer()
same=>n,Agi(caller_id.php)
same=>n,Hangup()
Archivo caller_id.php :
#!/usr/bin/php -q
<?
set_time_limit(30);
require('phpagi.php');
require('conect.php');
error_reporting(E_ALL);
$agi = new AGI();
$agi->answer();
//http://php.net/manual/en/function.date.php
$time=date('a');
$agi->stream_file("welcome");
$cid = $agi->parse_callerid();
$agi->verbose($cid[username]);
$agi->verbose($time);
$query = mysql_query("SELECT * FROM `phone_book` WHERE phone_num=$cid[username] ORDER BY phone_id DESC LIMIT 1");
if ($query) {
if($row = mysql_fetch_array($query)) {
$agi->verbose($row[phone_name]); //imprime el valor en pantalla
$agi->verbose($row[phone_num]); //imprime el valor en pantalla
$cliente=$row[phone_num];
if ($row[phone_num]==8097143489){
$agi->exec_dial('SIP','101','25');
}
if($row[phone_num]=102){
$agi->exec_dial('SIP','4443@voipms','25');
}
}
else {
$agi->stream_file("/var/lib/asterisk/sounds/agi/recording_sound/invalid","#");
$agi->exec_goto('agi',609,1);
}
}
mysql_close($con);
?>
contexto
exten=>609,1,Answer()
same=>n,agi(caller_id.php)
same=>n,hangup()
No hay comentarios:
Publicar un comentario