Na continuidade da nossa série sobre o Asterisk, hoje vamos abordar um dos temas mais importantes para quem está desenvolvendo um PABX corporativo ou de call center: o registro das chamadas. Em outras palavras, vamos entender como configurar o Asterisk para gravar os dados de bilhetagem (CDR - Call Detail Records) em um banco de dados MySQL utilizando ODBC.
O CDR é essencial para monitorar e auditar chamadas, com informações como número de origem, destino, tempo de duração, horários de atendimento e desligamento, entre outras. Com esses dados salvos em um banco relacional, torna-se possível integrá-los a sistemas de relatórios, BI e até mesmo CRM.
Esse conteúdo nasceu a partir de um comentário deixado pelo Leandro em um vídeo no canal Gnew no YouTube sobre criação de ramais e dialplans no Asterisk. Por isso, reforçamos: sua interação é muito importante! Sempre que possível, traremos vídeos dedicados para dúvidas mais complexas da comunidade.
Se você utiliza o Asterisk como PABX IP e deseja registrar seus dados de chamadas (CDRs) de forma estruturada e integrada a um banco de dados, essa integração com o MySQL via ODBC é ideal para você.
Neste post, mostramos o passo a passo para configurar o Asterisk com MySQL utilizando o conector ODBC. Essa prática é fundamental para empresas que desejam auditar, armazenar ou até mesmo integrar chamadas com sistemas corporativos como CRMs, ERPs e BI.
Antes de tudo, mantenha seu sistema atualizado:
apt-get update
Vamos seguir o padrão mais comum de ambiente para quem utiliza PHP e MySQL. Instale os pacotes essenciais:
apt-get install mysql-server unixodbc
Baixe o conector ODBC diretamente do site oficial:
MySQL ODBC Connector Downloads
Depois de baixar o .deb
, envie para o servidor com o FileZilla (ou outro cliente SFTP).
Instale com:
dpkg -i mysql-connector-odbc_9.2.0-1ubuntu24.04_amd64.deb
Edite o arquivo de drivers ODBC:
vi /etc/odbcinst.ini
(Verifique se o driver do MySQL está listado.)
Agora configure a fonte de dados:
vi /etc/odbc.ini
Exemplo de configuração:
[asterisk-connector]
Description = MySQL Asterisk CDR
Driver = MySQL
Database = asterisk_db
Server = localhost
User = asterisk
Password = senha123
Port = 3306
Execute os seguintes comandos para preparar o banco e usuário:
mysql -u root -e "CREATE DATABASE asterisk_db"
mysql -u root -e "CREATE USER 'asterisk'@'localhost' IDENTIFIED BY 'senha123'"
mysql -u root -e "GRANT ALL PRIVILEGES ON asterisk_db.* TO 'asterisk'@'localhost'"
mysql -u root -e "FLUSH PRIVILEGES"
Use o isql
para testar:
isql -v asterisk-connector
Instale ferramentas para manipular o banco com Alembic:
apt install python3-venv python3-dev
python3 -m venv venv
. venv/bin/activate
pip install alembic mysqlclient
Navegue até o diretório de migrações:
cd /usr/src/asterisk-22.1.1/contrib/ast-db-manage
cp cdr.ini.sample cdr.ini
vi cdr.ini
No cdr.ini
, edite a URL:
sqlalchemy.url = mysql://asterisk:senha123@localhost/asterisk_db
Execute a migração:
alembic -c cdr.ini upgrade head
Altere os arquivos de configuração para apontar para o ODBC:
cd /etc/asterisk/
# res_odbc
mv res_odbc.conf res_odbc.conf.old
vi res_odbc.conf
[asterisk]
enabled => yes
dsn => asterisk-connector
username => asterisk
password => senha123
pre-connect => yes
# cdr_adaptive_odbc
mv cdr_adaptive_odbc.conf cdr_adaptive_odbc.conf.old
vi cdr_adaptive_odbc.conf
[adaptive_connection]
connection=asterisk
table=cdr
Reinicie o Asterisk:
/etc/init.d/asterisk restart
Com esses passos, o Asterisk estará devidamente configurado para registrar todas as chamadas no banco de dados MySQL, acessível por aplicações PHP, dashboards de BI, ou qualquer outro sistema que consuma dados via SQL.
Isso abre portas para criar relatórios customizados, filtros por ramal, horários, gravações, entre outros recursos poderosos de análise e integração.
Se você quiser ajuda para automatizar relatórios ou integrar com o seu sistema, fale com a equipe da Gnew Tech. Somos especialistas em telefonia IP, desenvolvimento sob demanda e soluções corporativas.
Importante destacar: o passo a passo técnico completo com todos os comandos e configurações está demonstrado no vídeo, por isso, recomendamos assisti-lo até o final.
No vídeo abaixo, você confere todos os detalhes técnicos do processo, desde a instalação dos pacotes necessários até a verificação dos registros das chamadas no banco de dados.
A computação quântica não é apenas um avanço tecnológico — é uma revolução científica que promete reconfigurar totalmente como lidamos com...
A evolução das tecnologias de comunicação tem transformado a maneira como empresas e usuários finais se conectam no dia a dia. Entre essas tecnologias...
A discagem automática é uma das funcionalidades mais poderosas do Asterisk, especialmente para empresas que lidam com alto volume de chamadas, como...
Em um mundo cada vez mais digital, a segurança da informação deixou de ser um diferencial e se tornou uma necessidade urgente para...