Este agi lo que hace es que valida la clave de acceso de aplicación Authenticate() desde una base de datos mysql.
#!/usr/bin/php -q
<?
set_time_limit(30);
require('phpagi.php');
require('conect.php');
error_reporting(E_ALL);
$agi = new AGI();
$agi->answer();
$result = $agi->get_data('agent-pass',8000 ,3); //esta opcion solo acepta entrada de 3 digitos maximo
//$result = $agi->get_data('/var/lib/asterisk/sounds/agi/recording_sound/intro',8000); //esta no tiene limite en la entrada pero tiene 8 segundo de timout
$keys = $result['result'];
$query = mysql_query("SELECT * FROM `users` WHERE password='$keys' LIMIT 1");
if ($query) {
if($row = mysql_fetch_array($query)) {
$agi->set_variable("code",$row[password]);
$agi->verbose($row[username]); //imprime el valor en pantalla
$agi->verbose($row[password]); //imprime el valor en pantalla
$agi->stream_file('auth-thankyou');
}
else {
$agi->stream_file("vm-invalidpassword","#");
$agi->stream_file("goodbye","#");
$agi->hangup();
}
}
mysql_close($con);
?>
--------------------------------------------------------------------------------------------------------
;este agi valida el usario desde una base de datos, luego le da acceso al disa
[agi]
exten=>_605,1,Agi(pass.php)
same=>n,verbose(este es el pass ${code})
same=>n,Set(CDR(accountcode)=${code}) ;agrega la clave como acccount code
same => n,Goto(funciones,*54,1) ; si la clave es correcta le damos acceso al usuario al contexto donde esta el disa
[funciones]
exten=>*54,1,answer()
same=>n,Disa(no-password,extensiones)
No hay comentarios:
Publicar un comentario