[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
Sun Jul 12 17:28:36 CDT 2009


A NOTE has been added to this issue. 
====================================================================== 
https://issues.asterisk.org/view.php?id=14536 
====================================================================== 
Reported By:                aragon
Assigned To:                mnicholson
====================================================================== 
Project:                    Asterisk
Issue ID:                   14536
Category:                   Applications/app_queue
Reproducibility:            always
Severity:                   minor
Priority:                   normal
Status:                     feedback
Target Version:             1.4.27
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-07-12 17:28 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
====================================================================== 

---------------------------------------------------------------------- 
 (0107624) aragon (reporter) - 2009-07-12 17:28
 https://issues.asterisk.org/view.php?id=14536#c107624 
---------------------------------------------------------------------- 
Mark
To reproduce it is easy enough to set "context" commzilla-aa-mainivr"
Where that context is equal to an IVR menu.
The purpose of that menu is to allow a caller to enter DTMF during wait
time to transfer out of queue.

queues.conf
[commzilla-family]
music                          =  default
strategy                       =  rrmemory
servicelevel                   =  45
context                        =  commzilla-aa-mainivr
timeout                        =  20
retry                          =  5
maxlen                         =  0
weight                         =  0
reportholdtime                 =  no
reportwaitcall                 =  no
memberdelay                    =  0
timeoutrestart                 =  no
autofill                       =  yes
autopause                      =  no
ringinuse                      =  no
setinterfacevar                =  yes
wrapuptime                     =  0
joinempty                      =  yes
leavewhenempty                 =  no
eventwhencalled                =  vars
eventmemberstatus              =  yes
periodic-announce-frequency    =  20
periodic-announce              =  custom/0002
monitor-format                 =  wav49
monitor-type                   =  MixMonitor
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

extensions-ivr.conf
[commzilla-aa-mainivr]
include         => commzilla-local
exten           => s,1,Answer
exten           =>
s,2,AGI(/var/www/scopserv/telephony/scripts/agi/ivr.php,3438)
exten           => s,3,Wait(1)
exten           => s,4,Set(__IVRNAME=commzilla-aa-mainivr)
exten           => s,5,Set(TIMEOUT(digit)=3)
exten           => s,6,Set(TIMEOUT(response)=5)
exten           => s,7,Set(CHANNEL(language)=en)
exten           => s,8,Background(custom/0013)
exten           => s,9,NoOp()
exten           =>
0,1,AGI(/var/www/scopserv/telephony/scripts/agi/ivr.php,3438,0)
exten           => 0,2,Set(__CALLDIVERT=YES)
exten           => 0,3,Dial(Local/200 at commzilla-local/n,,o)
exten           => 0,4,Hangup
exten           =>
#,1,AGI(/var/www/scopserv/telephony/scripts/agi/ivr.php,3438,pound)
exten           => #,2,Directory(commzilla|commzilla-local-directory|)
exten           =>
t,1,AGI(/var/www/scopserv/telephony/scripts/agi/ivr.php,3438,none)
exten           => t,2,Set(__CALLDIVERT=YES)
exten           => t,3,Dial(Local/200 at commzilla-local/n,,o)
exten           => t,4,Hangup
exten           =>
i,1,AGI(/var/www/scopserv/telephony/scripts/agi/ivr.php,3438,invalid)
exten           => i,2,Set(__CALLDIVERT=YES)
exten           => i,3,Dial(Local/200 at commzilla-local/n,,o)
exten           => i,4,Hangup
exten           => h,1,Goto(all-hangup,s,1)

If I remove the context then the transfer event won't be logged and all
works correctly.

queues.conf
[commzilla-family]
music                          =  default
strategy                       =  rrmemory
servicelevel                   =  45
# context                        =  commzilla-aa-mainivr
timeout                        =  20
retry                          =  5
maxlen                         =  0
weight                         =  0
reportholdtime                 =  no
reportwaitcall                 =  no
memberdelay                    =  0
timeoutrestart                 =  no
autofill                       =  yes
autopause                      =  no
ringinuse                      =  no
setinterfacevar                =  yes
wrapuptime                     =  0
joinempty                      =  yes
leavewhenempty                 =  no
eventwhencalled                =  vars
eventmemberstatus              =  yes
periodic-announce-frequency    =  20
periodic-announce              =  custom/0002
monitor-format                 =  wav49
monitor-type                   =  MixMonitor
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

jvandal's hack works perfectly to avoid the bad queuelog data (transfer
events). 

Issue History 
Date Modified    Username       Field                    Change               
====================================================================== 
2009-07-12 17:28 aragon         Note Added: 0107624                          
======================================================================




More information about the asterisk-bugs mailing list