Summary:ASTERISK-19647: talktime 0 sec after transfer queueA->QueueB
Reporter:Elwin Formsma (formsmae)Labels:
Date Opened:2012-04-06 06:56:05Date Closed:2012-04-13 02:38:04
Versions: Frequency of
Environment:Attachments:( 0) full_log.txt
( 1) queue_log.txt

We are experiencing an issue with the Queuelog. This is what happens:

1. A call comes in queue A and get answered by an agent.
2. The agent from queue A transfers the call (attended) to queue B.
3. The call gets answered in queue B.
4. After talking for a while the caller hangs up.

The queue log shows the the call in queue A correctly. The call in queue B however shows a talktime of 0 seconds, though its actually 114 seconds.
Our reports now shows multiple calls of 0 seconds which screws up our reports.

We are running on Asterisk, but we also test on Anyone know of this problem and a possible fix?
Thanks in advance.

If more logging/information is needed please let me know.
Comments:By: Elwin Formsma (formsmae) 2012-04-06 06:56:25.205-0500

Full log of call

By: Elwin Formsma (formsmae) 2012-04-06 06:56:38.869-0500

queue log entries of testcall

By: Matt Jordan (mjordan) 2012-04-10 09:25:44.997-0500

We require a complete debug log to help triage the issue. This document will provide instructions on how to collect debugging logs from an Asterisk machine for the purpose of helping bug marshals troubleshoot an issue: https://wiki.asterisk.org/wiki/display/AST/Collecting+Debug+Information

By: Elwin Formsma (formsmae) 2012-04-13 02:37:53.264-0500

Hi Matt,

Thanks for your response.
We managed to fix the issue in the dialplan.



By: Reid Canavan (reidcanavan) 2012-10-12 11:01:03.767-0500

You mentioned this was corrected in the dialplan.  Can you advise what the fix was?

By: Elwin Formsma (formsmae) 2012-10-22 03:08:59.337-0500

Was a very small fix. See patch:

--- trunk/agents/functions.inc.php 2012/03/16 15:45:59 113
+++ trunk/agents/functions.inc.php 2012/04/11 16:44:58 114
@@ -476,7 +476,7 @@
  if(isset($amp_conf['ATTENDANT_TRANSFER_QUEUE_PRIO']) && $amp_conf['ATTENDANT_TRANSFER_QUEUE_PRIO'] != '' && $amp_conf['ATTENDANT_TRANSFER_QUEUE_PRIO'] != 'none') {
    $ext->add($s,$c,'',new ext_setvar('_QUEUE_PRIO',$amp_conf['ATTENDANT_TRANSFER_QUEUE_PRIO']));
-  $ext->add($s,$c,'',new ext_dial('Local/${EXTEN}@from-internal','60,g'));
+  $ext->add($s,$c,'',new ext_dial('Local/${EXTEN}@from-internal/n','60,g'));
  $ext->add($s,$c,'done',new ext_hangup());

  $s = 'agent-blind-xfer';
@@ -485,7 +485,7 @@
  if(isset($amp_conf['UNATTENDANT_TRANSFER_QUEUE_PRIO']) && $amp_conf['UNATTENDANT_TRANSFER_QUEUE_PRIO'] != '' && $amp_conf['UNATTENDANT_TRANSFER_QUEUE_PRIO'] != 'none') {
    $ext->add($s,$c,'',new ext_setvar('_QUEUE_PRIO',$amp_conf['UNATTENDANT_TRANSFER_QUEUE_PRIO']));
-  $ext->add($s,$c,'',new ext_dial('Local/${EXTEN}@from-internal','60,g'));
+  $ext->add($s,$c,'',new ext_dial('Local/${EXTEN}@from-internal/n','60,g'));
  $ext->add($s,$c,'',new ext_gotoif('$["${DIALSTATUS}" = "ANSWER"]','done'));
  $ext->add($s,$c,'',new ext_setvar('agentChan','${CUT(BLINDTRANSFER,-,1-$[${FIELDQTY(BLINDTRANSFER,-)}-1]}/n'));
  $ext->add($s,$c,'',new ext_setvar('__skipAgentAttempt','true'));