[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