Asterisk realtime e Trunk

Instalação do Asterisk em realtime utilizando o MySQL e Trunk.

[ Hits: 39.640 ]

Por: Ulisses Cantanhede dos Santos em 19/07/2010 | Blog: https://www.axiatec.com.br/


Configurando a comunicação Asterisk entre dois servidores (Trunk)



Para a comunicação entre dois servidores Asterisk deve-se configurar os ramais entre os servidores primário (MATRIZ) e secundário (FILIAL) no arquivo iax.conf e no arquivo extensions.conf configuramos a rota do ramal juntamente com o registro no servidor no qual ocorrerá a comunicação.

Configuração do servidor primário matriz:

No arquivo iax.conf do servidor da matriz deve-se configurar como mostrado abaixo, sendo o ramal 2000 do servidor da filial e o 1000 da matriz, da seguinte forma:

iax.conf:

[general]
bindport=4569
bindaddr=0.0.0.0
disallow=all
allow=ulaw
allow=gsm
[2000]
username=2000
secret=2000
host=dynamic
type=friend
auth=md5
trunk=yes
callerid="2000"
[1000]
username=100
secret=1000
host=dynamic
type=friend
context=cluster
auth=md5
trunk=yes
callerid="1000"

No arquivo extensions.conf, ainda do servidor matriz, deve-se colocar o seguinte plano de discagem, sendo um caminho para todos os ramais IAX iniciado com o dígito 1 e seguidos de 3 quaisquer dígitos que ligando entre eles mesmo, e o outro com o dígito 2 seguido de quaisquer dígitos que ligaram para o servidor da filial, nota-se que no plano para filial tem a declaração do ramal seguido de dois pontos, a senha do ramal e após o IP do servidor filial, para autenticação entre os 2 servidores.

extensions.conf:

[general]
static=yes
writeprotect=no
priorityjumping=no
autofallthrough=yes
clearglobalvars=no
[globals]
[cluster]
exten => _1xxx,1,Dial(IAX2/${EXTEN},20,tT)
exten => _1xxx,n,Hangup()
exten => _2xxx,1,Dial(IAX2/2000:2000@10.1.1.5/${EXTEN})
exten => _2xxx,n,hangup()

Configuração do servidor secundário filial:

Agora no arquivo iax.conf do servidor filial deve-se colocar os ramais de uma forma parecida, mas invertendo os ramais, declarando o 2000 como do servidor da filial e 1000 da matriz, da seguinte forma:

iax.conf:

[general]
bindport=4569
bindaddr=0.0.0.0
disallow=all
allow=ulaw
allow=gsm
[1000]
username=1000
secret=1000
host=dynamic
type=friend
auth=md5
trunk=yes
callerid="1000"
[2000]
username=2000
secret=2000
host=dynamic
type=friend
context=cluster
auth=md5
trunk=yes
callerid="2000"

No arquivo extensions.conf do servidor filial deve-se colocar o seguinte plano de discagem, sendo um caminho para todos os ramais IAX iniciado com o dígito 2 e seguidos de 3 quaisquer dígitos ligando entre eles mesmo, e o outro com o dígito 1 seguido de quaisquer dígitos que ligaram para o servidor da matriz.

Nota-se que no plano para os ramais da matriz tem a declaração do ramal seguido de dois pontos, a senha do ramal e após o IP do servidor matriz, para autenticação entre os 2 servidores.

extensions.conf:

[general]
static=yes
writeprotect=no
priorityjumping=no
autofallthrough=yes
clearglobalvars=no
[globals]
[cluster]
exten => _25x,1,Dial(SIP/${EXTEN},20,tT) ;Ramais SIP
exten => _25x,n,Hangup()
exten => _2xxx,1,Dial(IAX2/${EXTEN},20,tT)
exten => _2xxx,n,Hangup()
exten => _1xxx,1,Dial(IAX2/1000:1000@10.1.1.4/${EXTEN})
exten => _1xxx,n,hangup()

Página anterior    

Páginas do artigo
   1. Asterisk realtime e Trunk
   2. Configurando a comunicação Asterisk entre dois servidores (Trunk)
Outros artigos deste autor
Nenhum artigo encontrado.
Leitura recomendada

Instalando e configurando ntfs-3g no CentOS 5.2 Linux

Instalando Wireless USB Adapter D-Link DWL-G122 no Debian

Iniciando no Linux com o Ubuntu Gutsy

Configuração de Servidor Web no FreeBSD 9

Otimizando a bateria em sistemas Android 2.2/2.3

  
Comentários
[1] Comentário enviado por tutu_bh em 26/07/2010 - 11:43h

Amigo ulisses.santos antes de qualquer coisa gostaria de parabenizar pela iniciativa e qualidade do artigo, com sua autorizacao gostaria de fazer algumas observacoes que sao uteis na implentacao do ARA.

1º Tive que acresentar os modulos no arquivo /etc/asterisk/modules.conf

load => cdr_addon_mysql.so
load => res_config_mysql.so

so depois disso ele comecou a fazer a busca dos ramais no mysql.

2º No arquivo res_mysql.conf.

o contexto deve ser alterado para [asterisk] ao inves de [default] .

3º outro parametro que pode ser alterado no sql e no numero de casas do campo language, esta setado apenas 2 impossibilitado o pt_br

4º acrescentei o campo " allowsubscribe " como NO padrao para evitar toda hora a mensagem:

NOTICE[14725]: chan_sip.c:21470 handle_request_subscribe: Received SIP subscribe for peer without mailbox:

5º o campo "qualify" da tabela sip_buddies deve ser retirado ou setado como NULL pois o parametro "qualify" no Asterisk Realtime não é ultilizado, deve-se substituir pelo rtcachefriends = yes/no .

Ou ira ocorre o erro:
WARNING[14705]: chan_sip.c:24215 build_peer: Qualify is incompatible with dynamic uncached realtime. Please either turn rtcachefriends on or turn qualify off on peer 'ramal' .


Estava pensando depois para complementar seu artigo fazer um sobre filas no mysql.

qualquer duvida estou a disposicao. e espero ter ajudado alguem com essas dias.

qualquer contato profissional ou network ..rs..

alessandro.santos{arroba}teknisa.com
abraços;

OBS: para quem estar comecando, recomendo o livro " Asterisk na pratica " da editora " novatec " o auto é " Alexandre Keller", eu tambem fiz o curso na 4linux em SP. recomendo mas o curso tem 2 modulos sendo que poderia ser somente 1 pois o segundo modulo na pratica se aprende tranquilamente...

[2] Comentário enviado por ulisses.santos em 26/07/2010 - 13:12h

Valeu pela contribuição, eu usei este livro que você esta indicando para fazer a minha monografia muito bom mesmo.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts