[AsteriskBrasil] queue_log Mysql
Sylvio Jollenbeck
sylvio.jollenbeck em gmail.com
Segunda Abril 1 02:26:20 BRT 2013
Sergio,
Se o seu Asterisk está na versão 1.6, você deve apenas fazer a aplicação
do patch no logger.c. Mas não é esse patch que esta no historico da lista,
segue o patch correto:
Index: main/logger.c
===================================================================
--- main/logger.c (revision 94615)
+++ main/logger.c (working copy)
@@ -418,18 +418,34 @@
va_list ap;
char qlog_msg[8192];
int qlog_len;
- if (qlog) {
+ char time_str[16];
+
+ if (ast_check_realtime("queue_log")) {
va_start(ap, fmt);
- qlog_len = snprintf(qlog_msg, sizeof(qlog_msg), "%ld|%s|%s|%s|%s|",
(long)time(NULL), callid, queuename, agent, event);
- vsnprintf(qlog_msg + qlog_len, sizeof(qlog_msg) - qlog_len, fmt, ap);
+ vsnprintf(qlog_msg, sizeof(qlog_msg), fmt, ap);
va_end(ap);
+ snprintf(time_str, sizeof(time_str), "%ld", (long)time(NULL));
+ ast_store_realtime("queue_log", "time", time_str,
+ "callid", callid,
+ "queuename", queuename,
+ "agent", agent,
+ "event", event,
+ "data", qlog_msg,
+ NULL);
+ } else {
+ if (qlog) {
+ va_start(ap, fmt);
+ qlog_len = snprintf(qlog_msg, sizeof(qlog_msg),
"%ld|%s|%s|%s|%s|", (long)time(NULL), callid, queuename, agent,
event);
+ vsnprintf(qlog_msg + qlog_len, sizeof(qlog_msg) - qlog_len, fmt, ap);
+ va_end(ap);
+ }
+ AST_RWLIST_RDLOCK(&logchannels);
+ if (qlog) {
+ fprintf(qlog, "%s\n", qlog_msg);
+ fflush(qlog);
+ }
+ AST_RWLIST_UNLOCK(&logchannels);
}
- AST_RWLIST_RDLOCK(&logchannels);
- if (qlog) {
- fprintf(qlog, "%s\n", qlog_msg);
- fflush(qlog);
- }
- AST_RWLIST_UNLOCK(&logchannels);
}
Obs: Pode ser que as linhas de aplicação desse patch não bata com o
seu Asterisk devido as diversas releases do sistema, mas pode ser
fácilmente aplicado na mão, apenas observe a linha e faça as
alterações do código.
Após aplicar o patch é necessário recompilar o Asterisk, não execute o
comando make examples.
Abs,
Sylvio Jollenbeck
www.hosannatecnologia.com.br
Em 31 de março de 2013 16:52, sergio <sergio em inbox.com> escreveu:
> **
> Boa tarde,
>
> Olhando mensagens mais antigas na lista vi um post sobre o assunto porém
> com asterisk 1.4
>
> Porém não se se adiantaria eu usar o mesmo patch para este caso, pois pelo
> visto esse post seria para habilitar o suporte no Asterisk 1.4 que não
> grava o queue_log no banco de dados.
>
>
> http://listas.asteriskbrasil.org/pipermail/asteriskbrasil/2011-September/053491.html
>
> Como eu uso Elastix existe alguma forma de atualizar o Asterisk para
> versão 1.8 sem correr risco da distro parar de rodar ?
>
>
>
>
> -----Original Message-----
> *From:* sergio em inbox.com
> *Sent:* Sat, 30 Mar 2013 15:13:56 -0800
> *To:* asteriskbrasil em listas.asteriskbrasil.org,
> asteriskbrasil em listas.asteriskbrasil.org
> *Subject:* Re: [AsteriskBrasil] queue_log Mysql
>
> Sylvio muito obrigado pela ajuda!
>
> Neste caso seria um patch ? você saberia me informar como aplicar ? teria
> que recompilar todo o Asterisk ?
>
> Abs.
>
>
> -----Original Message-----
> *From:* sylvio.jollenbeck em gmail.com
> *Sent:* Sat, 30 Mar 2013 12:58:04 -0300
> *To:* asteriskbrasil em listas.asteriskbrasil.org
> *Subject:* Re: [AsteriskBrasil] queue_log Mysql
>
> Olá, Sergio.
>
> O queue_log passou a ser gravado no banco de dados a partir da versão
> 1.6 do Asterisk e a partir da versão 1.8 o campo data foi divididos em
> quatro campos de dados. Existe um backport da função de split do campo data
> para o logger.c da versão 1.6. Desta forma, você não precisará de nenhum
> script adicional. "o segredo esta no logger.c"
>
> Abs,
>
>
> Em 30 de março de 2013 11:45, sergio <sergio em inbox.com> escreveu:
>
> Olá lista, se algum dos amigos puder me ajudar eu agradeço
>
> Criei a tabela abaixo no mysql
>
> CREATE TABLE `queue_log` (
> `id` int(11) unsigned NOT NULL auto_increment,
> `time` char(100) NOT NULL,
> `queuename` varchar(30) default NULL,
> `agent` varchar(30) default NULL,
> `callid` varchar(30) default NULL,
> `event` varchar(30) default NULL,
> `data` varchar(255) default NULL,
> `data1` varchar(20) default NULL,
> `data2` varchar(20) default NULL,
> `data3` varchar(20) default NULL,
> `data4` varchar(20) default NULL,
> `data5` varchar(20) default NULL,
> PRIMARY KEY (`id`)
> ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
>
> SET FOREIGN_KEY_CHECKS = 1;
>
> Adicionei a linha abaixo ao Arquivo extconfig.conf
>
> queue_log => mysql,general
>
> Modifiquei o arquivo res_mysql.conf
>
> [general]
> dbhost = 127.0.0.1
> dbname = asterisk
> dbuser = asteriskuser
> dbpass = 11111111111
>
> Modifiquei o arquivo logger.conf
>
> [general]
>
> queue_log = yes
>
> queue_log_name = queue_log
>
> Em um Asterisk 1.8 está tudo OK, ele grava os dados nos campos data,
> data1, data2, data3, data4, data5
>
> Em um outro Asterisk 1.6 ele esta gravando tudo apenas no campo data no
> mesmo formato do queue_log txt com pipe.
>
> Já pensei em pegar o queue_log txt e usar um Aplicativo do queue metrics
> para popular o banco, porém fico com receio de rotacionar o queue_log
> corretamente e não perder dados.
>
> Alguém já passou por isso ?
>
> ____________________________________________________________
> FREE 3D MARINE AQUARIUM SCREENSAVER - Watch dolphins, sharks & orcas on
> your desktop!
> Check it out at http://www.inbox.com/marineaquarium
>
>
> _______________________________________________
> KHOMP: completa linha de placas externas FXO, FXS, GSM e E1;
> Media Gateways de 1 a 64 E1s para SIP com R2, ISDN e SS7;
> Intercomunicadores para acesso remoto via rede IP. Conheça em
> www.Khomp.com.
> _______________________________________________
> DIGIVOICE Fabricante de Placas de Voz e Channel Bank
> 20 anos de experiência com E1(R2/ISDN), FXS, FXO e GSM
> Centro Treinamento - Curso de PABX IP - Asterisk - Site
> www.digivoice.com.br
> _______________________________________________
> ALIGERA – Fabricante nacional de Gateways SIP-E1 para R2, ISDN e SS7.
> Placas de 1E1, 2E1, 4E1 e 8E1 para PCI ou PCI Express.
> Channel Bank – Appliance Asterisk - Acesse www.aligera.com.br.
> _______________________________________________
> Para remover seu email desta lista, basta enviar um email em branco para
> asteriskbrasil-unsubscribe em listas.asteriskbrasil.org
>
>
>
>
> --
> Sylvio Jollenbeck
> www.hosannatecnologia.com.br
>
> ------------------------------
> [image: Smileys Preview] <http://www.inbox.com/smileys>
> ***Get Free Smileys for Your IM & Email* - Learn more at
> www.crawler.com/smileys**
> **Works with AIM®, MSN® Messenger, Yahoo!® Messenger, ICQ®, Google Talk™and most webmails
> **
>
> ------------------------------
> Free Online Photosharing - Share your photos online with your friends
> and family!
> Visit http://www.inbox.com/photosharing to find out more!
>
> _______________________________________________
> KHOMP: completa linha de placas externas FXO, FXS, GSM e E1;
> Media Gateways de 1 a 64 E1s para SIP com R2, ISDN e SS7;
> Intercomunicadores para acesso remoto via rede IP. Conheça em
> www.Khomp.com.
> _______________________________________________
> DIGIVOICE Fabricante de Placas de Voz e Channel Bank
> 20 anos de experiência com E1(R2/ISDN), FXS, FXO e GSM
> Centro Treinamento - Curso de PABX IP - Asterisk - Site
> www.digivoice.com.br
> _______________________________________________
> ALIGERA – Fabricante nacional de Gateways SIP-E1 para R2, ISDN e SS7.
> Placas de 1E1, 2E1, 4E1 e 8E1 para PCI ou PCI Express.
> Channel Bank – Appliance Asterisk - Acesse www.aligera.com.br.
> _______________________________________________
> Para remover seu email desta lista, basta enviar um email em branco para
> asteriskbrasil-unsubscribe em listas.asteriskbrasil.org
>
--
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: http://listas.asteriskbrasil.org/pipermail/asteriskbrasil/attachments/20130401/8f45d5e8/attachment.htm
Mais detalhes sobre a lista de discussão AsteriskBrasil