Guia de tecnologias

Como instalar o Asterisk para sua primeira solução PBX

6 min read Telefonia Atualizado 28 Sep 2025
Instalar Asterisk: primeiro PBX passo a passo
Instalar Asterisk: primeiro PBX passo a passo

Visão geral rápida

Asterisk é um software de telefonia (PBX) de código aberto que atua como central telefônica para chamadas internas e externas. Este guia mostra o fluxo mínimo: requisitos, baixar pacotes, compilar/instalar, configurar SIP, dialplan e tronco. Use uma rede isolada para testes e revise segurança antes de colocar em produção.

Intenção principal e variantes de uso

Intenção: instalar Asterisk para montar um PBX IP. Variantes relacionadas: configurar ramais SIP, criar tronco SIP, configurar dialplan, integrar com provedores VoIP, alternativas com GUI.

Requisitos prévios

  • Sistema com kernel 2.6 ou superior e headers do kernel instalados.
  • Compilador C (gcc) e bibliotecas de suporte (ex.: termcap, OpenSSL).
  • Para asterisk-addons: headers do MySQL (libmysqlclient-dev ou equivalente).
  • Acesso root ou permissões sudo.
  • Para interligação com PSTN: hardware compatível (Zaptel/DAHDI) ou um tronco SIP de um provedor.

Importante: as versões citadas neste guia (ex.: asterisk-1.4.x) são legadas. Em produção, prefira uma versão suportada e atualizada do Asterisk.

Baixar todos os arquivos

Você precisará obter (do repositório ou mirror):

  1. Zaptel (ou DAHDI em sistemas modernos)
  2. libpri
  3. asterisk
  4. asterisk-sounds
  5. asterisk-addons

Copie todos os arquivos para o servidor. Neste exemplo assumimos /usr/src/ como diretório de trabalho.

Instalação do Asterisk (passo a passo)

Copie os tarballs para /usr/src/ e execute os comandos de compilação/instalação. A ordem abaixo segue a dependência entre pacotes.

  1. tar -xzf zaptel-1.4.12.1.tar.gz
  2. tar -xzf libpri-1.4.9.tar.gz
  3. tar -xzf asterisk-1.4.20.tar.gz
  4. tar -xzf asterisk-sounds-1.2.1.tar.gz
  5. tar -xzf asterisk-addons-1.4.7.tar.gz
  6. cd zaptel-1.4.12.1
  7. ./configure
  8. make
  9. make install
  10. make config
  11. service zaptel start
  12. cd ..
  13. cd libpri-1.4.9
  14. make
  15. make install
  16. cd ..
  17. cd asterisk-1.4.20
  18. ./configure
  19. make
  20. make install
  21. make samples
  22. make config
  23. cd ..
  24. cd asterisk-sounds
  25. make install
  26. cd ..
  27. cd asterisk-addons-1.4.7
  28. ./configure
  29. make
  30. make install
  31. service asterisk start

Se todos os comandos foram executados sem erros, o serviço Asterisk deve estar instalado e em execução.

Nota: em distribuições atuais, substitua Zaptel por DAHDI e considere instalar via pacotes binários (apt/yum) para simplificar atualizações.

Criando o primeiro ramal SIP

Edite o arquivo /etc/asterisk/sip.conf e adicione os ramais. Exemplo de configuração mínima:

[common](!) ; este é o template.
type=friend
context=internal
host=dynamic
disallow=all
allow=ulaw
allow=alaw
allow=g723
allow=g729
dtmfmode=rfc2833

[1000](common)
username=1000
secret=1000

[1001](common)
username=1001
secret=1001

[1002](common)
username=1002
secret=1002

[1003](common)
username=1003
secret=1003

[1004](common)
username=1004
secret=1004

Explicação curta: cada bloco define um ramal SIP; username e secret são credenciais. Os clientes SIP (softphones ou aparelhos) devem usar host=dynamic para registrar.

Importante: altere as senhas padrão e evite codecs proprietários sem licença (g729) se você não tiver autorização.

Criando o primeiro dialplan

Edite /etc/asterisk/extensions.conf e adicione as rotas internas e saída:

[internal]
exten=> _XXXX,1,Dial(SIP/${EXTEN})

Com isso, chamadas para ramais de 4 dígitos serão roteadas para os SIP peers configurados.

Criando o primeiro tronco SIP

Para chamadas externas você precisa de um provedor SIP e, em geral, de um IP público ou NAT bem configurado. Adicione no sip.conf algo como:

[trunk]
type=friend
context=internal
host=
disallow=all
allow=ulaw
allow=alaw
allow=g723
allow=g729
dtmfmode=rfc2833

Após atualizar sip.conf, adicione a rota de saída em /etc/asterisk/extensions.conf:

exten => _XXXXXXX.,1,Dial(SIP/trunk1/${EXTEN})

E o arquivo final de exemplo fica:

[internal]
exten=> _XXXX,1,Dial(SIP/${EXTEN})
exten => _XXXXXXX.,1,Dial(SIP/trunk1/${EXTEN})

A linha exten => _XXXXXXX.,1,Dial(SIP/trunk1/${EXTEN}) permite chamadas para números públicos (por exemplo, 7 ou mais dígitos conforme seu país/provedor).

Testes e critérios de aceitação

Teste mínimo para validar o PBX:

  • Todos os ramais conseguem registrar (ver com asterisk -rvv e comando sip show peers).
  • Ramal A liga para Ramal B e áudio flui nos dois sentidos.
  • Chamada de saída conecta via tronco e áudio chega/volta.
  • Logs não mostram erros críticos no carregamento de módulos.

Comandos úteis:

  • systemctl status asterisk (ou service asterisk status)
  • asterisk -rvv
  • sip show peers
  • sip show registry
  • core show help

Checklist por função

Administrador:

  • Revisar e atualizar senhas dos ramais.
  • Habilitar atualizações automáticas do sistema operacional.

Instalador:

  • Garantir headers do kernel instalados.
  • Verificar dependências (gcc, libs, MySQL headers se necessário).
  • Validar start dos serviços (zaptel/DAHDI, asterisk).

Operador/Telecom:

  • Testar rotas de saída/entrada com o provedor.
  • Medir qualidade de chamada e registrar incidentes.

Segurança e melhores práticas

  • Use senhas fortes e não reutilize credenciais.
  • Restrinja acesso à porta SIP (5060) por firewall, permitindo apenas hosts confiáveis.
  • Ative TLS e SRTP para sinalização e mídia quando disponível.
  • Considere instalar fail2ban para bloquear tentativas de brute-force contra SIP.
  • Desative codecs não utilizados e módulos desnecessários para reduzir superfície de ataque.

Privacidade: se processar dados pessoais (nomes, números), reveja requisitos locais de proteção de dados e registre propósito e retenção.

Alternativas e modernização

  • Painéis com GUI: FreePBX, Issabel/Elastix (facilitam administração e reduzem erros manuais).
  • Instalação via pacotes do sistema (apt/yum) reduz esforço de compilação e facilita atualizações de segurança.
  • Em infraestruturas cloud, utilize núcleos compatíveis e security groups para isolar tráfego SIP.

Quando este método falha:

  • Se o provedor requer autenticação por username/password em vez de host fixo, configure type=peer e auth apropriada.
  • Em NAT complexo, utilize o módulo externip/externaddr e localnet no sip.conf, ou instale um SBC (Session Border Controller).

Mini-metodologia de implantação (5 passos)

  1. Preparar servidor e dependências.
  2. Instalar e iniciar Asterisk em ambiente de teste.
  3. Criar ramais e dialplan básicos.
  4. Testar chamadas internas e externas.
  5. Aplicar segurança, backup e migrar para produção.

Casos de teste (aceitação)

  • Registro: ramal 1000 se registra e aparece em sip show peers.
  • Chamada interna: 1000 liga para 1001 e a chamada completa com áudio.
  • Saída: 1000 faz chamada pública e o tronco conecta.

Snippets e cheatsheet

  • Reiniciar Asterisk: service asterisk restart ou systemctl restart asterisk
  • Acessar console: asterisk -rvv
  • Ver peers: sip show peers
  • Ver registros: tail -f /var/log/asterisk/messages

Checklist de segurança rápida antes de produção

  • Alterar todas as senhas padrão.
  • Habilitar firewall e permitir apenas IPs necessários.
  • Ativar logs e rotinas de backup de /etc/asterisk.
  • Planejar monitoramento (vitalidade do serviço, registro de trunks).

Resumo final

Este guia mostrou os passos essenciais para compilar/instalar Asterisk, criar ramais SIP, configurar o dialplan e adicionar um tronco SIP. Para produção, prefira versões suportadas do Asterisk, aplique políticas de segurança e considere uma GUI ou pacotes pré-compilados para facilitar manutenção.

Notas finais: para dúvidas técnicas e suporte sobre este tutorial, entre em contato com Gventure.

Autor
Edição

Materiais semelhantes

Instalar e usar Podman no Debian 11
Containers

Instalar e usar Podman no Debian 11

Apt‑pinning no Debian: guia prático
Administração de sistemas

Apt‑pinning no Debian: guia prático

Injete FSR 4 com OptiScaler em qualquer jogo
Tecnologia

Injete FSR 4 com OptiScaler em qualquer jogo

DansGuardian e Squid com NTLM no Debian Etch
Infraestrutura

DansGuardian e Squid com NTLM no Debian Etch

Corrigir erro de instalação no Android
Android

Corrigir erro de instalação no Android

KNetAttach: Pastas de Rede remota no KDE
KDE

KNetAttach: Pastas de Rede remota no KDE