[asterisk-users] realtime queue_log to mySQL backport to 1.4

Lee, John (Sydney) John.Lee at compuware.com
Mon Oct 13 19:36:39 CDT 2008


> if you have applied everything correctly - queue_log file shoudln't
> have any more lines (except init when restarting asterisk).

Thanks Atis.
I see what you are saying.  In the patch for logger.c, 

The code to write to mysql is there except that we need to perform
ast_check_realtime("queue_log").

I guess ast_check_realtime() is looking into extconfig.conf and
searching for 
queue_log => mysql,db1

which is there in my extconfig.conf already.

Can any Asterisk developers enlighten me on this?



void ast_queue_log(const char ...)
 {
+ 	char qlog_msg[8192];
+	char time_str[16];
+
+	if (ast_check_realtime("queue_log")) {
 		va_start(ap, fmt);
+		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) {
+			AST_LIST_LOCK(&logchannels);
+			va_start(ap, fmt);
+			fprintf(qlog, "%ld|%s|%s|%s|%s|",
(long)time(NULL), callid, queuename, agent, event);
[...]
+		}
 	}

> -----Original Message-----
> From: Atis Lezdins [mailto:atis at iq-labs.net]
> Sent: Monday, 13 October 2008 8:02 PM
> To: Lee, John (Sydney)
> Cc: Asterisk Users Mailing List - Non-Commercial Discussion
> Subject: Re: [asterisk-users] realtime queue_log to mySQL backport to
1.4
> 
> Hi John,
> 
> 
> On Mon, Oct 13, 2008 at 9:51 AM, Lee, John (Sydney)
> <John.Lee at compuware.com> wrote:
> >> http://ftp.iq-labs.net/queue_log-
> >> 1.4/asterisk_queue_log_realtime_1.4.19.patch
> 
> Haven't you forgotten this one? ;)
> 
> if you have applied everything correctly - queue_log file shoudln't
> have any more lines (except init when restarting asterisk).
> 
> Regards,
> Atis
> 
> >>
> >> This uses standardized realtime/mysql library from asterisk addons.
> >> For it to support SQL inserts in 1.4, you would also need to apply
> >> both patches from (1 for asterisk, another for asterisk-addons)
> >>
> >> http://ftp.iq-labs.net/realtime_store_destroy-1.4/
> >>
> >> This will later allow you to upgrade to 1.6 and having everything
> >> working without patching.
> >
> > I have patched in asterisk 1.4
> > . main/logger.c
> > . include/asterisk/config.h
> > . main/config.c
> >
> > I have patched in asterisk-addons 1.4
> > . res/res_config_mysql.c
> >
> > I have re-installed asterisk and asterisk-addons.
> >
> > I created a database called db1 and in there created a table called
> > queue_log as per instruction
> > http://www.voip-info.org/wiki/view/Asterisk+queue_log+on+MySQL
> >
> > I changed /etc/asterisk/extconfig.conf to add the following line:
> > [settings]
> > queue_log => mysql,db1
> >
> > I changed /etc/asterisk/res_mysql.conf to add the following:
> > [general]
> > dbhost = localhost
> > dbname = db1
> > dbuser = user
> > dbpass = password
> > dbport = 3306
> > dbsock = /var/lib/mysql/mysql.sock
> >
> > 1) However, whenever I perform an agent login, no row is written to
> > table queue_log.  I checked /var/log/asterisk/queue_log and a new
entry
> > is written there.
> > 2) I set debug to 10 on the console in asterisk and re-did the test
but
> > there were no error messages in /var/log/asterisk/messages.
> > 3) I set debug on in mysqld and there are no information for
inserting
> > into table queue_log, except the cdr logging as below.
> > Tcp port: 0  Unix socket: (null)
> > Time                 Id Command    Argument
> > 081013 15:59:36       1 Connect     user at localhost on db1
> >                      2 Connect     user at localhost on db1
> > 081013 16:00:32       1 Query       INSERT INTO cdr_log ...
> > 081013 16:01:42       1 Query       INSERT INTO cdr_log ...
> >
> > Is there anyone who can help me?
> >
> >
> 
> 
> 
> --
> Atis Lezdins,
> VoIP Project Manager / Developer,
> atis at iq-labs.net
> Skype: atis.lezdins
> Cell Phone: +371 28806004
> Cell Phone: +1 800 7300689
> Work phone: +1 800 7502835




More information about the asterisk-users mailing list