Essa semana me deparei com um "problema", que do meu ponto de vista é algo totalmente improdutivo (e, no mínimo, desnecessário).
Encontrei uma instalação do Asterisk que não gravava dados no campo uniqueid da tabela CDR do DB MySQL, e, resolver tal situação me tomou um tempo precioso.
Depois de muita pesquisa consegui encontrar a solução, que é bastante simples, mas que, do meu ponto vista, é injustificável.
Para quem não sabe, o suporte ao uso do CDR em um banco de dados MySQL é disponibilizado pelo pacote asterisk-addons. Não sei se por um erro, ou por uma decisão consciente dos desenvolvedores (que me parece ser uma das mais equivocadas que já vi), é preciso alterar o código fonte desse pacote para habilitar o suporte ao armazenamento do uniqueid na tabela.
Então, se você também está passando por situação semelhante, mãos à obra:
Encontrei uma instalação do Asterisk que não gravava dados no campo uniqueid da tabela CDR do DB MySQL, e, resolver tal situação me tomou um tempo precioso.
Depois de muita pesquisa consegui encontrar a solução, que é bastante simples, mas que, do meu ponto vista, é injustificável.
Para quem não sabe, o suporte ao uso do CDR em um banco de dados MySQL é disponibilizado pelo pacote asterisk-addons. Não sei se por um erro, ou por uma decisão consciente dos desenvolvedores (que me parece ser uma das mais equivocadas que já vi), é preciso alterar o código fonte desse pacote para habilitar o suporte ao armazenamento do uniqueid na tabela.
Então, se você também está passando por situação semelhante, mãos à obra:
- Vá no diretório dos fonte do asterisk-addons e edite o arquivo cdr_addon_mysql.c;
- Adicione a linha #define MYSQL_LOGUNIQUEID no início do arquivo;
- Compile o asterisk-addons e voilá;
Pesquisei nos fontes e percebi várias linhas se referindo a tal constante, mas a mesma não era declarada em lugar algum, o que fazia com que o suporte ao recurso não fosse habilitado.
Não achei uma explicação para tal comportamento, que, pelo que pude observar já existe há mais de 3 anos. Se alguém souber o motivo disso, por favor deixe seus comentários.
Não achei uma explicação para tal comportamento, que, pelo que pude observar já existe há mais de 3 anos. Se alguém souber o motivo disso, por favor deixe seus comentários.
Bah tche!
ResponderExcluirTava me quebrando pra descobrir qual era o problema. Não é que funcionou mesmo!? huehue
Isso não tem explicação, só pode ser um erro de programação mesmo.
Valeu pela dica!
Att.
Ronaldo Sacco
contato@ronaldosacco.com.br
Blz tchê.
ResponderExcluirBom saber que ajudou.
[]s
Caro Marcelo, esta instalação seria com a distro Meucci da Digivoice?
ResponderExcluirEstou com o mesmo problema. Ainda não testei sua solução, vou fazer, mas queria perguntar outra coisa.
Como eu poderia fazer para armazenar também no campo userfield o nome do arquivo de audio produzido pelo mixmonitor na gravação?
Não, era um Asterisk puro, mas pode ser que ocorra no Meucci se este utilizar o Asterisk versão 1.4.
ExcluirCom relação ao nome do arquivo, normalmente uso o uniqueid mais extensão, o que é bastante eficiente, pois este dado já é armazenado no DB.
[]s