[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