[AsteriskBrasil] RES: AGI
Ronaldo Gregorio de Araujo
ronaldo em sinprosp.org.br
Terça Abril 20 09:08:14 BRT 2010
Fala ai Carlos, blz ?!?!?
Segue um exemplo bem simples:
Eu instalei o phpagi dentro do /var/lib/asterisk/agi-bin/phpagi.
No extensions.conf
exten => 98,1(inicio),Playback(silence/1)
exten => 98,n,Playback(digite_matricula)
exten => 98,n,Playback(beep)
exten => 98,n,Read(digito,,5,,,3)
exten => 98,n,GOTOIF($["${digito}" = ""]?inicio)
exten => 98,n,Noop(${digito})
exten => 98,n,Playback(one-moment-please)
exten => 98,n,AGI(phpagi/teste4.php,${digito})
exten => 98,n,GOTOIF($["${retorno}" = "0"]?inicio:final)
exten => 98,n(final),Noop(Variavel: "* ${retorno} *")
exten => 98,n,Playback(vm-goodbye)
exten => 98,n,Hangup()
no arquivo /var/lib/asterisk/agi-bin/phpagi/teste4.php (chmod 755
teste4.php)
#!/usr/bin/php -q
<?
set_time_limit(30);
require('phpagi.php');
error_reporting(E_ALL);
$agi = new AGI();
$Param1=substr("00000" . $argv[1],-5);
$server="server";
$username="user";
$password="pass";
$cnnBASE=mssql_connect("$server","$username","$password") or die("Nao foi
possivel estabelecer conexão com o Banco.");
$bd=mssql_select_db("SINPRO", $cnnBASE) or die ("Nao foi possivel selecionar
o Banco de dados.");
$sql="SELECT Nome FROM cadastro WHERE Matricula = '" .$Param1 ."'";
$resultado=mssql_query($sql, $cnnBASE) or die ("Nao foi possivel executar a
consulta");
$linha = mssql_fetch_array($resultado);
if($linha != FALSE)
{
$nm_professor = substr($linha["Nome"],0,strpos($linha["Nome"],' ',1));
$agi->conlog($nm_professor);
$agi->set_variable("retorno", $nm_professor);
}
else
{
$agi->stream_file('nao_achou_matricula');
$agi->set_variable("retorno", "0");
}
?>
Espero que te ajude.
Ronaldo Araujo
-----Mensagem original-----
De: asteriskbrasil-bounces em listas.asteriskbrasil.org
[mailto:asteriskbrasil-bounces em listas.asteriskbrasil.org] Em nome de Carlos
Eduardo Sabatini
Enviada em: segunda-feira, 19 de abril de 2010 18:25
Para: asteriskbrasil em listas.asteriskbrasil.org
Assunto: [AsteriskBrasil] AGI
Boa tarde a todos da Lista,
Sei que já foi discutido o assunto na lista, mas mesmo pesquisando o
historico, e na internet e até mesmo com o auxilio de livro, ainda não
consegui usar agi com asterisk.
Será que alguem pode me passar um exemplo simples ´so para eu entender como
funciona???
Algo do tipo no dialplan chama o asterisk e passa um valor o script agi
recebe o valor e responde para o asterisk que recebeu e leu o que foi
passado.
O asterisk envia a solicitação e recebe a resposta.
Se possivel em php.
Obrigado.
Mais detalhes sobre a lista de discussão AsteriskBrasil