O objetivo desse patch é armazenar as informações de queue log em arquivo caso o banco fique indisponível e realizar unspool das informações quando o banco ficar disponível<br><br>Todas as alterações foram realizadas pela equipe de desenvolvimento da
Locaweb Telecom. E esse patch roda em todos os nossos servidores
Asterisk que enviam uma grande quantidade de eventos para o nosso banco
de dados<br><br>Apenas lembrando que o asterisk 1.4 não realiza a inserção do
queue log em banco de dados. Então, implementamos esse patch:<br><a href="http://forums.digium.com/viewtopic.php?t=4073&amp;start=0&amp;postdays=0&amp;postorder=asc&amp;highlight=&amp;sid=b4bc1e7b9dce3244175a579fd285460c" target="_blank">http://forums.digium.com/viewtopic.php?t=4073&amp;start=0&amp;postdays=0&amp;postorder=asc&amp;highlight=&amp;sid=b4bc1e7b9dce3244175a579fd285460c</a> <br>



<br>Depois disso, nós realizamos um merge entre o patch citado acima e
outro que faz spool de CDR caso o banco fique indisponível. Mas o link
que falava sobre esse patch está fora :-(<br><a href="http://www.uglyboxindustries.com/cdr_addon_mysql.html" target="_blank">http://www.uglyboxindustries.com/cdr_addon_mysql.html</a><br>

<a href="https://issues.asterisk.org/view.php?id=4953" target="_blank">https://issues.asterisk.org/view.php?id=4953</a>.<br><br>O
patch está rodando legal para versão asterisk-1.4.26.1, talvez em outra
versão do 1.4 as referencias do patch não batam. Ai é só refazer o diff<br>
<br>Segue passos:<br> - baixar os patches: <a href="http://thiago.sitepessoal.com/queue_log_patches.tar.bz2" target="_blank">http://thiago.sitepessoal.com/queue_log_patches.tar.bz2</a><br><br>Tem dois arquivos dentro do bz2 que precisão ser copiados para o projeto do asterisk:<br>


logger-mysql.c - precisa ficar dentro do diretório main do asterisk, ex: asterisk-1.4/main/logger-mysql.c<br><div>patch.Makefile - precisa ficar dentro do diretório do asterisk, ex: asterisk-1.4/patch.Makefile<br>
<br>Após os arquivos estarem copiados, realize o seguinte comando de dentro do projeto asterisk, ex: asterisk-1.4/<br>
- patch -p0 &lt; patch.Makefile<br><br>saida esperada:<br>patching file Makefile<br>patching file ./main/logger.c<br>Hunk #1 succeeded at 86 with fuzz 1.<br>Hunk #2 succeeded at 334 (offset -6 lines).<br>Hunk #3 succeeded at 359 (offset -6 lines).<br>


<br>Ai é só compilar novamente o Asterisk.<br>- make &amp;&amp; make install<br><br>Aqui
na Locaweb Telecom nós mudamos o nome da tabela QueueLog para inserir
os dados em uma tabela que já existia em nossa base. Se quiser mudar os
campos, é só alterar a chamada do insert no arquivo logger-mysql.c.<br>
<br>Tabela no MySQL:<br>CREATE TABLE `AsteriskQueueLog` (<br>  `datetime` datetime NOT NULL default &#39;0000-00-00 00:00:00&#39;,<br>  `callid` varchar(20) NOT NULL default &#39;&#39;,<br>  `queue` varchar(20) NOT NULL default &#39;&#39;,<br>


  `agent` varchar(20) NOT NULL default &#39;&#39;,<br>  `action` varchar(20) NOT NULL default &#39;&#39;,<br>  `info1` varchar(100) NOT NULL default &#39;&#39;,<br>  `info2` varchar(100) NOT NULL default &#39;&#39;,<br>  `info3` varchar(100) NOT NULL default &#39;&#39;,<br>


  `info4` varchar(100) NOT NULL default &#39;&#39;,<br>)<br><br>Agora é só configurar as informações de acesso ao banco de dados no arquivo logger.conf:<br><br>[mysql]<br>hostname= IP do MySQL<br>dbname= Nome do schema/database<br>


table=Nome da Tabela<br>password= Senha de acesso<br>user= Usuário<br>port=3306<br>spool=/var/spool/asterisk/logger-mysql.spool - arquivo de spool<br><br>Espero que tenha ajudado a comunidade com essa contribuição da Locaweb Telecom <br>
<br>Valeu<br></div>