Asterisk como SIP Proxy

Publicado por Eduardo Gomes em 12/04/2010

[ Hits: 21.368 ]

 


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

I Semana do Software Livre de Americana - SP

Comandos rápidos para Mozilla/Firefox

BrasilLinux DosVox - Linux para deficientes visuais

Instalando o Firefox e o novo flash player de maneira fácil

Tim Web Onda MSA501HS no OpenSuSE 11

  

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