<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">

<head>
<meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
<meta name=Generator content="Microsoft Word 12 (filtered medium)">
<!--[if !mso]>
<style>
v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
</style>
<![endif]-->
<style>
<!--
 /* Font Definitions */
 @font-face
        {font-family:Wingdings;
        panose-1:5 0 0 0 0 0 0 0 0 0;}
@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;}
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 Char";
        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;}
span.EstiloDeEmail19
        {mso-style-type:personal-reply;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
.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:116533814;
        mso-list-type:hybrid;
        mso-list-template-ids:1211922004 411445738 68550659 68550661 68550657 68550659 68550661 68550657 68550659 68550661;}
@list l0:level1
        {mso-level-start-at:0;
        mso-level-number-format:bullet;
        mso-level-text:\F0B7;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        margin-left:88.5pt;
        text-indent:-18.0pt;
        font-family:Symbol;
        mso-fareast-font-family:Calibri;
        mso-bidi-font-family:"Times New Roman";}
@list l1
        {mso-list-id:1276718631;
        mso-list-template-ids:-1421857076;}
@list l1: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 l2
        {mso-list-id:1302225615;
        mso-list-template-ids:-841848610;}
@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;}
@list l3
        {mso-list-id:1861820197;
        mso-list-type:hybrid;
        mso-list-template-ids:-461324682 436881304 68550659 68550661 68550657 68550659 68550661 68550657 68550659 68550661;}
@list l3:level1
        {mso-level-start-at:0;
        mso-level-number-format:bullet;
        mso-level-text:\F0B7;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        margin-left:53.25pt;
        text-indent:-18.0pt;
        font-family:Symbol;
        mso-fareast-font-family:Calibri;
        mso-bidi-font-family:"Times New Roman";}
@list l4
        {mso-list-id:2063433100;
        mso-list-template-ids:2133612152;}
@list l4: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;}
-->
</style>
<!--[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]-->
</head>

<body bgcolor=white lang=PT-BR link=blue vlink=purple>

<div class=Section1>

<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'>Fernando,<o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'><o:p>&nbsp;</o:p></span></p>

<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'>                Segue algumas preocupações que você tem que ter:<o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'><o:p>&nbsp;</o:p></span></p>

<p class=MsoListParagraph style='margin-left:53.25pt'><span style='font-size:
11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>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.<o:p></o:p></span></p>

<p class=MsoListParagraph style='margin-left:53.25pt'><span style='font-size:
11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p>&nbsp;</o:p></span></p>

<p class=MsoListParagraph style='margin-left:53.25pt'><span style='font-size:
11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>Diante da explicação
acima, temos os seguintes problemas:<o:p></o:p></span></p>

<p class=MsoListParagraph style='margin-left:53.25pt'><span style='font-size:
11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p>&nbsp;</o:p></span></p>

<p class=MsoListParagraph style='margin-left:88.5pt;text-indent:-18.0pt;
mso-list:l0 level1 lfo5'><![if !supportLists]><span style='font-size:11.0pt;
font-family:Symbol;color:#1F497D'><span style='mso-list:Ignore'>·<span
style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span></span><![endif]><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
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.<o:p></o:p></span></p>

<p class=MsoListParagraph style='margin-left:88.5pt;text-indent:-18.0pt;
mso-list:l0 level1 lfo5'><![if !supportLists]><span style='font-size:11.0pt;
font-family:Symbol;color:#1F497D'><span style='mso-list:Ignore'>·<span
style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span></span><![endif]><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
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).<o:p></o:p></span></p>

<p class=MsoListParagraph style='margin-left:88.5pt;text-indent:-18.0pt;
mso-list:l0 level1 lfo5'><![if !supportLists]><span style='font-size:11.0pt;
font-family:Symbol;color:#1F497D'><span style='mso-list:Ignore'>·<span
style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span></span><![endif]><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
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.... <o:p></o:p></span></p>

<p class=MsoListParagraph style='margin-left:88.5pt;text-indent:-18.0pt;
mso-list:l0 level1 lfo5'><![if !supportLists]><span style='font-size:11.0pt;
font-family:Symbol;color:#1F497D'><span style='mso-list:Ignore'>·<span
style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span></span><![endif]><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
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.<o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'><o:p>&nbsp;</o:p></span></p>

<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'>abs<o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'><o:p>&nbsp;</o:p></span></p>

<div>

<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'>Sylvio Carlos Jollenbeck<o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'>www.IPBOX.com.br<o:p></o:p></span></p>

</div>

<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'><o:p>&nbsp;</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:"Tahoma","sans-serif";
color:windowtext'>De:</span></b><span style='font-size:10.0pt;font-family:"Tahoma","sans-serif";
color:windowtext'> 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 13:08<br>
<b>Para:</b> asteriskbrasil@listas.asteriskbrasil.org<br>
<b>Assunto:</b> Re: [AsteriskBrasil] Jogos Passatempo<o:p></o:p></span></p>

</div>

</div>

<p class=MsoNormal><o:p>&nbsp;</o:p></p>

<p class=MsoNormal><span style='font-family:"Tahoma","sans-serif"'>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>&nbsp;</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. &nbsp;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>&nbsp;</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>&nbsp;</o:p></p>

</div>

<div>

<p class=MsoNormal>[ ]s<o:p></o:p></p>

</div>

<div>

<p class=MsoNormal><o:p>&nbsp;</o:p></p>

</div>

<div>

<p class=MsoNormal>Geraldo<o:p></o:p></p>

</div>

<div>

<p class=MsoNormal><o:p>&nbsp;</o:p></p>

</div>

<div>

<p class=MsoNormal style='margin-bottom:12.0pt'><o:p>&nbsp;</o:p></p>

<div>

<p class=MsoNormal>2009/9/21 Asterisk Addict Guy &lt;<a
href="mailto:asteriskaddict@gmail.com">asteriskaddict@gmail.com</a>&gt;<o:p></o:p></p>

<div>

<p class=MsoNormal style='margin-bottom:12.0pt'><span style='font-family:"Tahoma","sans-serif"'>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 type=disc>
 <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
     mso-list:l4 level1 lfo1'><span style='font-family:"Tahoma","sans-serif"'>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-margin-top-alt:auto;mso-margin-bottom-alt:auto;
     mso-list:l4 level1 lfo1'><span style='font-family:"Tahoma","sans-serif"'>Da
     ligação nº 31 até 75 - vai tocar outra mensagem previamente gravada.</span><o:p></o:p></li>
 <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
     mso-list:l4 level1 lfo1'><span style='font-family:"Tahoma","sans-serif"'>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>&nbsp;</o:p></p>

<ul type=disc>
 <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
     mso-list:l1 level1 lfo2'><span style='font-family:"Tahoma","sans-serif"'>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:"Tahoma","sans-serif"'><br>
As regras de participação no passatempo são:</span><o:p></o:p></p>

<ul type=disc>
 <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
     mso-list:l2 level1 lfo3'><span style='font-family:"Tahoma","sans-serif"'>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-margin-top-alt:auto;mso-margin-bottom-alt:auto;
     mso-list:l2 level1 lfo3'><span style='font-family:"Tahoma","sans-serif"'>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-margin-top-alt:auto;mso-margin-bottom-alt:auto;
     mso-list:l2 level1 lfo3'><span style='font-family:"Tahoma","sans-serif"'>Cada
     ligação recebida no DID, ocupa uma posição na &quot;fila&quot; de chegada
     das chamadas concorrentes.</span><o:p></o:p></li>
</ul>

<p class=MsoNormal><span style='font-family:"Tahoma","sans-serif"'><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="mailto:AsteriskBrasil@listas.asteriskbrasil.org">AsteriskBrasil@listas.asteriskbrasil.org</a><br>
<a href="http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil"
target="_blank">http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil</a><o:p></o:p></p>

</div>

<p class=MsoNormal><br>
<br clear=all>
<br>
-- <br>
Geraldo<br>
<br>
<br>
<a href="http://www.brainyquote.com/quotes/authors/j/joan_crawford.html"
target="_blank">Joan Crawford</a> &nbsp;- &quot;I, Joan Crawford, I believe in
the dollar. Everything I earn, I spend.&quot; <o:p></o:p></p>

</div>

<pre><o:p>&nbsp;</o:p></pre><pre style='text-align:center'>

<hr size=4 width="90%" align=center>

</pre><pre><o:p>&nbsp;</o:p></pre><pre><o:p>&nbsp;</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">http://www.encontrovoipcenter.com.br</a><o:p></o:p></pre><pre><o:p>&nbsp;</o:p></pre><pre>Compre uma camiseta da AsteriskBrasil.org!<o:p></o:p></pre><pre><a
href="http://www.voipmania.com.br">http://www.voipmania.com.br</a><o:p></o:p></pre><pre><o:p>&nbsp;</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="mailto:AsteriskBrasil@listas.asteriskbrasil.org">AsteriskBrasil@listas.asteriskbrasil.org</a><o:p></o:p></pre><pre><a
href="http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil">http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil</a><o:p></o:p></pre></div>

</body>

</html>