Sonax - Central de Recursos
Sugestão de como configurar o Tronco SIP SONAVOIP em seu Pabx
6 min
Criado por Tulio em 01/12/2020 17:59
Atualizado por Rennar Bitarães em 10/04/2025 10:34

Configuração de Troncos e Autenticação no Asterisk!

Configuração de Troncos e Autenticação no Asterisk

O Asterisk suporta autenticação de troncos de diferentes formas, como por usuário e senha ou confiando em IPs específicos. Aqui você encontrará exemplos detalhados para configurar ligações ativas e receptivas usando SIP e PJSIP, com autenticação tradicional e baseada em IP.

1. Tronco para Ligações Ativas (Autenticação por Usuário/Senha)

Configuração para chan_sip (sip.conf):

[sonavoip]
host=proxy.sonavoip.com.br
username=accountcode/username
secret=password
type=friend
nat=yes
qualify=yes
disallow=all
allow=g729&ulaw&alaw
context=coloque aqui o contexto que utiliza para as ligações saintes, ex.: chamadas-ativas
dtmfmode=rfc2833
fromdomain=proxy.sonavoip.com.br
fromuser=accountcode/username
insecure=no
port=5060
    
1-2. Tronco para Ligações Receptivas (Autenticação por Usuário/Senha)

Configuração para chan_sip (sip.conf):

[sonavoip]
host=did.sonavoip.com.br
username=accountcode/username
secret=password
type=friend
nat=yes
qualify=yes
disallow=all
allow=g729&ulaw&alaw
context=coloque aqui o contexto que utiliza para as ligações saintes, ex.: chamadas-receptivas
dtmfmode=rfc2833
fromdomain=did.sonavoip.com.br
fromuser=accountcode/username
insecure=no
port=5060
    
Registro:
register => accountcode:senhadaconta@proxy.sonavoip.com.br

Configuração para chan_pjsip (pjsip.conf):

Registro e Autenticação:

[SONAVOIP]
type=registration
outbound_auth=SONAVOIP
server_uri=sip:proxy.sonavoip.com.br:5060
client_uri=sip:ACCOUNTCODE@proxy.sonavoip.com.br:5060
contact_user=ACCOUNTCODE
retry_interval=120
expiration=120
endpoint=SONAVOIP

[SONAVOIP]
type=auth
auth_type=userpass
password=PASSWORD
username=ACCOUNTCODE
    

Endpoint:

[SONAVOIP]
type=endpoint
transport=transport-udp
aors=SONAVOIP
from_domain=proxy.sonavoip.com.br
from_user=ACCOUNTCODE
context=coloque aqui o contexto que utiliza para as ligações saintes, ex.: chamadas-ativas 
disallow=all
allow=g729,ulaw,alaw
direct_media=no
outbound_auth=SONAVOIP
    


2. Tronco para Ligações Receptivas (Autenticação por IP)

Configuração para chan_sip (sip.conf):

[trusted-peer]
type=peer
host=192.168.1.100           ; IP confiável
context=coloque aqui o contexto que utiliza para as ligações saintes, ex.: chamadas-ativas     ; Contexto para processar as ligações
disallow=all
allow=ulaw                   ; Codecs permitidos
insecure=invite              ; Ignora autenticação para INVITE
    

Configuração para chan_pjsip (pjsip.conf):

A - Endpoint

[SONAVOIP]
type=endpoint
transport=transport-udp
aors=SONAVOIP
from_domain=did.sonavoip.com.br
context=coloque aqui o contexto que utiliza para as ligações saintes, ex.: chamadas-ativas
disallow=all
allow=g729,ulaw,alaw
direct_media=no
identify_by=ip
    

B - Identificação

[SONAVOIP]
type=identify
endpoint=SONAVOIP
match=did.sonavoip.com.br
    

C - AORS

[SONAVOIP]
type=aor
contact_user=sip:did.sonavoip.com.br
qualify_frequency=60


2-1.Tronco para Ligações Ativas (Autenticação por IP)


Configuração para chan_pjsip (pjsip.conf):

Segue o exemplo de configuração para implementar autenticação por IP no Asterisk com o protocolo PJSIP:

A - Endpoint

[SONAVOIP]
type=endpoint
transport=transport-udp
aors=SONAVOIP
from_domain=proxy.sonavoip.com.br
context=coloque aqui o contexto que utiliza para as ligações saintes, ex.: chamadas-ativas
disallow=all
allow=g729,ulaw,alaw
direct_media=no
identify_by=ip
    

B - Identificação

[SONAVOIP]
type=identify
endpoint=SONAVOIP
match=proxy.sonavoip.com.br
    

C - AORS

[SONAVOIP]
type=aor
contact_user=sip:proxy.sonavoip.com.br
qualify_frequency=60
    


Certifique-se de que o IP do servidor esteja autorizado no lado do provedor para que a autenticação por IP funcione corretamente.


Configuração de Autenticação por IP para chan_sip (sip.conf):

Abaixo está um exemplo de configuração no chan_sip para permitir autenticação por IP:

A - Configuração do Peer

[SONAVOIP]
type=peer
host=proxy.sonavoip.com.br
context=coloque aqui o contexto que utiliza para as ligações saintes, ex.: chamadas-ativas
disallow=all
allow=g729,ulaw,alaw
directmedia=no
qualify=yes
canreinvite=no
    

B - Explicação dos Parâmetros

  • type=peer: Define o tipo como peer para correspondência pelo IP.
  • host=proxy.sonavoip.com.br: Define o IP ou domínio que será aceito.
  • context=chamadas-ativas: Define o contexto de chamadas no dialplan.
  • disallow=all e allow=...: Controla os codecs permitidos.
  • directmedia=no: Desativa o envio direto de mídia (RTP).
  • qualify=yes: Verifica a conectividade com o peer (opcional).

C - Testando a Configuração

Após adicionar a configuração no arquivo sip.conf, recarregue o chan_sip no Asterisk:

sip reload
    

Verifique os logs para confirmar se as chamadas estão sendo tratadas corretamente:

asterisk -rvvvvv
    

Certifique-se de que o IP público do servidor Asterisk esteja previamente autorizado no lado do provedor (SONAVOIP).


3. Configurando o extensions.conf

Exemplo de Contexto para Chamadas Receptivas:

[recebidas-por-ip]
exten => _X.,1,NoOp(Incoming call from trusted IP)
 same => n,Answer()
 same => n,Dial(SIP/100,20)  ; Redireciona para o ramal 100
 same => n,Hangup()
    

Exemplo de Contexto para Chamadas Ativas:

[chamadas-ativas]
exten => _X.,1,NoOp(Outgoing call through SIP trunk)
 same => n,Dial(SIP/${EXTEN}@sonavoip,30)
 same => n,Hangup()
    

4. Recarregar Configurações

Após configurar os arquivos, recarregue o Asterisk para aplicar as alterações:

asterisk -rx "sip reload"   # Para chan_sip
asterisk -rx "pjsip reload" # Para chan_pjsip
    

5. Dicas de Segurança

  • Use um firewall para restringir conexões a IPs confiáveis.
  • Ative o fail2ban para proteger contra ataques.
  • Monitore regularmente os logs em /var/log/asterisk/full.
Este artigo foi útil para você?
Últimos artigos visitados