[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