[AsteriskBrasil] Como fazer a integracao com java, AGI e AMI

Rodrigo Ferreira rsferreira08 em gmail.com
Terça Junho 11 21:53:33 BRT 2013


Para criar as contas SIP/IAX e gerenciar planos de discagem eh soh usar
realtime (que utiliza banco de dados) nem precisa usar AGI p isso .. Agora
o AMI se me lembro bem, vc usa para monitoramento do Asterisk utilizando
uma aplicacao externa, no teu caso o java conectado no asterisk ..



On Tuesday, June 11, 2013, douglas henrique de morais wrote:

> Agradeco a todos pela atencao.
>
> Carlos, ainda nao ficou claro a diferenca entre AGI e AMI. Quando vc diz
> que AGI define um conjuntos de regras vc esta se referindo ao plano de
> discagem ? Atraves de AGI eu posso criar um plano de discagem dinamicamente
> fazendo uso de um banco de dados relacional ? E o AMI ? serve apenas para
> monitorar o Asterisk ? Pra saber quem ligou, quanto tempo durou a ligacao,
> atender, gerencia filas, essas coisas ?
>
> Pesquisando mais um pouco encontrei o Asterisk-Java. No site fala de
> FastAgi e Manager API. Mas ainda nao entendi a diferenca entre os dois.
> Pude perceber pelo exemplo que com o Manager API eu poderia criar uma
> aplicacao java stand alone e interagir com Asterisk atraves de TCP/IP. Isso
> se daria de forma direta, sem um servidor intermediario ? Porque pelo que
> me parece o FastAgi precisa que seja executado uma especie de servidor que
> ficara responsavel como intermediario entre o Asterisk e a aplicacao java.
> Pelo menos foi isso que entendi quando o exemplo do site
> http://www.asterisk-java.org/development/tutorial.html  diz para executar
> o asterisk-java.jar.
>
> Alias,* *é a mesma coisa que o Jefferson orienta a fazer no exemplo do
> site http://www.asteriskdocs.com.br/blog. Mas quando eu devo usar a
> abordagem AGI e quando devo usar a abordagem AMI ?
>
> O meu proposito era construir uma interface web onde eu poderia
> administrar o asterisk, gerenciar filas, configurar novas contas SIP e IAX.
>
>
>
>
> Em 11 de junho de 2013 13:12, Carlos Toguchi <carlos.toguchi em gmail.com<javascript:_e({}, 'cvml', 'carlos.toguchi em gmail.com');>
> > escreveu:
>
> Para completar a minha resposta se nào ficou claro:
> imagine o seguinte . Vc tem o asterisk e o mundo extior (uma aplicação).
> O asterisk pode se comunicar com a aplicação ou a aplicação pode se
> comunicar com o Asterisk, Logo vc pode ter :
> ----------------------------                 -----------------
> | ASTERISK         |--------------> | Aplicação |
> ---------------------------                  ------------------
>
> Nest caso o Asterisk precisa interagir com a aplicação:
> Exemplo alguem liga para um numero para :
> 1) Talvez intergir com uma URA de modo que receba por e-mail seu saldo em
> um site de compras
> ou
> 2) Interagir com uma URA para que um determinado servidor reinicie (de um
> reboor)
>
> Você vai usar um AGI, do Asterisk chama uma aplicação pasando os
> parametros necessários apra o programa, como passar e receber os
> paarametors pela apliacção depende da linguagem de programação, como vc
> chama um programa no comando de linha com parametros e utliza estes
> parametros na aplicação, se vc ficer em C/C++, trata de um modo em PHP de
> outro e em Java de outro modo ainda.
>
>
> Agora existe a situação contraria:
> ----------------------------                 -----------------
> | ASTERISK         |<-------------- | Aplicação |
> ---------------------------                  ------------------
>
> Nste caso é a apicação que está interagindo com Asterisk, exemplo:1)
> Uma aplicação que monitora os servidores e envia um comando apra o
> Astrerisk discar para o telefone do adminsitrador dos servidor e tocar uma
> mensagem de alerta
>
> 2) Uma aplicação de uma empresa que verifica se cos clientes pagaram suas
> faturas, que não tenham efetuado o pagamento a apliação dispara um comando
> par ao Asterisk discar para os cliente e tocar uma mensagem do tipo "Até a
> presente data constatamos que sua última faura encontra-se em aberto"
>
> Você vai usar AMI.
>
> Um aplicação AMI consegue eviar muitos dos comdanos que vc executa na
> console do Asterisk, tal como o comando CALL e etc.
> Verifique a documentação do AMI.
>
> Este é um tópico que percebo é pouco explorado aqui que a a facilidade do
> Asterisk em CTI.
>
> Já vi muito caras fazendo coisas junto o ARDUINO.
> Tipo usar Asterisk mais Arduino para :
>
> 1) Ligar para o Asterisk para disparar um comoando e com o Arduino ligar
> um equipamento  para liberar ração para o cachorro ou para os peixes no
> aquário (Ok tem pessoas no mundo com tempo de sobra para pensar nestas
> coisas)
>
> Para quem gosta de programar faça uma busca por Asterisk Arduino
>
> Até
> Carlos
>
>
>
> 2013/6/11 douglas henrique de morais <oticasdouglas em gmail.com>
>
> Obrigado Carlos... vou estudar mais um pouquinho... rs
>
>
> Em 10 de junho de 2013 20:44, Carlos Toguchi <carlos.toguchi em gmail.com>escreveu:
>
> AGI - Asterisk Gateway Interface
> AMI - Asterisk Manager API
>
> AGI define uma Interface, ou seja, um conjuntos de regras que permite o
> ambiente do Asterisk chamar um programa, passando valores e reebendo
> valores através do código de retorno do programa, mais ou menos isso.
>
> Já o AMI define um protocole de modo que um programa pode interagir com o
> Asterisk comunicando-se través de uma conexãp TCP/IP. Basicamente vc cria
> um socket escrevendo e lendo valores través deste socket.
>
> Já criar conta SIP com java, tenha em mente que se vc usa realtime, vc
> deve criar os dados na tabela do banco de daos, então ok. Se vc não usa o
> realtime as contas sip são definie em um arquivo com a extensão conf
> (sip.conf e etc.), logo seu programa java deve conseguir escrever neste
> arquivo.
>
> No AMI Asterisk tem ou tinha problemas com muitas chamadas
> efetuadas por vários clientes simultaneos apra ele, tanto que existem
> alguns programas de proxy para chamadas AMI, os Asterisk Manager Proxy.
>
>
>

-- 


Atenciosamente.
Eng.° Rodrigo Ferreira
ITIL v3 Certified

<http://br.linkedin.com/pub/rodrigo-ferreira/31/757/901>
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: http://listas.asteriskbrasil.org/pipermail/asteriskbrasil/attachments/20130611/ed1c3d0a/attachment-0001.htm 


Mais detalhes sobre a lista de discussão AsteriskBrasil