Asterisk como SIP Proxy

Publicado por Eduardo Gomes em 12/04/2010

[ Hits: 21.422 ]

 


Asterisk como SIP Proxy



Esta documentação tem por objetivo mostrar as configurações do Asterisk como um SIP Proxy, para termos ramais externos conectando na empresa e podendo fazer ligações diretas.

Foram feitos vários testes na empresa e em casa (SP), todos com sucesso. Com isso já temos a central pronta para assumir esta tarefa.

Testes: foi testado via link local e 3G vivo.

Abaixo um desenho esquemático para simples entendimento.
Linux: Documentação do SIP Proxy
Com isso temos hoje três pontos fundamentais para este funcionamento adequado do SIP Proxy: o SIP Proxy servidor de gateway para as comunicações com a central, entroncamento IAX para comunicações dos Asterisk, e por fim a central devidamente configurado para fazer e receber ligações.

Ramais: hoje temos os ramais 48** e o 49**. Com a entrada do SIP Proxy temos os ramais anteriores e mais os 35** para conexão externa. O SIP Proxy já esta falando com os ramais 48** e 49**, como também a central já fala com os ramais do SIP Proxy 35**.

Configuração: vamos configurar um SIP Proxy e a central para que os dois Asterisk se comuniquem, para isso vamos usar os seguintes arquivos: extensions, iax e o sip, isso nos dois servidores.

1. Na Central vamos configurar o IAX

Esta configuração é para permitir que a central se conecte com o SIP Proxy.

register => escravo:teste@10.x.x.1
[escravo]
disallow=all
allow=alaw
type=friend
username=escravo
secret= teste
host=10.x.x.1
callerid="escravo" <escravo>
trunk=yes

Configurando o login para ser usado pelo SIP Proxy:

[mestre]
disallow=all
allow=alaw
type=friend
context=ramais
username=mestre
secret= teste
host=dynamic
mailbox=mestre
callerid="PABX" <mestre>

2. Na central vamos configurar o extensions

; --------------------------------------- ;
; CONFIGURAÇÕES DOS RAMAIS 48** e 35** ;
; --------------------------------------- ;

[ramais]
exten => _35XX,1,Answer
exten => _35XX,2,Dial(Iax2/escravo:teste@10.x.x.1/${EXTEN})
exten => _35XX,3,Ringing
exten => _35XX,4,GoToIf($[${DIALSTATUS} = BUSY]?5)
exten => _35XX,5,Busy(10)
exten => _35XX,6,Hangup()

exten => _48XX,1,Answer
exten => _48XX,2,Dial(SIP/${EXTEN},120,tTr)
exten => _48XX,3,Ringing
exten => _48XX,4,GoToIf($[${DIALSTATUS} = BUSY]?5)
exten => _48XX,5,Goto(fila,s,1)
exten => _48XX,6,Hangup()

exten => _49XX,1,Answer
exten => _49XX,2,Dial(SIP/${EXTEN},120,tTr)
exten => _49XX,3,Ringing
exten => _49XX,4,GoToIf($[${DIALSTATUS} = BUSY]?5)
exten => _49XX,5,Goto(fila,s,1)
exten => _49XX,6,Hangup()

exten => _0XXXXXXXX,1,Answer
exten => _0XXXXXXXX,2,Dial(Sip/"021"${EXTEN:1}@conta vono,120,Ttr)
exten => _0XXXXXXXX,3,HangUp

[lig]
include => Lig_local
include => ramais

3. Na Central vamos configurar o SIP

Neste ponto criaremos os ramais internos

; --------------------------------------- ;
; CONFIGURAÇÃO DE REDE DE RAMAIS ;
; --------------------------------------- ;
[49**]
disallow=all
allow=alaw
type=friend
context=ddi1
username=49**
secret= teste
host=dynamic
callgroup=7
pickupgroup=7,2
mailbox=49**
dtmfmode=rfc2833
callerid="SIP Proxy" <49**>
; --------------------------------------- ;
[48**]
disallow=all
allow=ulaw
type=friend
context=ddd
username=48**
secret=teste
host=dynamic
callgroup=7
pickupgroup=7,2
mailbox=48**
dtmfmode=rfc2833
callerid="xxxxx" <48**>
; --------------------------------------- ;

Vamos agora configurar o SIP Proxy.

1. No SIP Proxy vamos configurar o IAX

Esta configuração é para permitir que a SIP Proxy se conecte na central.

register => mestre:teste@10.x.x.5
[mestre]
disallow=all
allow=alaw
type=friend
username=mestre
secret= teste
host=10.x.x.5
callerid="master"
trunk=yes
; --------------------------------------- ;
; Criar login para o servidores mestre ;
; --------------------------------------- ;
[escravo]
disallow=all
allow=alaw
type=friend
context=ramais
username=escravo
secret= teste
host=dynamic
mailbox=escravo
callerid="SIP Proxy" <escravo>

2. No SIP Proxy vamos configurar o EXTENSIONS

; --------------------------------------- ;
; Permitir ligações Externas ;
; --------------------------------------- ;
[Lig_local]
exten => _0XXXXXXXX,1,Answer
exten => _0XXXXXXXX,2,Dial(Iax2/mestre:teste@10.x.x.5/${EXTEN})
exten => _0XXXXXXXX,3,HangUp
; --------------------------------------- ;
; CONFIGURAÇÕES DOS RAMAIS 48** e 35** ;
; --------------------------------------- ;
[ramais]
exten => _48XX,1,Answer
exten => _48XX,2,Dial(Iax2/mestre:teste@10.x.x.5/${EXTEN})
exten => _48XX,3,Ringing
exten => _48XX,4,GoToIf($[${DIALSTATUS} = BUSY]?5)
exten => _48XX,5,Busy(10)
exten => _48XX,6,Hangup()

exten => _49XX,1,Answer
exten => _49XX,2,Dial(Iax2/mestre:teste@10.x.x.5/${EXTEN})
exten => _49XX,3,Ringing
exten => _49XX,4,GoToIf($[${DIALSTATUS} = BUSY]?5)
exten => _49XX,5,Busy(10)
exten => _49XX,6,Hangup()

exten => _35XX,1,Answer
exten => _35XX,2,Dial(SIP/${EXTEN},120,tTr)
exten => _35XX,3,Ringing
exten => _35XX,4,GoToIf($[${DIALSTATUS} = BUSY]?5)
exten => _35XX,5,Goto(fila,s,1)
exten => _35XX,6,Hangup()
; --------------------------------------- ;
[lig]
include => Lig_local
include => ramais
; --------------------------------------- ;

3. No SIP Proxy vamos configura o SIP

Neste ponto criaremos os ramais externos:

; --------------------------------------- ;
; CONFIGURAÇÕES DOS RAMAIS 35** ;
; --------------------------------------- ;
[35**]
nat=yes
allow=gsm
type=friend
context=lig
username=35**
secret=teste
host=dynamic
mailbox=35**
dtmfmode=rfc2833
careinvite=yes
qualify=yes
callerid="zzzzzzzzzz" <35**>

Outras dicas deste autor
Nenhuma dica encontrada.
Leitura recomendada

dhcpstatus , listar dhcp leases no Slackware ou sua distro favorita

Bloqueando tentativas de acesso indevido ao SSH com DenyHosts no Slackware Linux

Instalação fácil do PHP com Oracle no Linux

Segurança no Grub

Análise do Korora GNU/Linux

  

Comentários
[1] Comentário enviado por adilsom em 01/06/2010 - 09:21h

muito bom, parabens


http://www.guarderiaelarca.com.ar/



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts