Nesta segunda parte da série abordaremos uma introdução ao Asterisk, bem como sua estrutura e como ele entra em nossa Central Telefônica VoIP.
Introdução ao Asterisk
O Asterisk, o mais famoso PABX Free de código-aberto do mundo sob licença GPL, utilizado para gerenciamento e administração de sistemas VoIP, conta com excelentes ferramentas como FreePBX, Elastix, SNEP, entre outras.
O projeto necessita do GCC (GNU C Compiler) e algumas bibliotecas instaladas para a correta configuração e compilação da ferramenta. Informações que podem ser obtidas com detalhes em Asterisk Project – System Requirements.
A central telefônica neste artigo não terá uma placa ou interface de linhas analógicas ou E1, então não iremos instalar no ambiente o DAHDI Linux (Digium Asterisk Hardware Device Interface) mantido pela Digium, sendo o nome substituto ao antigo nome Zaptel. DAHDI é responsável por interfacear o hardware com a aplicação (channel driver) tanto para Asterisk como para o FreeSwitch, no pacote DAHDI está incluso os drivers e as ferramentas para manipulação.
Alguns módulos de sincronismos utilizam recursos das bibliotecas DAHDI, mesmo que não possua o hardware, como é o caso do MeetMe() da placa de discagem dialplan, mas não é de utilização para este artigo.
O mesmo vale para a biblioteca libpri, que adiciona suporte para ISDN (Integrated Services Digital Network) tanto para BRI (Basic Rate Interface) destinado a uso domésticos e pequenas empresas, quanto para PRI (Primary Rate Interface) sendo destinado a Provedores, Centrais Telefônicas, Empresas de médio e grande porte. Então, é mais um recurso para linhas convencionais que não encaixa no artigo sendo escrito, que tem foco apenas a SoftPhone utilizando SIP.
O Asterisk acaba utilizando e manipulando o protocolo SIP para redirecionamentos e regras de ramais, mas é limitado para uso de um Servidor SIP Proxy, onde a manipulação do cabeçalho e sinalização SIP são necessários para realizar tarefas como (SIP ROUTER, SIP NAT, SIP Proxy, SIP REDIRECT, SIP LOAD-BALANCER) muitas vezes praticado por provedores VoIP. Para este fim existem soluções como OpenSIPS e Kamailio, ambos baseados no OpenSER (hoje Kamailio).
Para demais soluções domésticas, pequenas empresas, grandes empresas, filias, conexão com provedores VoIP, integração com linhas analógicas E1 o Asterisk se encaixa muito bem.
Estrutura de diretórios Asterisk
/etc/asterisk – Arquivos de configuração do daemon Asterisk
/var/lib/asterisk – Armazena o database AstDB SQLite3 utilizado
/var/lib/asterisk/agi-bin – Arquivos AGI (Asterisk Gateway Interface)
/var/lib/asterisk/firmware – Arquivos de firmwares para placas DAHDI
/var/lib/asterisk/images – Arquivos de imagens, sistema gerenciamento web
/var/lib/asterisk/keys – Arquivos das chaves utilizados para autenticação
/var/lib/asterisk/moh – Arquivos da espera (Music on Hold)
/var/lib/asterisk/sounds – Arquivos de áudio para utilizar nas chamadas telefônicas e na URA
/var/lib/asterisk/static-http – Arquivos para página sistema de gerenciamento web do Asterisk
/usr/lib/asterisk/modules – Módulos carregáveis dinâmicos (.so) instalados pelo Asterisk ou pelo usuário
/var/spool/asterisk – Armazena arquivos dos vários componentes utilizados pelo core ou módulos, alguns diretórios:
- dictate
- meetme
- monitor
- outgoing
- recording
- system
- tmp
- voicemail
/var/log/asterisk – Arquivos de log, quando configurado para ser utilizado é este o caminho padrão.
Esta opções estão configuradas no asterisk.conf, um exemplo logo a seguir:
[directories](!) astetcdir => /etc/asterisk astmoddir => /usr/lib/asterisk/modules astvarlibdir => /var/lib/asterisk astdbdir => /var/lib/asterisk astkeydir => /var/lib/asterisk astdatadir => /var/lib/asterisk astagidir => /var/lib/asterisk/agi-bin astspooldir => /var/spool/asterisk astrundir => /var/run/asterisk astlogdir => /var/log/asterisk astsbindir => /usr/sbin
Documentação Oficial
Para mais informações e abordagem completa sobre o Asterisk acesse Asterisk Project – Getting Started.
Referências









Muito legal Cleiton!
Abraço
O mais legal esta por vir Leo, chegamos no topo da montanha russa!