<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; sylvio.sdr@gmail.com &gt;</span></b> escreveu:</p>
<blockquote style="border-left: 2px solid #6868cc; margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><br /> <!--[if !mso]>
<div class='notviscode'>v\:* {behavior:url(#default#VML);} o\:* {behavior:url(#default#VML);} w\:* {behavior:url(#default#VML);} .shape {behavior:url(#default#VML);}</div>
<![endif]-->
<div class="notviscode"><!--  /* Font Definitions */  @font-face         {font-family:"Cambria Math";         panose-1:2 4 5 3 5 4 6 3 2 4;} @font-face         {font-family:Calibri;         panose-1:2 15 5 2 2 2 4 3 2 4;} @font-face         {font-family:Tahoma;         panose-1:2 11 6 4 3 5 4 4 2 4;} @font-face         {font-family:Consolas;         panose-1:2 11 6 9 2 2 4 3 2 4;}  /* Style Definitions */  p.MsoNormal, li.MsoNormal, div.MsoNormal         {margin:0cm;         margin-bottom:.0001pt;         font-size:12.0pt;         font-family:"Times New Roman","serif";         color:black;} h1         {mso-style-priority:9;         mso-style-link:"Título 1 Char";         mso-margin-top-alt:auto;         margin-right:0cm;         mso-margin-bottom-alt:auto;         margin-left:0cm;         font-size:24.0pt;         font-family:"Times New Roman","serif";} a:link, span.MsoHyperlink         {mso-style-priority:99;         color:blue;         text-decoration:underline;} a:visited, span.MsoHyperlinkFollowed         {mso-style-priority:99;         color:purple;         text-decoration:underline;} pre         {mso-style-priority:99;         mso-style-link:"Pré-formatação HTML Ch
 ar";         margin:0cm;         margin-bottom:.0001pt;         font-size:10.0pt;         font-family:"Courier New";         color:black;} p.MsoListParagraph, li.MsoListParagraph, div.MsoListParagraph         {mso-style-priority:34;         margin-top:0cm;         margin-right:0cm;         margin-bottom:0cm;         margin-left:36.0pt;         margin-bottom:.0001pt;         font-size:12.0pt;         font-family:"Times New Roman","serif";         color:black;} span.Pr-formataoHTMLChar         {mso-style-name:"Pré-formatação HTML Char";         mso-style-priority:99;         mso-style-link:"Pré-formatação HTML";         font-family:Consolas;         color:black;} p.Preacute, li.Preacute, div.Preacute         {mso-style-name:"Pr&eacute\,-formata&ccedil\,&atilde\,o HTML";         mso-style-link:"Pr&eacute1\,-formata&ccedil1\,&atilde1\,o HTML Char1";         margin:0cm;         margin-bottom:.0001pt;         font-size:12.0pt;         font-family:"Times New Roman","serif";         color:black;} span.Preacute1         {mso-style-name:"Pr&eacute1\,-formata&ccedil1\,&atilde1\,o HTML Char1";         mso-style-priority:99;         mso-style-link:"Pr&eacute\,-formata&ccedil\,&ati
 lde\,o HTML";         font-family:Consolas;         color:black;} span.EstiloDeEmail22         {mso-style-type:personal;         font-family:"Calibri","sans-serif";         color:#1F497D;} span.EstiloDeEmail23         {mso-style-type:personal-reply;         font-family:"Calibri","sans-serif";         color:#1F497D;} span.Ttulo1Char         {mso-style-name:"Título 1 Char";         mso-style-priority:9;         mso-style-link:"Título 1";         font-weight:bold;} .MsoChpDefault         {mso-style-type:export-only;         font-size:10.0pt;} @page Section1         {size:612.0pt 792.0pt;         margin:70.85pt 3.0cm 70.85pt 3.0cm;} div.Section1         {page:Section1;}  /* List Definitions */  @list l0         {mso-list-id:47148129;         mso-list-template-ids:441976822;} @list l0:level1         {mso-level-number-format:bullet;         mso-level-text:\F0B7;         mso-level-tab-stop:36.0pt;         mso-level-number-position:left;         text-indent:-18.0pt;         mso-ansi-font-size:10.0pt;         font-family:Symbol;} @list l1         {mso-list-id:1336684119;         mso-list-template-ids:431014506;} @list l1:level1         {mso-level-number-format:bullet;         mso-level-t
 ext:\F0B7;         mso-level-tab-stop:36.0pt;         mso-level-number-position:left;         text-indent:-18.0pt;         mso-ansi-font-size:10.0pt;         font-family:Symbol;} @list l2         {mso-list-id:1611934312;         mso-list-template-ids:-14130544;} @list l2:level1         {mso-level-number-format:bullet;         mso-level-text:\F0B7;         mso-level-tab-stop:36.0pt;         mso-level-number-position:left;         text-indent:-18.0pt;         mso-ansi-font-size:10.0pt;         font-family:Symbol;} ol         {margin-bottom:0cm;} ul         {margin-bottom:0cm;} --></div>
<!--[if gte mso 9]><xml> <o:shapedefaults v:ext="edit" spidmax="1026" /> </xml><![endif]--><!--[if gte mso 9]><xml> <o:shapelayout v:ext="edit"> <o:idmap v:ext="edit" data="1" /> </o:shapelayout></xml><![endif]-->
<div class="Section1">
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:">Olá,<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"> AEL significa Asterisk Extension Language, você pode encontrar muita informação sobre ele em: <a 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.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:">Abs.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"><o:p> </o:p></span></p>
<div>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:">Sylvio Carlos Jollenbeck<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:">www.IPBOX.com.br<o:p></o:p></span></p>
</div>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"><o:p> </o:p></span></p>
<div>
<div style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0cm 0cm 0cm">
<p class="MsoNormal"><b><span style="font-size:10.0pt;font-family:">De:</span></b><span style="font-size:10.0pt;font-family:"> asteriskbrasil-bounces@listas.asteriskbrasil.org [mailto:asteriskbrasil-bounces@listas.asteriskbrasil.org] <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> asteriskbrasil@listas.asteriskbrasil.org<br /> <b>Assunto:</b> Re: [AsteriskBrasil] RES: Jogos Passatempo<o:p></o:p></span></p>
</div>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><span style="font-family:">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: <o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:">Fernando,</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"> </span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"> Segue algumas preocupações que você tem que ter:</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"> </span><o:p></o:p></p>
<p class="MsoListParagraph" style="margin-left:53.25pt"><span style="font-size: 11.0pt;font-family:">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><o:p></o:p></p>
<p class="MsoListParagraph" style="margin-left:53.25pt"><span style="font-size: 11.0pt;font-family:"> </span><o:p></o:p></p>
<p class="MsoListParagraph" style="margin-left:53.25pt"><span style="font-size: 11.0pt;font-family:">Diante da explicação acima, temos os seguintes problemas:</span><o:p></o:p></p>
<p class="MsoListParagraph" style="margin-left:53.25pt"><span style="font-size: 11.0pt;font-family:"> </span><o:p></o:p></p>
<p class="MsoListParagraph" style="margin-left:88.5pt;text-indent:-18.0pt"><span style="font-size: 11pt; font-family: &quot;Calibri&quot;,&quot;sans-serif&quot;; color: #1f497d;">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><o:p></o:p></p>
<p class="MsoListParagraph" style="margin-left:88.5pt;text-indent:-18.0pt"><span style="font-size: 11pt; font-family: &quot;Calibri&quot;,&quot;sans-serif&quot;; color: #1f497d;">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><o:p></o:p></p>
<p class="MsoListParagraph" style="margin-left:88.5pt;text-indent:-18.0pt"><span style="font-size: 11pt; font-family: &quot;Calibri&quot;,&quot;sans-serif&quot;; color: #1f497d;">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><o:p></o:p></p>
<p class="MsoListParagraph" style="margin-left:88.5pt;text-indent:-18.0pt"><span style="font-size: 11pt; font-family: &quot;Calibri&quot;,&quot;sans-serif&quot;; color: #1f497d;">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><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"> </span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:">abs</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"> </span><o:p></o:p></p>
<div>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:">Sylvio Carlos Jollenbeck</span><o:p></o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"><a href="http://www.IPBOX.com.br" target="_blank">www.IPBOX.com.br</a></span><o:p></o:p></p>
</div>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"> </span><o:p></o:p></p>
<div>
<div style="border:none;border-top:solid windowtext 1.0pt;padding:3.0pt 0cm 0cm 0cm; border-color:-moz-use-text-color -moz-use-text-color">
<p class="MsoNormal"><b><span style="font-size:10.0pt;font-family:">De:</span></b><span style="font-size:10.0pt;font-family:"> <a href="/compose?to=asteriskbrasil-bounces@listas.asteriskbrasil.org" target="_blank">asteriskbrasil-bounces@listas.asteriskbrasil.org</a> [<a 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 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><o:p></o:p></p>
</div>
</div>
<p class="MsoNormal"><o:p></o:p></p>
<p class="MsoNormal"><span style="font-family:">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: <o:p></o:p></p>
<p class="MsoNormal">Boa ideia, parabéns pela iniciativa. <o:p></o:p></p>
<div>
<p class="MsoNormal"><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">Na minha opinião eu não usaria Queues para fazer este processo, pode ser feita exclusivamente com plano de discagem!<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">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.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">Acho que é isto, outro tipo de implementação!<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">[ ]s<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">Geraldo<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="margin-bottom:12.0pt"><o:p></o:p></p>
<div>
<p class="MsoNormal">2009/9/21 Asterisk Addict Guy &lt;<a href="/compose?to=asteriskaddict@gmail.com" target="_blank">asteriskaddict@gmail.com</a>&gt;<o:p></o:p></p>
<div>
<p class="MsoNormal" style="margin-bottom:12.0pt"><span style="font-family:">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><o:p></o:p></p>
<ul style="margin-top:0cm" type="disc">
<li class="MsoNormal" style="mso-list:l1 level1 lfo1"><span style="font-family:      ">Da ligação nº0 até a ligação número 30 - vai tocar      uma mensagem previamente gravada.</span><o:p></o:p></li>
<li class="MsoNormal" style="mso-list:l1 level1 lfo1"><span style="font-family:      ">Da ligação nº 31 até 75 - vai tocar outra mensagem      previamente gravada.</span><o:p></o:p></li>
<li class="MsoNormal" style="mso-list:l1 level1 lfo1"><span style="font-family:      ">Da ligação nº 76 até a 99 - vair tocar outra      mensagem previamente gravada.</span><o:p></o:p></li>
</ul>
<p class="MsoNormal"><o:p></o:p></p>
<ul style="margin-top:0cm" type="disc">
<li class="MsoNormal" style="mso-list:l0 level1 lfo2"><span style="font-family:      ">Na ligação nº 100, toca a mensagem de vencedor do      prêmio.</span><o:p></o:p></li>
</ul>
<p class="MsoNormal" style="margin-bottom:12.0pt"><span style="font-family:"><br /> As regras de participação no passatempo são:</span><o:p></o:p></p>
<ul style="margin-top:0cm" type="disc">
<li class="MsoNormal" style="mso-list:l2 level1 lfo3"><span style="font-family:      ">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><o:p></o:p></li>
<li class="MsoNormal" style="mso-list:l2 level1 lfo3"><span style="font-family:      ">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><o:p></o:p></li>
<li class="MsoNormal" style="mso-list:l2 level1 lfo3"><span style="font-family:      ">Cada ligação recebida no DID, ocupa uma posição na      "fila" de chegada das chamadas concorrentes.</span><o:p></o:p></li>
</ul>
<p class="MsoNormal"><span style="font-family:"><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> <o:p></o:p></p>
</div>
<p class="MsoNormal"><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 href="http://www.encontrovoipcenter.com.br" target="_blank">http://www.encontrovoipcenter.com.br</a><br /> <br /> Compre uma camiseta da AsteriskBrasil.org!<br /> <a 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 href="http://mce_host/compose?to=AsteriskBrasil@listas.asteriskbrasil.org" target="_blank">AsteriskBrasil@listas.asteriskbrasil.org</a><br /> <a href="http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil" target="_blank">http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbras
 il</a><o:p></o:p></p>
</div>
<p class="MsoNormal"><br /> <br /> <br /> -- <br /> Geraldo<br /> <br /> <br /> <a 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." <o:p></o:p></p>
</div>
<pre> <o:p></o:p></pre>
<pre style="text-align:center"><o:p> </o:p></pre>
<pre style="text-align: center;"><br /><hr size="4" width="90%" align="center" /><br /><br /></pre>
<pre style="text-align:center"><o:p> </o:p></pre>
<pre style="text-align: center;"><o:p> </o:p></pre>
<pre style="text-align:center">  <o:p></o:p></pre>
<pre> <o:p></o:p></pre>
<pre> <o:p></o:p></pre>
<pre>_______________________________________________<o:p></o:p></pre>
<pre>Participe do IV Encontro VoIPCenter, 16 a 18 de setembro - São Paulo.<o:p></o:p></pre>
<pre>VoIP, Asterisk e Convergência de Redes.<o:p></o:p></pre>
<pre><a href="http://www.encontrovoipcenter.com.br" target="_blank">http://www.encontrovoipcenter.com.br</a><o:p></o:p></pre>
<pre> <o:p></o:p></pre>
<pre>Compre uma camiseta da AsteriskBrasil.org!<o:p></o:p></pre>
<pre><a href="http://www.voipmania.com.br" target="_blank">http://www.voipmania.com.br</a><o:p></o:p></pre>
<pre> <o:p></o:p></pre>
<pre>Acesse o canal IRC de discussão sobre Asterisk em Português Brasileiro na rede Freenode.net: #asterisk-br<o:p></o:p></pre>
<pre>_______________________________________________<o:p></o:p></pre>
<pre>Lista de discussões AsteriskBrasil.org<o:p></o:p></pre>
<pre><a href="/compose?to=AsteriskBrasil@listas.asteriskbrasil.org" target="_blank">AsteriskBrasil@listas.asteriskbrasil.org</a><o:p></o:p></pre>
<pre><a href="http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil" target="_blank">http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil</a><o:p></o:p></pre>
<pre><o:p> </o:p></pre>
<pre style="text-align: center;"><br /><hr size="4" width="90%" align="center" /><br /><br /></pre>
<pre><o:p> </o:p></pre>
<pre><o:p> </o:p></pre>
<pre>_______________________________________________<o:p></o:p></pre>
<pre>Participe do IV Encontro VoIPCenter, 16 a 18 de setembro - São Paulo.<o:p></o:p></pre>
<pre>VoIP, Asterisk e Convergência de Redes.<o:p></o:p></pre>
<pre><a href="http://www.encontrovoipcenter.com.br" target="_blank">http://www.encontrovoipcenter.com.br</a><o:p></o:p></pre>
<pre><o:p> </o:p></pre>
<pre>Compre uma camiseta da AsteriskBrasil.org!<o:p></o:p></pre>
<pre><a href="http://www.voipmania.com.br" target="_blank">http://www.voipmania.com.br</a><o:p></o:p></pre>
<pre><o:p> </o:p></pre>
<pre>Acesse o canal IRC de discussão sobre Asterisk em Português Brasileiro na rede Freenode.net: #asterisk-br<o:p></o:p></pre>
<pre>_______________________________________________<o:p></o:p></pre>
<pre>Lista de discussões AsteriskBrasil.org<o:p></o:p></pre>
<pre><a href="/compose?to=AsteriskBrasil@listas.asteriskbrasil.org" target="_blank">AsteriskBrasil@listas.asteriskbrasil.org</a><o:p></o:p></pre>
<pre><a href="http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil" target="_blank">http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil</a><o:p></o:p></pre>
</div>
<br /></blockquote>