[AsteriskBrasil] Problema trunk
Vinícius Fontes
vinicius em canall.com.br
Quarta Maio 13 10:10:04 BRT 2009
----- "Rodrigo Graeff" <delphusbsd em gmail.com> escreveu:
> On May 12, 2009, at 10:16 PM, Weder Prado wrote:
>
> > Pessoal,
> > Antes de fazer o trunk eu tinha um provedor voip instalado no server
>
> > 2, esse servidor tem uma aplicacao que consulta o manager, e faz uma
>
> > chamada e quando a pessoa atende a chamada ele executa uma mensagem,
>
> > isso funcionou tranquilo, agora eu necessito usar E1, como já tenho
>
> > um server asterisk pra isso resolvi fazer um sip trunk do server 2
>
> > para o server 1 e executar a mensagem depois que a chamada é
> > atendida. Entao é o seguinte:
> > Estou com o seguinte cenário, servidor 1 com E1 e todas as saidas e
>
> > entradas da PSTN. Servidor 2 Aplicacao que acessa o manager pra
> > fazer chamdas e exeutar uma mensagem.
> >
> > No server1 , criei a conta pra ser usada no trunk:
> > [900]
> > port=5060
> > username=900
> > secret=senha
> > type=friend
> > host=dynamic
> > context=ramal_sip
> > ccountcode=900
> > callerid=900
> > canreinvite=no
> > callgroup=1 ;Grupo 1
> > pickupgroup=1 ;Em quais grupos pode capturar as chamadas
> > defaultexpirey=120
> > musicclass=default
> > incominglimit=1
> > call-limit=1000
> > limitonpeers=yes
> > qualify=yes
> > disallow=all
> > allow=alaw
> > allow=ulaw
> > allow=ilbc
> > allow=gsm
> > allow=g723.1
> > allow=g726
> > allow=lpc10
> > allow=adpcm
> > canreinvite=no
> > autocreatepeer=no
> > dtmfmode=rfc2833
> >
> > No server 2 sip.conf:
> >
> > [trunk-server1]
> > username=900
> > type=friend
> > secret=senha
> > regexten=900
> > qualify=no
> > port=5060
> > nat=no
> > insecure=very
> > host=172.33.16.19
> > fromuser=900
> > dtmfmode=inband
> > disallow=all
> > context=executa_mensagem
> > canreinvite=no
> > allow=alaw
> >
> > extensions.conf
> >
> > [discagem_voip]
> > exten=>_XXXXXXXX.,1,NoOp(Callerid Out -> ${CALLERID(num)})
> > exten=>_XXXXXXXX.,2,Dial(SIP/trunk-server1/${EXTEN},60,rT)
> > exten=>_XXXXXXXX.,n,Hangup()
> >
> > Isso é para o trunk ser feito e as chamadas sairem pelo server1,
> > depois que a aplicacao gera a chamada ela precisa ser atendida,
> > entao fiz a seguinte regra no server 1:
> >
> > [executa_mensagem]
> > exten=>900,1,NoOp(executando - ${pin} - )
> > exten=>900,n,playback(mensagem)
> > exten=>900,n,Hangup()
> >
> > Ou seja, como quem originada a chamada é a conta 900, presumi que
> > depois que a chamada é atendida o Asterisk busque a extensao 900, só
>
> > que isso nao está funcionando, a chamada cai quando é atendida,
> > alguem pode me dar uma dica de onde está o problema?
> >
> >
> > _______________________________________________
> > Openmoko Freerunner, primeiro telefone open source, disponível no
> > Brasil rodando o Android da Google.
> > http://www.neodroid.com
> >
> > 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
>
>
> Primeiro, se for um trunk de asterisk pra asterisk, considere usar
> iax2 que é BEM melhor que sip e consome menos banda. Observe o
> dtmfmode de ambos, eles devem ser iguais.
>
> Quando um peer atende, o canal se torna reservado, impossibilitando de
>
> se fazer um playback. Há como, porém não com métodos normais. O
> próprio comando Dial possui uma opção para isso.
>
> Abraço.
>
> Rodrigo Graeff
> delphusbsd em gmail.com
>
>
>
> _______________________________________________
> Openmoko Freerunner, primeiro telefone open source, disponível no
> Brasil rodando o Android da Google.
> http://www.neodroid.com
>
> 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
Realmente o IAX2 é excelente para comunicação entre dois servidores, principalmente pelo trunking que reduz bastante o consumo de banda. No entanto, o IAX2 não possui nenhum mecanismo de call-limit. Não existe como limitar o número de chamadas simultâneas, a não ser fazendo algumas gambiarras no dialplan.
Já tive um problema sério em um cliente que tinha servidores conectados através de MPLS, com uma quantia fixa de banda definida para o tráfego de voz. Não tive escolha a não ser alterar o protocolo para SIP para poder controlar o número de chamadas simultâneas.
Vinícius Fontes
www.asteriskforum.com.br - Informações e discussão sobre Asterisk e telefonia IP
Mais detalhes sobre a lista de discussão AsteriskBrasil