[asterisk-bugs] [JIRA] Updated: (ASTERISK-20558) Incorrect TRANSFER entry in queue_log on attended transfer

John Horck (JIRA) noreply at issues.asterisk.org
Fri Oct 12 09:26:27 CDT 2012


     [ https://issues.asterisk.org/jira/browse/ASTERISK-20558?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

John Horck updated ASTERISK-20558:
----------------------------------

    Attachment: full

full log

> Incorrect TRANSFER entry in queue_log on attended transfer
> ----------------------------------------------------------
>
>                 Key: ASTERISK-20558
>                 URL: https://issues.asterisk.org/jira/browse/ASTERISK-20558
>             Project: Asterisk
>          Issue Type: Bug
>      Security Level: None
>          Components: Applications/app_queue
>    Affects Versions: 1.8.17.0
>            Reporter: John Horck
>         Attachments: full
>
>
> When an agent performs an attended transfer (features.conf) to another queue, the entry in queue_log is reporting the extension where the call is transferred from, not the extension where the call is transferred to. We use dynamic agents, added to the queues by AddQueueMember. We don't use chan_agent. Unattended transfer is OK. 
> I stripped down the dialplan and queue settings to a minimum to isolate the problem. The bug is easily reproduced in 1.8.17.0 with the config below. We also saw this behavior in 1.8.8.1 and 1.8.4.
> queue_log (I added my comments at the end of the lines):
> 1350049215|1350049214.162|800|NONE|ENTERQUEUE||214|1                     ; caller 214 enters queue 800
> 1350049219|1350049214.162|800|SIP/600|CONNECT|4|1350049215.163|4         ; agent at extension 600 answers the call
> 1350049228|1350049228.165|801|NONE|ENTERQUEUE||600|1                     ; agent initiates an attended transfer by dialing *2 and destination 801#
> 1350049232|1350049228.165|801|SIP/601|CONNECT|4|1350049228.166|3         ; agent 601 answers the call
> 1350049241|1350049214.162|800|SIP/600|TRANSFER|800|test-queues|4|22|1    ; agent 600 disconnects, caller 214 is connected to agent 601. It should say TRANSFER to 801 here!
> 1350049261|1350049228.165|801|SIP/601|COMPLETEAGENT|4|29|1               ; agent 601 disconnects
> extensions.conf:
> [test-queues]
> exten => 800,1,Answer
> exten => 800,n,Set(__TRANSFER_CONTEXT=test-xfer)
> exten => 800,n,Queue(800,t)
> exten => 800,n,Hangup
> exten => 801,1,Answer
> exten => 801,n,Set(__TRANSFER_CONTEXT=test-xfer)
> exten => 801,n,Queue(801,t)
> exten => 801,n,Hangup
> [test-xfer]
> exten => _X.,1,Goto(test-queues,${EXTEN},2)
> ; optionally using local channels:
> [test-agent-lookup]
> exten => 400,1,Dial(SIP/600,60)
> exten => 400,n,Hangup
> exten => 401,1,Dial(SIP/601,60)
> exten => 401,n,Hangup
> queues.conf:
> [general]
> persistentmembers=yes
> shared_lastcall=yes
> updatecdr=no
> [800]
> joinempty=yes
> leavewhenempty=no
> [801]
> joinempty=yes
> leavewhenempty=no
> In Asterisk CLI:
> queue add member SIP/600 to 800
> queue add member SIP/601 to 801
> On our production systems we add local channels to the queues. This allows us to look-up the agent in the database and do some logic when the agent is dialed. Using local channels has the same problem. To test this in this dialplan, enter in Asterisk CLI:
> queue add member Local/400 at test-agent-lookup/n to 800
> queue add member Local/401 at test-agent-lookup/n to 801

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira



More information about the asterisk-bugs mailing list