Re: [AsteriskBrasil] RES: RES: Jogos Passatempo

2009-09-21 Por tôpico Cleber Barros
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@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

 


De: asteriskbrasil-boun...@listas.asteriskbrasil.org [mailto:asteriskbrasil-boun...@listas.asteriskbrasil.org] Em nome de Asterisk Addict Guy Enviada em: segunda-feira, 21 de setembro de 2009 14:02 Para: asteriskbrasil@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  )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

 


De: asteriskbrasil-boun...@listas.asteriskbrasil.org [mailto:asteriskbrasil-boun...@listas.asteriskbrasil.org] Em nome de Asterisk Addict Guy Enviada em: segunda-feira, 21 de setembro de 2009 13:08 Para: 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 asteriskadd...@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 

Re: [AsteriskBrasil] RES: RES: Jogos Passatempo

2009-09-21 Por tôpico Adimir
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.supo...@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@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

   *De:* asteriskbrasil-boun...@listas.asteriskbrasil.org [mailto:
 asteriskbrasil-boun...@listas.asteriskbrasil.org] *Em nome de *Asterisk
 Addict Guy
 *Enviada em:* segunda-feira, 21 de setembro de 2009 14:02
 *Para:* asteriskbrasil@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  )



 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

   *De:* 
 asteriskbrasil-boun...@listas.asteriskbrasil.orghttp://compose?to=asteriskbrasil-boun...@listas.asteriskbrasil.org[
 mailto:asteriskbrasil-boun...@listas.asteriskbrasil.orghttp://mce_host/compose?to=asteriskbrasil-boun...@listas.asteriskbrasil.org]
 *Em nome de *Asterisk Addict Guy
 *Enviada em:* segunda-feira, 21 de setembro de 2009 13:08
 *Para:* 
 asteriskbrasil@listas.asteriskbrasil.orghttp://mce_host/compose?to=asteriskbra...@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 
 asteriskadd...@gmail.comhttp://compose?to=asteriskadd...@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 

Re: [AsteriskBrasil] RES: RES: Jogos Passatempo

2009-09-21 Por tôpico Geraldo Fco . do Espírito Santo Jr .
Pessoal, é isto mesmo a programação em AEL é uma excelente ideia e vai
funcionar muito bem! A susgestão de PHP/Perl/Phyton é que vc poderia rodar
em servidores distintos sem precisar sobrecarregar a máquina do *, mas
também e totalmente valida, inclusive rodar um shell script na propria
máquina!

[ ]s

Geraldo

2009/9/21 Adimir adimirco...@gmail.com

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

   *De:* asteriskbrasil-boun...@listas.asteriskbrasil.org [mailto:
 asteriskbrasil-boun...@listas.asteriskbrasil.org] *Em nome de *Asterisk
 Addict Guy
 *Enviada em:* segunda-feira, 21 de setembro de 2009 14:02
 *Para:* asteriskbrasil@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  )



 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

   *De:* 
 asteriskbrasil-boun...@listas.asteriskbrasil.orghttp://compose?to=asteriskbrasil-boun...@listas.asteriskbrasil.org[
 mailto:asteriskbrasil-boun...@listas.asteriskbrasil.orghttp://mce_host/compose?to=asteriskbrasil-boun...@listas.asteriskbrasil.org]
 *Em nome de *Asterisk Addict Guy
 *Enviada em:* segunda-feira, 21 de setembro de 2009 13:08
 *Para:* 
 asteriskbrasil@listas.asteriskbrasil.orghttp://mce_host/compose?to=asteriskbra...@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 
 asteriskadd...@gmail.comhttp://compose?to=asteriskadd...@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 

Re: [AsteriskBrasil] RES: RES: Jogos Passatempo

2009-09-21 Por tôpico Rodrigo Vian

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.supo...@bol.com.br 
mailto:cleber.supo...@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@gmail.com mailto:sylvio@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-boun...@listas.asteriskbrasil.org
mailto:asteriskbrasil-boun...@listas.asteriskbrasil.org
[mailto:asteriskbrasil-boun...@listas.asteriskbrasil.org
mailto:asteriskbrasil-boun...@listas.asteriskbrasil.org] *Em
nome de *Asterisk Addict Guy
*Enviada em:* segunda-feira, 21 de setembro de 2009 14:02
*Para:* asteriskbrasil@listas.asteriskbrasil.org
mailto:asteriskbrasil@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  )



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-boun...@listas.asteriskbrasil.org
http://compose?to=asteriskbrasil-boun...@listas.asteriskbrasil.org
[mailto:asteriskbrasil-boun...@listas.asteriskbrasil.org

http://mce_host/compose?to=asteriskbrasil-boun...@listas.asteriskbrasil.org]
*Em nome de *Asterisk Addict Guy
*Enviada em:* segunda-feira, 21 de setembro de 2009 13:08
*Para:*