Telefonia - 11 min de leitura

Como Configurar o Asterisk para Gravar o CDR no Banco de Dados MySQL via ODBC

2 de maio de 2025
Como Configurar o Asterisk para Gravar o CDR no Banco de Dados MySQL via ODBC

Como Configurar o Asterisk para Gravar o CDR no Banco de Dados MySQL via ODBC

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.

Como integrar o Asterisk com MySQL via ODBC para registro de chamadas

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.


1. Atualize o sistema

Antes de tudo, mantenha seu sistema atualizado:

apt-get update 

2. Preparando o ambiente LAMP

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 

3. Instalando o conector ODBC do MySQL

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 

4. Configurando os arquivos ODBC

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 

5. Configurando o banco de dados

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" 

6. Testando a conexão ODBC

Use o isql para testar:

isql -v asterisk-connector 

7. Criando as tabelas do Asterisk (CDR)

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 

8. Configurando o Asterisk

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 

Conclusão

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.

Assista ao vídeo completo

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.

 

 

Assuntos relacionados



Computação Quântica: A Nova Revolução Tecnológica que Vai Transformar a Sociedade e o Mundo Corporativo
Tecnologia - 9 min de leitura
Computação Quântica: A Nova Revolução Tecnológica que Vai Transformar a Sociedade e o Mundo Corporativo

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...

O que é WebRTC e como ele revoluciona a telefonia IP com Asterisk
Telefonia - 6 min de leitura
O que é WebRTC e como ele revoluciona a telefonia IP com Asterisk

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...

Automatizando Chamadas no Asterisk: Como Funciona a Discagem Automática
Telefonia - 4 min de leitura
Automatizando Chamadas no Asterisk: Como Funciona a Discagem Automática

A discagem automática é uma das funcionalidades mais poderosas do Asterisk, especialmente para empresas que lidam com alto volume de chamadas, como...

Segurança da Informação para Empresas: O Que Você Precisa Saber Para Proteger Seu Negócio
Tecnologia - 3 min de leitura
Segurança da Informação para Empresas: O Que Você Precisa Saber Para Proteger Seu Negócio

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...

Saiba mais sobre as nossas experiências

Ou entre em contato com um de nossos consultores (11) 3709-2380

Informe seus dados e aguarde o nosso contato!

Ao preencher este formulário, você está ciente e concorda que poderá ser contatado por mensagens ou telefone pela nossa equipe!

Sucesso!

Entraremos em contato em breve!

Ops!

Não foi possivel enviar sua solicitação.

Tente novamente!