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
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
register => accountcode:[email protected]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:[email protected]: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=alleallow=...: 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
fail2banpara proteger contra ataques. - Monitore regularmente os logs em
/var/log/asterisk/full.