<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta content="text/html;charset=UTF-8" http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000000">
Boa tarde Adimir,<br>
<br>
Realmente o asterisk está muito perto shell, porém ele abre a
possibilidade, através do AGI (Asterisk Gateway Interface), de unir o
asterisk com outras aplicações. Essas aplicações podem ser
implementadas em muitas linguagens como C, C++, C#, Perl, Bash, Python,
PHP, Java dentre outras...<br>
<br>
O AGI em PHP não necessita do apache para ser executado. Basta chamar o
interpretador PHP para executar seu arquivo. Abaixo segue um exemplo de
como seria um script PHP que pode ser utilizado como AGI. <br>
<br>
Como nosso amigo Fernando disse, apenas tome o cuidado de não esquecer
de retornar algum valor para o asterisk, pois senão ele pode travar...<br>
<br>
=========================<br>
#!/usr/bin/env php (ou também pode ser usado #!/usr/bin/php -q)<br>
<?php<br>
APLICAÇÃO<br>
?><br>
==========================<br>
Se fosse em:<br>
Perl -> #!/usr/bin/perl<br>
Python -> #!/usr/bin/python<br>
<br>
E assim por diante...<br>
<br>
Abs<br>
<br>
Adimir escreveu:
<blockquote
cite="mid:e1a9faea0909211109n4bfe2ck7f8e2d9dd6003a1a@mail.gmail.com"
type="cite">Boa tarde a todos, a discussão esta boa e tals mas me vem
a seguinte duvida, quando vcs falam em AGI em PHP, seria um post
enviado para o apache executar uma pagina em php que retornaria alguma
coisa pelo request ? <br>
É que isso soa um pouco estranho ja que estamos no SO do linux e o
asterisk esta tão "perto" do shell ou de alguma linguagem interpretada
tipo Python ou Perl.<br>
<br>
Me corrijam se o caminho do php estiver incorreto.<br>
<br>
<br>
<br clear="all">
##########<br>
#::Adimir::#<br>
##########<br>
<br>
<br>
<div class="gmail_quote">2009/9/21 Cleber Barros <span dir="ltr"><<a
moz-do-not-send="true" href="mailto:cleber.suporte@bol.com.br">cleber.suporte@bol.com.br</a>></span><br>
<blockquote class="gmail_quote"
style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<p>Boa tarde,</p>
<p>O AEL é uma forma diferente para programar o plano de discagem,
muito parecida com outras linguagens de programação estruturadas, como
C, Pascal e PHP. O Objetivo é fornecer aos progrmadores uma rápida
adaptaçaõ ao plano de discagem do Asterisk, bem como a inclusão de
algumas aplicações e e estruturas lógicas mais complexas se forem
implementadas no plano de discagem padrão, como por exemplo, estruturas
de laço e condicionais.</p>
<p>Valeu,</p>
<p>Sds,</p>
<p>Cleber Barros</p>
<p>Â </p>
<p>Em 21/09/2009 14:14, <b><span>Sylvio Carlos Jollenbeck < <a
moz-do-not-send="true" href="mailto:sylvio.sdr@gmail.com"
target="_blank">sylvio.sdr@gmail.com</a> ></span></b> escreveu:</p>
<div>
<div class="h5">
<blockquote
style="border-left: 2px solid rgb(104, 104, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><br>
<div>
<p><span style="font-size: 11pt;">Olá,</span></p>
<p><span style="font-size: 11pt;"> </span></p>
<p><span style="font-size: 11pt;"> AEL significa Asterisk
Extension Language, você pode encontrar muita informação sobre ele em: <a
moz-do-not-send="true"
href="http://www.voip-info.org/wiki/view/Asterisk+AEL2" target="_blank">http://www.voip-info.org/wiki/view/Asterisk+AEL2</a>,
qualquer dúvida me avise.</span></p>
<p><span style="font-size: 11pt;"> </span></p>
<p><span style="font-size: 11pt;">Abs.</span></p>
<p><span style="font-size: 11pt;"> </span></p>
<div>
<p><span style="font-size: 11pt;">Sylvio Carlos Jollenbeck</span></p>
<p><span style="font-size: 11pt;"><a moz-do-not-send="true"
href="http://www.IPBOX.com.br" target="_blank">www.IPBOX.com.br</a></span></p>
</div>
<p><span style="font-size: 11pt;"> </span></p>
<div>
<div
style="border-style: solid none none; border-color: rgb(181, 196, 223) -moz-use-text-color -moz-use-text-color; border-width: 1pt medium medium; padding: 3pt 0cm 0cm;">
<p><b><span style="font-size: 10pt;">De:</span></b><span
style="font-size: 10pt;"> <a moz-do-not-send="true"
href="mailto:asteriskbrasil-bounces@listas.asteriskbrasil.org"
target="_blank">asteriskbrasil-bounces@listas.asteriskbrasil.org</a>
[mailto:<a moz-do-not-send="true"
href="mailto:asteriskbrasil-bounces@listas.asteriskbrasil.org"
target="_blank">asteriskbrasil-bounces@listas.asteriskbrasil.org</a>] <b>Em
nome de </b>Asterisk Addict Guy<br>
<b>Enviada em:</b> segunda-feira, 21 de setembro de 2009 14:02<br>
<b>Para:</b> <a moz-do-not-send="true"
href="mailto:asteriskbrasil@listas.asteriskbrasil.org" target="_blank">asteriskbrasil@listas.asteriskbrasil.org</a><br>
<b>Assunto:</b> Re: [AsteriskBrasil] RES: Jogos Passatempo</span></p>
</div>
</div>
<p> </p>
<p><span style="">Sylvio,<br>
<br>
Valeu pela dica.<br>
<br>
Quando falas AEL, estás falando das proprias macros on Dialplan, certo?<br>
<br>
E armarzenar a informação no database do Asterisk (database add xxxx )<br>
<br>
<br>
</span><br>
Sylvio Carlos Jollenbeck wrote: </p>
<p><span style="font-size: 11pt;">Fernando,</span></p>
<p><span style="font-size: 11pt;"> </span></p>
<p><span style="font-size: 11pt;"> Segue algumas preocupações que
você tem que ter:</span></p>
<p><span style="font-size: 11pt;"> </span></p>
<p style="margin-left: 53.25pt;"><span style="font-size: 11pt;">Ao
chamar uma AGI pelo Asterisk é aberto um fork no sistema, onde o
Asterisk deixa de processar as instruções e passa a enviar os dados
para esta AGI, por sua vez a AGI é processada por um interpretador
externo e após esse processamento deve retornar as informações ao
Asterisk.</span></p>
<p style="margin-left: 53.25pt;"><span style="font-size: 11pt;"> </span></p>
<p style="margin-left: 53.25pt;"><span style="font-size: 11pt;">Diante
da explicação acima, temos os seguintes problemas:</span></p>
<p style="margin-left: 53.25pt;"><span style="font-size: 11pt;"> </span></p>
<p style="margin-left: 88.5pt;"><span
style="font-size: 11pt; color: rgb(31, 73, 125);">Cada chamada de AGI
abre um fork individual no sistema, cada fork consome processamento e
memória RAM conforme sua programação e finalidade de uso.</span></p>
<p style="margin-left: 88.5pt;"><span
style="font-size: 11pt; color: rgb(31, 73, 125);">O Asterisk sempre
esperará uma resposta do AGI, caso essa resposta não ocorra ou ocorra
com erros, seu sistema esta fardado a travar (core dump).</span></p>
<p style="margin-left: 88.5pt;"><span
style="font-size: 11pt; color: rgb(31, 73, 125);">O uso do AGI é muito
útil e abre muito o seu leque para N funcionalidades desde que saiba
programar..... (me refiro a AGI).... Mas tome muito cuidado.... </span></p>
<p style="margin-left: 88.5pt;"><span
style="font-size: 11pt; color: rgb(31, 73, 125);">Minha sugestão é
você programas em AEL, para cada chamada entrante faça um insert na
base de dados e em seguida um count.... de acordo com o valor recebido
pelo count você reproduz sua mensagem. Seu risco de travar a aplicação
é zero.</span></p>
<p><span style="font-size: 11pt;"> </span></p>
<p><span style="font-size: 11pt;">abs</span></p>
<p><span style="font-size: 11pt;"> </span></p>
<div>
<p><span style="font-size: 11pt;">Sylvio Carlos Jollenbeck</span></p>
<p><span style="font-size: 11pt;"><a moz-do-not-send="true"
href="http://www.IPBOX.com.br" target="_blank">www.IPBOX.com.br</a></span></p>
</div>
<p><span style="font-size: 11pt;"> </span></p>
<div>
<div
style="border-style: solid none none; border-color: -moz-use-text-color; border-width: 1pt medium medium; padding: 3pt 0cm 0cm;">
<p><b><span style="font-size: 10pt;">De:</span></b><span
style="font-size: 10pt;"> <a moz-do-not-send="true"
href="http://compose?to=asteriskbrasil-bounces@listas.asteriskbrasil.org"
target="_blank">asteriskbrasil-bounces@listas.asteriskbrasil.org</a> [<a
moz-do-not-send="true"
href="http://mce_host/compose?to=asteriskbrasil-bounces@listas.asteriskbrasil.org"
target="_blank">mailto:asteriskbrasil-bounces@listas.asteriskbrasil.org</a>]
<b>Em nome de </b>Asterisk Addict Guy<br>
<b>Enviada em:</b> segunda-feira, 21 de setembro de 2009 13:08<br>
<b>Para:</b> <a moz-do-not-send="true"
href="http://mce_host/compose?to=asteriskbrasil@listas.asteriskbrasil.org"
target="_blank">asteriskbrasil@listas.asteriskbrasil.org</a><br>
<b>Assunto:</b> Re: [AsteriskBrasil] Jogos Passatempo</span></p>
</div>
</div>
<p><span style="">Geraldo,<br>
<br>
Obrigado pelo feedback.<br>
<br>
Terias algum exemplo deste PHP tratando desta forma?<br>
<br>
Não conheço muito bem esta interação do PHP com o Asterisk.<br>
<br>
Valeu.<br>
<br>
Fernando<br>
</span><br>
Geraldo Fco. do EspÃrito Santo Jr. wrote: </p>
<p>Boa ideia, parabéns pela iniciativa. </p>
<div>
</div>
<div>
<p>Na minha opinião eu não usaria Queues para fazer este
processo, pode ser feita exclusivamente com plano de discagem!</p>
</div>
<div>
<p>O item mais importante seria uma pequena aplicação em PHP para
tratar as chamadas, verificando qual o # de chegada usando a função
CURL do asterisk, assim esta página em PHP retornaria um # de 1 a 4,
onde estaria sendo devolvido o PLAYBACK adequado.  A página só tem que
tratar os # em Banco de Dados (tipo Mysql) com travamento de registro
para evitar qualquer duplicidade.</p>
</div>
<div>
</div>
<div>
<p>Acho que é isto, outro tipo de implementação!</p>
</div>
<div>
</div>
<div>
<p>[ ]s</p>
</div>
<div>
</div>
<div>
<p>Geraldo</p>
</div>
<div>
</div>
<div>
<div>
<p>2009/9/21 Asterisk Addict Guy <<a moz-do-not-send="true"
href="http://compose?to=asteriskaddict@gmail.com" target="_blank">asteriskaddict@gmail.com</a>></p>
<div>
<p style="margin-bottom: 12pt;"><span style="">Bom dia,<br>
<br>
Queria trocar uma idéia com a lista de como implementar um passatempo
digital.<br>
<br>
Todas as ligações recebidas em um determinado DID, serão encaminhadas
para um contexto [passatempo-001]<br>
<br>
A idéia seria mais ou menos assim:<br>
<br>
O passatempo terá somente um único prêmio, que a cada 100 ligações,
será atribuÃdo este prêmio.<br>
<br>
O passatempo tem que ter 3 fases (ou momentos):</span></p>
<ul style="margin-top: 0cm;" type="disc">
<li><span style="">Da ligação nº0 até a ligação número 30 - vai
tocar uma mensagem previamente gravada.</span></li>
<li><span style="">Da ligação nº 31 até 75 - vai tocar outra
mensagem previamente gravada.</span></li>
<li><span style="">Da ligação nº 76 até a 99 - vair tocar outra
mensagem previamente gravada.</span></li>
</ul>
<ul style="margin-top: 0cm;" type="disc">
<li><span style="">Na ligação nº 100, toca a mensagem de
vencedor do prêmio.</span></li>
</ul>
<p style="margin-bottom: 12pt;"><span style=""><br>
As regras de participação no passatempo são:</span></p>
<ul style="margin-top: 0cm;" type="disc">
<li><span style="">Todas as ligações que chegarem ao DID do
passatempo, devem ter o CallerID. Ligações que não tiverem CallerID são
descartadas (para a atribuição do prêmio) mas continua a contagem das
ligações.</span></li>
<li><span style="">As ligações que forem desligadas antes do
execução completa da mensagem (quem ligou deverá ouvir a mensagem até o
fim) serão descartadas (para a atribuição do prêmio) mas continua a
contagem das ligações.</span></li>
<li><span style="">Cada ligação recebida no DID, ocupa uma
posição na "fila" de chegada das chamadas concorrentes.</span></li>
</ul>
<p><span style=""><br>
<br>
Basicamente é isto o passatempo. A minha idéia para implementar isto,
passa por usar uma QUEUE. Criar um inbound route do DID e mandar para a
fila.<br>
<br>
Para simular o atendimento, teria que ser criado agentes estaticos
(talvez até ramais mesmo) que direcionam (follow-me) para announcements.<br>
<br>
No contexto [passatempo-001] é que teria toda esta lógica.<br>
<br>
<br>
Bom acho que seria mais ou menos isto, aguardo os comentários de todos.<br>
<br>
Grande abraço.</span> </p>
</div>
<p><br>
<br>
_______________________________________________<br>
Participe do IV Encontro VoIPCenter, 16 a 18 de setembro - São Paulo.<br>
VoIP, Asterisk e Convergência de Redes.<br>
<a moz-do-not-send="true"
href="http://www.encontrovoipcenter.com.br" target="_blank">http://www.encontrovoipcenter.com.br</a><br>
<br>
Compre uma camiseta da AsteriskBrasil.org!<br>
<a moz-do-not-send="true" href="http://www.voipmania.com.br"
target="_blank">http://www.voipmania.com.br</a><br>
<br>
Acesse o canal IRC de discussão sobre Asterisk em Português Brasileiro
na rede Freenode.net: #asterisk-br<br>
_______________________________________________<br>
Lista de discussões AsteriskBrasil.org<br>
<a moz-do-not-send="true"
href="http://mce_host/compose?to=AsteriskBrasil@listas.asteriskbrasil.org"
target="_blank">AsteriskBrasil@listas.asteriskbrasil.org</a><br>
<a moz-do-not-send="true"
href="http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil"
target="_blank">http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbras
il</a></p>
</div>
<p><br>
<br>
<br>
-- <br>
Geraldo<br>
<br>
<br>
<a moz-do-not-send="true"
href="http://www.brainyquote.com/quotes/authors/j/joan_crawford.html"
target="_blank">Joan Crawford</a> - "I, Joan Crawford, I believe in
the dollar. Everything I earn, I spend." </p>
</div>
<pre>Â </pre>
<pre style="text-align: center;">Â </pre>
<pre style="text-align: center;">
<hr align="center" size="4" width="90%">
</pre>
<pre style="text-align: center;">Â </pre>
<pre style="text-align: center;">Â </pre>
<pre style="text-align: center;">Â </pre>
<pre>Â </pre>
<pre>Â </pre>
<pre>_______________________________________________</pre>
<pre>Participe do IV Encontro VoIPCenter, 16 a 18 de setembro - São Paulo.</pre>
<pre>VoIP, Asterisk e Convergência de Redes.</pre>
<pre><a moz-do-not-send="true"
href="http://www.encontrovoipcenter.com.br" target="_blank">http://www.encontrovoipcenter.com.br</a></pre>
<pre>Â </pre>
<pre>Compre uma camiseta da AsteriskBrasil.org!</pre>
<pre><a moz-do-not-send="true" href="http://www.voipmania.com.br"
target="_blank">http://www.voipmania.com.br</a></pre>
<pre>Â </pre>
<pre>Acesse o canal IRC de discussão sobre Asterisk em Português Brasileiro na rede Freenode.net: #asterisk-br</pre>
<pre>_______________________________________________</pre>
<pre>Lista de discussões AsteriskBrasil.org</pre>
<pre><a moz-do-not-send="true"
href="http://compose?to=AsteriskBrasil@listas.asteriskbrasil.org"
target="_blank">AsteriskBrasil@listas.asteriskbrasil.org</a></pre>
<pre><a moz-do-not-send="true"
href="http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil"
target="_blank">http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil</a></pre>
<pre>Â </pre>
<pre style="text-align: center;">
<hr align="center" size="4" width="90%">
</pre>
<pre>Â </pre>
<pre>Â </pre>
<pre>_______________________________________________</pre>
<pre>Participe do IV Encontro VoIPCenter, 16 a 18 de setembro - São Paulo.</pre>
<pre>VoIP, Asterisk e Convergência de Redes.</pre>
<pre><a moz-do-not-send="true"
href="http://www.encontrovoipcenter.com.br" target="_blank">http://www.encontrovoipcenter.com.br</a></pre>
<pre>Â </pre>
<pre>Compre uma camiseta da AsteriskBrasil.org!</pre>
<pre><a moz-do-not-send="true" href="http://www.voipmania.com.br"
target="_blank">http://www.voipmania.com.br</a></pre>
<pre>Â </pre>
<pre>Acesse o canal IRC de discussão sobre Asterisk em Português Brasileiro na rede Freenode.net: #asterisk-br</pre>
<pre>_______________________________________________</pre>
<pre>Lista de discussões AsteriskBrasil.org</pre>
<pre><a moz-do-not-send="true"
href="http://compose?to=AsteriskBrasil@listas.asteriskbrasil.org"
target="_blank">AsteriskBrasil@listas.asteriskbrasil.org</a></pre>
<pre><a moz-do-not-send="true"
href="http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil"
target="_blank">http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil</a></pre>
</div>
<br>
</blockquote>
</div>
</div>
<br>
<br>
_______________________________________________<br>
Participe do IV Encontro VoIPCenter, 16 a 18 de setembro - São Paulo.<br>
VoIP, Asterisk e Convergência de Redes.<br>
<a moz-do-not-send="true"
href="http://www.encontrovoipcenter.com.br" target="_blank">http://www.encontrovoipcenter.com.br</a><br>
<br>
Compre uma camiseta da AsteriskBrasil.org!<br>
<a moz-do-not-send="true" href="http://www.voipmania.com.br"
target="_blank">http://www.voipmania.com.br</a><br>
<br>
Acesse o canal IRC de discussão sobre Asterisk em Português Brasileiro
na rede Freenode.net: #asterisk-br<br>
_______________________________________________<br>
Lista de discussões AsteriskBrasil.org<br>
<a moz-do-not-send="true"
href="mailto:AsteriskBrasil@listas.asteriskbrasil.org">AsteriskBrasil@listas.asteriskbrasil.org</a><br>
<a moz-do-not-send="true"
href="http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil"
target="_blank">http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil</a><br>
</blockquote>
</div>
<br>
<pre wrap="">
<hr size="4" width="90%">
_______________________________________________
Participe do IV Encontro VoIPCenter, 16 a 18 de setembro - São Paulo.
VoIP, Asterisk e Convergência de Redes.
<a class="moz-txt-link-freetext" href="http://www.encontrovoipcenter.com.br">http://www.encontrovoipcenter.com.br</a>
Compre uma camiseta da AsteriskBrasil.org!
<a class="moz-txt-link-freetext" href="http://www.voipmania.com.br">http://www.voipmania.com.br</a>
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
<a class="moz-txt-link-abbreviated" href="mailto:AsteriskBrasil@listas.asteriskbrasil.org">AsteriskBrasil@listas.asteriskbrasil.org</a>
<a class="moz-txt-link-freetext" href="http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil">http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil</a></pre>
</blockquote>
<br>
</body>
</html>
Rodrigo S. Vian<BR>Analista TI<BR>Porttal Tecnologia<BR>Soluções em TI & Telecom<BR>http://www.porttaltecnologia.com.br<BR>phone:55+19+3542-9667<BR><BR>|-- Antes de Imprimir, pense em sua responsabilidade com o Meio Ambiente --|<BR>