yup, that worked - here is an excerpt from my queue_log file after applying the patch on my test server.
EDIT: now that you guys got me started, i’ve been fixing some other
i’ll probably roll this change out to one server tonight, and the rest later this week…feel free to do whatever you want with my changed code…it’s not like i did a lot of work on it.
EDIT: you guys got me started on this, and now i’ve gone through and fixed a few other problems in the app_queue logging system. the COMPLETECALLER and COMPLETEAGENT statuses are supposed to log the original position of the caller in the log file, but don’t. here is how to fix that:
change lines 2278 and 2292 to reflect the changes in bold
original line format:
ast_queue_log(queuename, qe->chan->uniqueid, peer->name, “COMPLETEXXXXX”, “%ld|%ld”, (long)(callstart - qe->start), (long)(time(NULL) - callstart));
ast_queue_log(queuename, qe->chan->uniqueid, peer->name, “COMPLETEXXXXX”, “%ld|%ld|%d”, (long)(callstart - qe->start), (long)(time(NULL) - callstart), qe->opos);
now, for those of you still reading, this begs another question - we only have three ‘extra’ fields of data, past the event. adding the original caller position uses up all three for COMPLETECALLER and COMPLETEAGENT, but TRANSFER, which is in effect a COMPLETEAGENT, is already using all three, so you cannot store the original position without adding a fourth ‘extra’ column. this shouldn’t be a big deal, actually, but we could just ditch the extension that the agent transferred the caller to and put the original position there instead…does that make sense?
i ask only because i use the original position, along with waittimes, to graphically show the load so that managers can try to staff for the heaviest call periods.
in any case, i might modify the transfer entry to look like this:
this would log the original position as well as the extension the call was transferred to, but logging to mysql (as i do) would require adding a fourth ‘arg’ column…again, not a biggie, but something to keep in mind.
i’m open to your thoughts guys, and sorry to clutter the thread up so much, but we handle several thousand inbound calls a day via the queues, and NOT being able to accurately determine what is happening is not an option. PLEASE give me some feedback if you have any.[/b]