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



Como Centralizar WhatsApp, Instagram e Telegram em Uma Única Plataforma de Atendimento
Transformação Digital - 9 min de leitura
Como Centralizar WhatsApp, Instagram e Telegram em Uma Única Plataforma de Atendimento

A comunicação digital empresarial mudou. Hoje, clientes entram em contato por múltiplos canais simultaneamente — WhatsApp, Instagram Direct...

IA em Nuvem ou On-Premise: Qual a Melhor Estratégia para Empresas?
Tecnologia - 5 min de leitura
IA em Nuvem ou On-Premise: Qual a Melhor Estratégia para Empresas?

A adoção de Inteligência Artificial nas empresas traz uma decisão estratégica fundamental: utilizar IA em...

Como Preparar a Infraestrutura de TI da Sua Empresa para Inteligência Artificial
Tecnologia - 6 min de leitura
Como Preparar a Infraestrutura de TI da Sua Empresa para Inteligência Artificial

A implementação de Inteligência Artificial (IA) nas empresas exige muito mais do que contratar uma API ou integrar um chatbot ao site. Para que a IA gere...

Como Integrar Inteligência Artificial em Produtos e Serviços Corporativos para Manter Competitividade
Tecnologia - 8 min de leitura
Como Integrar Inteligência Artificial em Produtos e Serviços Corporativos para Manter Competitividade

A reconfiguração do mercado global de software deixou um alerta claro para empresas de tecnologia: quem não integrar Inteligência Artificial (IA) de forma...

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!