Servidor VoIP Asterisk Slackware 15.0+

O Asterisk moderno no Slackware abandonou os antigos drivers Zaptel em favor do DAHDI e utiliza o PJSIP para melhor compatibilidade com redes modernas e NAT.

Melhoria de 2025: Não compile mais na mão! Utilize o sbopkg que instalamos anteriormente para gerenciar as bibliotecas (jansson, libedit, pjproject) automaticamente.

1. Preparação e Instalação

Antes do Asterisk, precisamos das bibliotecas de suporte. No Slackware 15, o fluxo recomendado via sbopkg é:

Terminal (Root)
# # Sincronize o repositório
sbopkg -r

# # Instale as dependências na ordem (ou use uma queue)
sbopkg -i pjproject
sbopkg -i jansson
sbopkg -i asterisk

2. Configuração Moderna (PJSIP)

O antigo sip.conf está sendo descontinuado. Agora utilizamos o pjsip.conf, que é muito mais robusto para lidar com múltiplos dispositivos por ramal.

/etc/asterisk/pjsip.conf (Exemplo de Ramal 100)
[transport-udp]
type=transport
protocol=udp
bind=0.0.0.0

[100]
type=endpoint
context=from-internal
disallow=all
allow=ulaw,alaw
auth=100-auth
aors=100

[100-auth]
type=auth
auth_type=password
password=sua_senha_segura
username=100

[100]
type=aor
max_contacts=1

3. Dialplan (O Coração do PBX)

O arquivo extensions.conf permanece a base de tudo. Aqui definimos o que acontece quando alguém disca.

/etc/asterisk/extensions.conf
[from-internal]
; Ramal 100
exten => 100,1,Dial(PJSIP/100,30)
same => n,Hangup()

; Teste de Echo (Disque 600)
exten => 600,1,Answer()
same => n,Echo()
same => n,Hangup()

4. Inicialização e CLI

No Slackware, o script de inicialização fica em /etc/rc.d/rc.asterisk.

# chmod +x /etc/rc.d/rc.asterisk
# /etc/rc.d/rc.asterisk start

# # Acessar o console interativo:
# asterisk -rvvv
Segurança: Nunca exponha a porta 5060 UDP diretamente para a Internet sem um firewall (Iptables) configurado, ou seu servidor será invadido por bots de chamadas internacionais em minutos!