[asterisk-bugs] [Asterisk 0014536]: After a caller is processed by app_queue the queue_log logs the hangup as TRANSFER
Asterisk Bug Tracker
noreply at bugs.digium.com
Thu Mar 12 11:06:19 CDT 2009
A NOTE has been added to this issue.
======================================================================
http://bugs.digium.com/view.php?id=14536
======================================================================
Reported By: aragon
Assigned To:
======================================================================
Project: Asterisk
Issue ID: 14536
Category: Applications/app_queue
Reproducibility: always
Severity: minor
Priority: normal
Status: new
Asterisk Version: 1.4.23
Regression: No
SVN Branch (only for SVN checkouts, not tarball releases): N/A
SVN Revision (number only!): 173594
Request Review:
======================================================================
Date Submitted: 2009-02-23 19:26 CST
Last Modified: 2009-03-12 11:06 CDT
======================================================================
Summary: After a caller is processed by app_queue the
queue_log logs the hangup as TRANSFER
Description:
I'm using agent callback and not channel_agent
In this example ext 222 dials *850 to enter a test queue and ext 233
(agent 1) answers the call. Then 222 hangs up.
But my queue_log logs the hangup reason as TRANSFER instead of
COMPLETEAGENT or COMPLETECALLER
I think I am using revision 173594
======================================================================
----------------------------------------------------------------------
(0101658) jvandal (reporter) - 2009-03-12 11:06
http://bugs.digium.com/view.php?id=14536#c101658
----------------------------------------------------------------------
Hi,
After some debugging, it look like that when the dialplan execute the
hangup extension (that do a Goto on an other context), the
qe->chan->context no more match the oldcontext and a TRANSFER event is
logged on queue_log.
In our case, we always use 'all-hangup' as hangup context and a simple
workaround/hack is to ignore the all-hangup context when doing the
verification... absolutely not "beautiful" or "portable" (work only because
we only use all-hangup context) but fix all problems and event are 100%
correct on queue_log.
Change from :
if (strcasecmp(oldcontext, qe->chan->context) || strcasecmp(oldexten,
qe->chan->exten)) {
To :
if (strcasecmp("all-hangup", qe->chan->context) && (strcasecmp(oldcontext,
qe->chan->context) || strcasecmp(oldexten, qe->chan->exten))) {
Issue History
Date Modified Username Field Change
======================================================================
2009-03-12 11:06 jvandal Note Added: 0101658
======================================================================
More information about the asterisk-bugs
mailing list