Pergunta

Eu estou tentando começar a escrever, aplicações telecom-grade escaláveis ??com Asterisk e Ruby. Eu tinha a intenção de usar a estrutura Adhearsion para isso, mas ele não tem a maturidade requerida e sua documentação está faltando severamente. AsteriskRuby parece ser uma boa alternativa, uma vez que está bem documentado e parece ser escrito por Vonage.

Alguém tem experiência na implantação de aplicações IVR baseados em AGI? O quadro, se houver, você usou? Eu mesmo considerar um não-rubi se é justificado. Obrigado!

Foi útil?

Solução

Você deve rever Adhearsion como v0.8.1 está fora, ea documentação ficou muito melhor recentemente. Dê uma olhada aqui:

http://adhearsion.com http://docs.adhearsion.com http://api.adhearsion.com

Outras dicas

SIPX é realmente a resposta errada. Eu escrevi alguns VoiceXML extremamente complicado em SIPX 3.10.2 e tem sido tudo em vão desde SIPX 4 está caindo SipXVXML para uma interface que requer URAs ser JARs compilados. Top que com a Nortel pedido de falência, extremamente pobre documentação sobre a versão de código aberto, falta de cumprimento com VXML 2.0 (a partir de 3.10.2) e padrões SIP (a partir de 3.10.2, não tronco bem com ITSPs). Eu vou aplaudi-lo para um trabalho bangup fazendo o que foi projetado para fazer, ser um PBX. Mas, como um IVR, se eu tivesse que fazer tudo de novo, eu faria algo diferente. Eu não sei o que, com certeza, mas algo diferente. Eu estou brincando com trixbox CE e agora trabalhando em amarrando-o em JVoiceXML ou VoiceGlue.

Além disso, não lemos que SIPX wiki porcaria. Ele compara SIPX 3,10 para AsteriskNOW 1 a Trixbox 1. Vamos lá. É como comparar o Mac OS X para Win95! Uma comparação mais realista seria SIPX 4 (devido fora 1T 2009) para Asterisco 1,6 e 2,6 Trixbox, que mostram que eles realizam próximos resultados idênticos excepto na arena de scalibility e de alta disponibilidade; SIPX ganha com isso. Mas, para a maturidade e estabilidade, eu defendo Asterisk.

Além disso, os meus resultados de desempenho do mundo real com SipXVXML:
Dell PowerEdge R200, Xeon Dual Core 3.2GHz, alças 17 chamadas antes de nervosismo.
HP DL380 G4, dual Xeon HT 3.2 GHz, alças 30 calles antes de longas pausas.

Vou postar minhas descobertas quando eu terminar de avaliar VoiceGlue e JVoiceXML mas acho que vou acabar escrevendo um PHP personalizado chamado de AGI uma vez que todas as ferramentas são nativas do Asterisk.

Se você está procurando aplicações "telecom-grade", você pode querer olhar para SipXecs em vez de asterisco. É fonte featureful, livre e aberta, com apoio comercial disponível da Nortel. Você pode interagir com ele através de uma API Web Services em Ruby (ou qualquer outra língua).

Veja a SipXecs wiki para obter mais informações. Há uma matriz de comparação nesse site, comparando características com AsteriskNOW e trixbox.

Há realmente não são quaisquer outros frameworks lá fora. Há de ligações curso AGI para todas as línguas, mas, tanto quanto os quadros de pleno direito para o desenvolvimento de aplicações de telefonia, nós estamos apenas não está lá ainda. Pelo menos no mundo do código-fonte aberto.

Eu tenho perguntas um tanto relacionados aqui , aqui , e aqui . Estou usando Speech Server, da Microsoft, e eu estou muito intested para aprender sobre todas as alternativas que estão lá fora, especialmente os de código aberto. Você pode encontrar algumas boas informações nas respostas a uma dessas perguntas.

JAGIServer extensivamente, mesmo que ele não está em fase de desenvolvimento mais, e é muito bom e fácil de usar. É uma interface para FastAGI, que eu recomendo que você usar em vez de simples AGI.

A nova versão deste quadro é OrderlyCalls que parece ter muito mais recursos, mas desde que eu haven 't precisava deles, eu não tentei.

Eu acho que tudo depende do que você quer fazer com AGI; Normalmente eu tenho um dialplan um pouco complexo para coletar e validar todas as entradas de usuário e, em seguida, é só usar AGI se conectar a um aplicativo Java que irá ler algumas variáveis, fazer alguma coisa com ele (executar operações, consultas, etc etc) e, em seguida, define um pouco mais variáveis ??sobre o canal AGI e desliga. Neste ponto, o dialplan continua dependendo do resultado das variáveis ??definidas pelo aplicativo Java.

Isso funciona muito rápido, porque você tem um ServerSocket no aplicativo Java, que recebe ligações de entrada de AGI, cria uma JAGIClient com o novo soquete e uma nova instância de um JAGIProcessor (que você tem que escrever, é o objeto que a vontade fazer todo o seu processamento), e depois executar o JAGIClient dentro de um pool de threads. Seus implementos JAGIProcessor o método processCall onde ele faz todo o trabalho que precisa, interagindo com o JAGIClient passado como um parâmetro, para ler e variáveis ??fixos ou fazer o que encher a interface AGI permite.

Assim que você tiver um aplicativo Java rodando o tempo todo e pode ser um aplicativo J2SE simples ou um aplicativo EE em um recipiente, não importa; uma vez que é executado, ele irá processar AGI pede muito rápido, uma vez que não novos processos têm de ser iniciado (em contraste com a simples AGI que executa um programa para cada chamada AGI).

Smee novamente. Depois de migrar do meu cliente IVR acabou de SIPX para Asterisk utilizando PHPAGI, devo dizer que eu não encontrei qualquer outra arquitetura que em qualquer lugar perto tão simples e capaz. Eu estarei testes de estresse trixbox CE 2.8 hoje no mesmo hardware que eu tinha testado SIPX mais cedo. Mas devo dizer, usando PHPAGI para o IVR eo Asterisk CLI para depuração tem funcionado perfeitamente e permitiu-me desenvolver de IVR muito mais rápido do que qualquer outra empresa lá fora. Eu estou trabalhando na implementação de TTS e ASR hoje e eu vou postar meus resultados dos testes de estresse quando eu puder.

Simples pequena flexível Asterisk AGI IVR escrito em PHP http://freshmeat.net/projects/phpivr

Para aplicações de pequeno e fácil eu uso Asterisk :: AGI em Perl. Há também extensões para o AGI rápido. Para aplicações maiores, como backends do operador VoIP eu usar algo semelhante ao OrderlyCalls escritos em Java (o meu próprio código). OrderlyCalls é ótima para começar com motor java FastAGI e estendê-lo às suas necessidades.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top