[AsteriskBrasil] RES: RES: Jogos Passatempo

Rodrigo Vian listas em porttaltecnologia.com.br
Segunda Setembro 21 17:19:33 BRT 2009


Boa tarde Adimir,

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...

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.

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...

=========================
#!/usr/bin/env php (ou também pode ser usado #!/usr/bin/php -q)
<?php
APLICAÇÃO
?>
==========================
Se fosse em:
Perl -> #!/usr/bin/perl
Python -> #!/usr/bin/python

E assim por diante...

Abs

Adimir escreveu:
> 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 ?
> É 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.
>
> Me corrijam se o caminho do php estiver incorreto.
>
>
>
> ##########
> #::Adimir::#
> ##########
>
>
> 2009/9/21 Cleber Barros <cleber.suporte em bol.com.br 
> <mailto:cleber.suporte em bol.com.br>>
>
>     Boa tarde,
>
>     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.
>
>     Valeu,
>
>     Sds,
>
>     Cleber Barros
>
>      
>
>     Em 21/09/2009 14:14, *Sylvio Carlos Jollenbeck <
>     sylvio.sdr em gmail.com <mailto:sylvio.sdr em gmail.com> >* escreveu:
>
>
>         Olá,
>
>         AEL significa Asterisk Extension Language, você pode encontrar
>         muita informação sobre ele em:
>         http://www.voip-info.org/wiki/view/Asterisk+AEL2, qualquer
>         dúvida me avise.
>
>         Abs.
>
>         Sylvio Carlos Jollenbeck
>
>         www.IPBOX.com.br <http://www.IPBOX.com.br>
>
>         *De:* asteriskbrasil-bounces em listas.asteriskbrasil.org
>         <mailto:asteriskbrasil-bounces em listas.asteriskbrasil.org>
>         [mailto:asteriskbrasil-bounces em listas.asteriskbrasil.org
>         <mailto:asteriskbrasil-bounces em listas.asteriskbrasil.org>] *Em
>         nome de *Asterisk Addict Guy
>         *Enviada em:* segunda-feira, 21 de setembro de 2009 14:02
>         *Para:* asteriskbrasil em listas.asteriskbrasil.org
>         <mailto:asteriskbrasil em listas.asteriskbrasil.org>
>         *Assunto:* Re: [AsteriskBrasil] RES: Jogos Passatempo
>
>         Sylvio,
>
>         Valeu pela dica.
>
>         Quando falas AEL, estás falando das proprias macros on
>         Dialplan, certo?
>
>         E armarzenar a informação no database do Asterisk (database
>         add xxxx )
>
>
>
>         Sylvio Carlos Jollenbeck wrote:
>
>         Fernando,
>
>         Segue algumas preocupações que você tem que ter:
>
>         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.
>
>         Diante da explicação acima, temos os seguintes problemas:
>
>         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 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 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....
>
>         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.
>
>         abs
>
>         Sylvio Carlos Jollenbeck
>
>         www.IPBOX.com.br <http://www.IPBOX.com.br>
>
>         *De:* asteriskbrasil-bounces em listas.asteriskbrasil.org
>         <http://compose?to=asteriskbrasil-bounces@listas.asteriskbrasil.org>
>         [mailto:asteriskbrasil-bounces em listas.asteriskbrasil.org
>         <http://mce_host/compose?to=asteriskbrasil-bounces@listas.asteriskbrasil.org>]
>         *Em nome de *Asterisk Addict Guy
>         *Enviada em:* segunda-feira, 21 de setembro de 2009 13:08
>         *Para:* asteriskbrasil em listas.asteriskbrasil.org
>         <http://mce_host/compose?to=asteriskbrasil@listas.asteriskbrasil.org>
>         *Assunto:* Re: [AsteriskBrasil] Jogos Passatempo
>
>         Geraldo,
>
>         Obrigado pelo feedback.
>
>         Terias algum exemplo deste PHP tratando desta forma?
>
>         Não conheço muito bem esta interação do PHP com o Asterisk.
>
>         Valeu.
>
>         Fernando
>
>         Geraldo Fco. do Espírito Santo Jr. wrote:
>
>         Boa ideia, parabéns pela iniciativa.
>
>         Na minha opinião eu não usaria Queues para fazer este
>         processo, pode ser feita exclusivamente com plano de discagem!
>
>         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.
>
>         Acho que é isto, outro tipo de implementação!
>
>         [ ]s
>
>         Geraldo
>
>         2009/9/21 Asterisk Addict Guy <asteriskaddict em gmail.com
>         <http://compose?to=asteriskaddict@gmail.com>>
>
>         Bom dia,
>
>         Queria trocar uma idéia com a lista de como implementar um
>         passatempo digital.
>
>         Todas as ligações recebidas em um determinado DID, serão
>         encaminhadas para um contexto [passatempo-001]
>
>         A idéia seria mais ou menos assim:
>
>         O passatempo terá somente um único prêmio, que a cada 100
>         ligações, será atribuído este prêmio.
>
>         O passatempo tem que ter 3 fases (ou momentos):
>
>             * Da ligação nº0 até a ligação número 30 - vai tocar uma
>               mensagem previamente gravada.
>             * Da ligação nº 31 até 75 - vai tocar outra mensagem
>               previamente gravada.
>             * Da ligação nº 76 até a 99 - vair tocar outra mensagem
>               previamente gravada.
>
>             * Na ligação nº 100, toca a mensagem de vencedor do prêmio.
>
>
>         As regras de participação no passatempo são:
>
>             * 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.
>             * 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.
>             * Cada ligação recebida no DID, ocupa uma posição na
>               "fila" de chegada das chamadas concorrentes.
>
>
>
>         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.
>
>         Para simular o atendimento, teria que ser criado agentes
>         estaticos (talvez até ramais mesmo) que direcionam (follow-me)
>         para announcements.
>
>         No contexto [passatempo-001] é que teria toda esta lógica.
>
>
>         Bom acho que seria mais ou menos isto, aguardo os comentários
>         de todos.
>
>         Grande abraço.
>
>
>
>         _______________________________________________
>         Participe do IV Encontro VoIPCenter, 16 a 18 de setembro - São
>         Paulo.
>         VoIP, Asterisk e Convergência de Redes.
>         http://www.encontrovoipcenter.com.br
>
>         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://mce_host/compose?to=AsteriskBrasil@listas.asteriskbrasil.org>
>         http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbras
>         il
>         <http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil>
>
>
>
>
>         -- 
>         Geraldo
>
>
>         Joan Crawford
>         <http://www.brainyquote.com/quotes/authors/j/joan_crawford.html>
>         - "I, Joan Crawford, I believe in the dollar. Everything I
>         earn, I spend."
>
>          
>
>          
>
>         ------------------------------------------------------------------------
>
>
>               
>
>          
>
>          
>
>           
>
>          
>
>          
>
>         _______________________________________________
>
>         Participe do IV Encontro VoIPCenter, 16 a 18 de setembro - São Paulo.
>
>         VoIP, Asterisk e Convergência de Redes.
>
>         http://www.encontrovoipcenter.com.br
>
>          
>
>         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://compose?to=AsteriskBrasil@listas.asteriskbrasil.org>
>
>         http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil
>
>          
>
>         ------------------------------------------------------------------------
>
>
>               
>
>          
>
>          
>
>         _______________________________________________
>
>         Participe do IV Encontro VoIPCenter, 16 a 18 de setembro - São Paulo.
>
>         VoIP, Asterisk e Convergência de Redes.
>
>         http://www.encontrovoipcenter.com.br
>
>          
>
>         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://compose?to=AsteriskBrasil@listas.asteriskbrasil.org>
>
>         http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil
>
>
>
>
>     _______________________________________________
>     Participe do IV Encontro VoIPCenter, 16 a 18 de setembro - São Paulo.
>     VoIP, Asterisk e Convergência de Redes.
>     http://www.encontrovoipcenter.com.br
>
>     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
>     <mailto:AsteriskBrasil em listas.asteriskbrasil.org>
>     http://listas.asteriskbrasil.org/mailman/listinfo/asteriskbrasil
>
>
> ------------------------------------------------------------------------
>
>
> _______________________________________________
> Participe do IV Encontro VoIPCenter, 16 a 18 de setembro - São Paulo.
> VoIP, Asterisk e Convergência de Redes.
> http://www.encontrovoipcenter.com.br
>
> 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



Rodrigo S. Vian
Analista TI
Porttal Tecnologia
Soluções em TI & Telecom
http://www.porttaltecnologia.com.br
phone:55+19+3542-9667

|-- Antes de Imprimir, pense em sua responsabilidade com o Meio Ambiente --|
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: http://listas.asteriskbrasil.org/pipermail/asteriskbrasil/attachments/20090921/80cac2a4/attachment-0001.htm 


Mais detalhes sobre a lista de discussão AsteriskBrasil