[AsteriskBrasil] script para realizar ligação no asterisk (AGI)

Kim Delevati kim.delevati em gmail.com
Segunda Março 30 17:06:36 BRT 2009


Qualquer coisa só perguntar, desenvolvi várias coisas em AGI aqui.

2009/3/30 Ricardo Guedes de Carvalho <rguedesdecarvalho em gmail.com>

> ops, não li tbm esse primeiro, hehe
> vou testar aqui e tentar rodar, valew pela dica, mto obrigado Kim.
> ;)
>
> 2009/3/30 Kim Delevati <kim.delevati em gmail.com>
>
> Ops, respondi no outro, sem ter visto esse antes.
>>
>> Então, o que você falou é bem simples, depois que você pega o jeito do
>> AGI.
>>
>> http://www.voip-info.org/wiki/view/Asterisk+AGI+php
>>
>> Aqui basicamente tem tudo, algumas dicas minhas:
>>
>> Recomendo baixar a classe phpagi:
>>
>> http://phpagi.sourceforge.net/
>>
>> Ela torna bem mais fáceis as funções.
>>
>> Primeiras linhas do Script tem que ser isso:
>>
>> #!/usr/bin/php5
>> <?
>> require 'phpagi.php';
>> ob_implicit_flush(false);
>> set_time_limit(3000);
>> $stdin = fopen( 'php://stdin', 'r' );
>> $stdout = fopen('php://stdout', 'w');
>>
>>
>>
>> Na primeira, tem que modificar, coloque o caminho, e a versão do seu php.
>> A segunda é aquilo, lembre-se que não pode ter NENHUM espaço em branco entre
>> a primeira e a segunda, só a nova linha mesmo.
>> A terceira linha é opcional, caso você queira usar a classe phpagi. Caso
>> queira, delete todas as linhas seguintes. Caso não queira, delete só ela.
>>
>> Após isso, se escolheu usar o phpagi, você declara:
>>
>> $agi = new AGI();
>>
>> E faz o dial:
>>
>> $agi->exec("Dial ".$numero."|op1|op2|opetc");
>>
>> O número seria que nem um normal de Asterisk, ex
>> SIP/02135674670 em servidorvoip, SIP/2001, ZAP/1/05534500940, etc... nas ops
>> você pode colocar opções normais do dial, tipo timeoout, etc... qualquer
>> coisa.
>>
>> Depois o hangup:
>>
>> $agi->hangup();
>>
>>
>>
>> Caso seja sem o phpagi, fica mais ou menos assim:
>>
>>
>> fwrite($stdout," exec dial ".$numero."|op1|op2|\n");
>> fflush($stdout);
>>
>>
>> Mesma coisa o negócio do numero e ops, mas lembre-se que mandando um
>> comando desse jeito, no final da string é OBRIGATÓRIO o uso do \n, se não o
>> asterisk se perde.
>> Depois o hangup:
>>
>> fwrite($stdout," exec Hangup \n");
>> fflush($stdout);
>>
>> Só tenho uma ressalva, esse Hangup aí as vezes não funciona direito...
>> recomendo usar um exit mesmo.
>>
>> E pra finalizar, acaba o script:
>>
>> ?>
>>
>>
>> Era isso, taí um script simples de dial, aí só coloca o numero e liga.
>> Caso queira que o numero seja passado pelo Asterisk quando chama o AGI, tem
>> que mandar como opção (pode passar várias), ex:
>>
>> exten->100,1,AGI(dial.php|numero qualquer|timeout)
>>
>> depois você pega dentro do script, com argv[1], argv[2], etc:
>>
>> $numero=$argv[1];
>> $timeout=$argv[2];
>>
>> Dá pra pegar muitas variáveis que o Asterisk passa também, e tem um
>> comando de pegar variáveis de diaplan. Digamos que as opções são quase
>> ilimitadas.
>>
>>
>> Ficou meio extenso, mas taí.
>>
>>
>>
>> 2009/3/30 Ricardo Guedes de Carvalho <rguedesdecarvalho em gmail.com>
>>
>>>   Boa tarde pessoal,
>>>
>>> Estou com algumas dificuldades ao tentar fazer um script em php o qual
>>> tem a finalidade de ao executá-lo, uma ligação é feita para um
>>> determinado número configurado em meu sistema asterisk. Na verdade não
>>> tenho muito idéia de como seria feito isso, sei que o script interage com
>>> o sistema através do AGI. Não tenho muita familiaridade com
>>> desenvolvimento de programa, script,etc. Não sei qual seria a linguagem
>>> apropriada para esse tipo de script, qual seria mais fácil,etc.
>>>
>>> Fico grato com a atenção de quem puder me ajudar.
>>> No aguardo e ancioso.
>>>
>>> Att,
>>>
>>> --
>>> Ricardo Guedes
>>> Suporte Telefonia Voz sobre IP
>>> IGNISCOM  (19) 3119-2445
>>>
>>> _______________________________________________
>>> Openmoko Freerunner, primeiro telefone open source, disponível no Brasil
>>> rodando o Android da Google.
>>> http://www.neodroid.com
>>>
>>> Compre uma camiseta da AsteriskBrasil.org!
>>> http://www.voipmania.com.br
>>>
>>> Acesse o canal IRC de discussão sobre Asterisk em Português Brasileiro na
>>> rede Freenode.net: #asterisk-br
>>> _______________________________________________
>>> Lista de discussões AsteriskBrasil.org
>>> AsteriskBrasil em listas.asteriskbrasil.org
>>> http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil
>>>
>>
>>
>> _______________________________________________
>> Openmoko Freerunner, primeiro telefone open source, disponível no Brasil
>> rodando o Android da Google.
>> http://www.neodroid.com
>>
>> Compre uma camiseta da AsteriskBrasil.org!
>> http://www.voipmania.com.br
>>
>> Acesse o canal IRC de discussão sobre Asterisk em Português Brasileiro na
>> rede Freenode.net: #asterisk-br
>> _______________________________________________
>> Lista de discussões AsteriskBrasil.org
>> AsteriskBrasil em listas.asteriskbrasil.org
>> http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil
>>
>
>
>
> --
> Ricardo Guedes
> Suporte Telefonia Voz sobre IP
> IGNISCOM  (19) 3119-2445
>
> _______________________________________________
> Openmoko Freerunner, primeiro telefone open source, disponível no Brasil
> rodando o Android da Google.
> http://www.neodroid.com
>
> Compre uma camiseta da AsteriskBrasil.org!
> http://www.voipmania.com.br
>
> Acesse o canal IRC de discussão sobre Asterisk em Português Brasileiro na
> rede Freenode.net: #asterisk-br
> _______________________________________________
> Lista de discussões AsteriskBrasil.org
> AsteriskBrasil em listas.asteriskbrasil.org
> http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil
>
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: http://listas.asteriskbrasil.org/pipermail/asteriskbrasil/attachments/20090330/225a7a26/attachment.htm 


Mais detalhes sobre a lista de discussão AsteriskBrasil