yup, that worked - here is an excerpt from my queue_log file after applying the patch on my test server.
[code]1149013420|1149013420.18|TestQueue|NONE|ENTERQUEUE||102
EDIT: now that you guys got me started, i’ve been fixing some other
1149013422|1149013420.18|TestQueue|SIP/102-a7bc|CONNECT|2
1149013448|1149013420.18|TestQueue|SIP/102-a7bc|TRANSFER|2|26|8000
[/code]
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));
with changes:
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]