[AsteriskBrasil] Conexao com banco ( AGI )
Fabiano Heringer (BiGuRoOt)
bigu em grupoheringer.com.br
Sexta Dezembro 22 13:28:09 BRST 2006
Ae lista,
to começando a mexer com AGI e PHP no *, ja fiz algumas coisinhas que
dão um entendimento bacana da linguagem...o que estou tentando fazer
agora é uma conexao com um banco de dados mysql...meu .agi está assim:
#!/usr/bin/php -q
<?
ob_implicit_flush(true);
set_time_limit(6);
$in = fopen("php://stdin","r");
$stdlog = fopen("/var/log/asterisk/my_agi.log", "w");
$debug = true;
function read() {
global $in, $debug, $stdlog;
$input = str_replace("\n", "", fgets($in, 4096));
if ($debug) fputs($stdlog, "read: $input\n");
return $input;
}
function errlog($line) {
global $err;
echo "VERBOSE \"$line\"\n";
}
function write($line) {
global $debug, $stdlog;
if ($debug) fputs($stdlog, "write: $line\n");
echo $line."\n";
}
while ($env=read()) {
$s = split(": ",$env);
$agi[str_replace("agi_","",$s[0])] = trim($s[1]);
if (($env == "") || ($env == "\n")) {
break;
}
}
$db_connection = mysql_connect('localhost', 'usuario_bd', 'senha_bd') or
die (mysql_error());
$db_select = mysql_select_db('telefones') or die (mysql_error());
$query = "select numero_telefone from numeros WHERE numero_telefone =
'$numero_discado'";
$query_resultado = mysql_query($query,$db_connection);
$query_fetch_row = mysql_num_rows($query_resultado);
$resultado = mysql_fetch_array($query_resultado);
if ($query_fetch_row = 0) {
write("EXEC PLAYBACK XXXX")
}
else
write("EXEC DIAL XXXX" .$agi[extension] );
}
fclose($in);
fclose($stdlog);
exit;
?>
O problema que ele nao chega nem mesmo a conectar no banco ao ser
executado...
ja testei as strings de conexao criando um php normal para abrir em web e
ele está efetuando a conexao e trazendo os resultados perfeitamente, o que
eu posso estar errando ai?
Sera que esqueci de ativar algum suporte a mysql no Asterisk? (creio que
nao, pois o cdr esta gravando no banco perfeitamente)
Obrigado pela ajuda...
Abracos!
Mais detalhes sobre a lista de discussão AsteriskBrasil