[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
Wed Mar 4 10:17:54 CST 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-04 10:17 CST
====================================================================== 
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
====================================================================== 

---------------------------------------------------------------------- 
 (0101196) aragon (reporter) - 2009-03-04 10:17
 http://bugs.digium.com/view.php?id=14536#c101196 
---------------------------------------------------------------------- 
I found the cause of this.

The call is logged as a transfer if "Single Digit Key Press: =AA

Single Digit Key Press: = NONE
Logs disconnect reason correctly

The 'Single Key Press' option will set on queue.conf :
[default-sales]
music                          =  default
strategy                       =  rrmemory
servicelevel                   =  30
context                        = 
default-aa-servicemainmenubutton1englishsubmenu
timeout                        =  15
retry                          =  5
maxlen                         =  0
weight                         =  0
reportholdtime                 =  no
reportwaitcall                 =  no
memberdelay                    =  0
timeoutrestart                 =  no
autofill                       =  yes
autopause                      =  no
ringinuse                      =  no
setinterfacevar                =  yes
wrapuptime                     =  
joinempty                      =  yes
leavewhenempty                 =  no
eventwhencalled                =  vars
eventmemberstatus              =  yes
queue-youarenext               =  queue-youarenext
queue-thereare                 =  queue-thereare
queue-callswaiting             =  queue-callswaiting
queue-holdtime                 =  queue-holdtime
queue-minutes                  =  queue-minutes
queue-seconds                  =  queue-seconds
queue-thankyou                 =  queue-thankyou
queue-lessthan                 =  queue-less-than

but I don't think problem is with the 'ivr menu' but with a bug on
app_queue.c

if I check this code :

  if (!attended_transfer_occurred(qe->chan)) {
                        struct ast_datastore *tds;
                        if (strcasecmp(oldcontext, qe->chan->context) ||
strcasecmp(oldexten, qe->chan->exten)) {
                                ast_queue_log(queuename,
qe->chan->uniqueid, member->membername, "TRANSFER", "%s|%s|%ld|%ld",....

ok... this is not an attended transfer, so ...
     ahh the context doesn't match the oldcontext ... then this is a
TRANSFER call 

It report TRANSFER instead of EXITWITHKEY

Also it does not matter if anyone presses DTMF while waiting in queue,
simply the fact that Single Digit Key Press= AA is enough to corrupt
disconnect reason 

Issue History 
Date Modified    Username       Field                    Change               
====================================================================== 
2009-03-04 10:17 aragon         Note Added: 0101196                          
======================================================================




More information about the asterisk-bugs mailing list