Asterisk — Guia Rápido (Comandos, Configuração e Troubleshooting)
Comandos essenciais (console asterisk -rvvv)
| Comando | Função |
|---|---|
core reload |
Recarrega configurações sem reiniciar |
core restart now |
Reinicia imediatamente |
core show channels |
Chamadas ativas |
core show uptime / core show version |
Uptime / versão |
pjsip show endpoints |
Lista endpoints PJSIP |
pjsip show endpoint 1000 |
Detalhes de um endpoint |
pjsip show registrations |
Registro de troncos |
sip show peers |
Ramais SIP (chan_sip legado) |
dialplan show / dialplan reload |
Ver / recarregar dialplan |
queue show |
Filas configuradas |
voicemail show users |
Usuários de voicemail |
database show |
Banco interno AstDB |
rtp set debug on |
Debug de áudio (RTP) |
pjsip set logger on |
Debug SIP (PJSIP) |
core set verbose 10 / core set debug 10 |
Verbose / debug |
Arquivos importantes
| Arquivo | Função |
|---|---|
/etc/asterisk/pjsip.conf |
SIP (PJSIP) |
/etc/asterisk/extensions.conf |
Dialplan |
/etc/asterisk/queues.conf |
Filas |
/etc/asterisk/voicemail.conf |
Voicemail |
/var/log/asterisk/full |
Log principal (tail -f) |
/var/spool/asterisk/monitor |
Gravações |
Criar ramal PJSIP
; /etc/asterisk/pjsip.conf
[1000]
type=endpoint
context=interno
disallow=all
allow=ulaw
auth=1000-auth
aors=1000
[1000-auth]
type=auth
auth_type=userpass
username=1000
password=SenhaForte123
[1000]
type=aor
max_contacts=1
; extensions.conf
[interno]
exten => 1000,1,Dial(PJSIP/1000)
same => n,Hangup()
Recarregue: pjsip reload + dialplan reload.
URA (IVR) básica
[ura]
exten => s,1,Answer()
same => n,Background(menu)
same => n,WaitExten(5)
exten => 1,1,Dial(PJSIP/1000)
same => n,Hangup()
exten => 2,1,Dial(PJSIP/2000)
same => n,Hangup()
exten => t,1,Playback(tempo-esgotado)
same => n,Hangup()
Fila de atendimento
; queues.conf
[suporte]
strategy=ringall
timeout=15
retry=5
member => PJSIP/1000
member => PJSIP/1001
; extensions.conf
exten => 5000,1,Answer()
same => n,Queue(suporte)
same => n,Hangup()
Tronco SIP + chamadas externas
[tronco]
type=endpoint
transport=transport-udp
context=entrada
disallow=all
allow=alaw,ulaw
outbound_auth=tronco-auth
aors=tronco
[tronco-auth]
type=auth
auth_type=userpass
username=usuario
password=senha
[tronco]
type=aor
contact=sip:sip.provedor.com
[outbound]
exten => _0X.,1,Dial(PJSIP/${EXTEN}@tronco)
same => n,Hangup()
Troubleshooting
Ramal não registra: pjsip show endpoints / pjsip show auths / pjsip set logger on. Causas: senha, firewall, NAT, codec, endpoint duplicado.
Sem áudio: rtp set debug on, liberar UDP 10000–20000, conferir codecs. NAT no pjsip.conf:
external_media_address=IP_PUBLICO
external_signaling_address=IP_PUBLICO
local_net=192.168.0.0/24
Chamada cai após segundos: NAT, RTP bloqueado, session timers (timers=no) ou SIP ALG ativo no roteador (desative).
Não completa chamada externa: pjsip show registrations, dialplan show outbound, pjsip set logger on.
Asterisk não inicia: journalctl -u asterisk -f, permissões em /etc/asterisk.
Comandos Linux úteis para VoIP
ss -tunlp # portas abertas
tcpdump -i any port 5060 # capturar SIP
tcpdump -i any portrange 10000-20000 # capturar RTP
tail -f /var/log/asterisk/full # log em tempo real
Checklist de produção
Firewall configurado · Fail2ban instalado · senhas fortes · NAT ok · backup · logs monitorados · QoS · SIP ALG desativado · NTP sincronizado.
apt install fail2ban -y
ufw allow 5060/udp
ufw allow 10000:20000/udp