<!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>
&lt;?php<br>
APLICAÇÃO<br>
?&gt;<br>
==========================<br>
Se fosse em:<br>
Perl -&gt; #!/usr/bin/perl<br>
Python -&gt; #!/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">&lt;<a
 moz-do-not-send="true" href="mailto:cleber.suporte@bol.com.br">cleber.suporte@bol.com.br</a>&gt;</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 &lt; <a
 moz-do-not-send="true" href="mailto:sylvio.sdr@gmail.com"
 target="_blank">sylvio.sdr@gmail.com</a> &gt;</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 &lt;<a moz-do-not-send="true"
 href="http://compose?to=asteriskaddict@gmail.com" target="_blank">asteriskaddict@gmail.com</a>&gt;</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>