[asterisk-users] Cancel attended transfer

Miguel Molina mmolina at millenium.com.co
Fri Oct 30 09:14:20 CDT 2009


Danny Nicholas escribió:
>
> Agent 1 could park the call and have agent 2 pick it up from the lot.
>
>  
>
> ------------------------------------------------------------------------
>
> *From:* asterisk-users-bounces at lists.digium.com 
> [mailto:asterisk-users-bounces at lists.digium.com] *On Behalf Of *Miguel 
> Molina
> *Sent:* Monday, October 26, 2009 12:00 PM
> *To:* Asterisk Users Mailing List - Non-Commercial Discussion
> *Subject:* [asterisk-users] Cancel attended transfer
>
>  
>
> Hi folks,
>
> I have a simple question regarding attended transfers. I have some 
> queues where agents take calls and I have configured attended 
> transfers between queues. That is, the agent dials the attended 
> transfer extension that routes it to the aproppiate transfer queue 
> where the second agent answers and they both talk for a while. Finally 
> the transferrer leaves the call with *, connecting the client, which 
> was in hold, with the second agent.
>
> Is there a way for the transferrer to *cancel* the operation and 
> return to the original call? If the call is queued and the agent 
> leaves with *, it would end up in a blind transfer for the second 
> agent who takes the transferred call. Is there a feature that can be 
> configured to do that?
>
> I'm using asterisk 1.4.22 on a production server.
>
> TIA,
>
> -- 
> Ing. Miguel Molina
> Grupo de Tecnología
> Millenium Phone Center
Hi Danny,

Seems reasonable, but I can't use that because I'm using permanently 
logged in (AgentLogin) type agents, and that would require the use of a 
second line and the agent telling the other one that a call has been 
left parked for it. As I'm using the standard attended transfer, it will 
be completed because as I transfer to another Queue, the call is always 
answered by asterisk. There's another solution for this? I did a quick 
search and found this old bugtracker issue:

https://issues.asterisk.org/view.php?id=3729

There was a comment and a patch suggestion to do that:

Comment from "Minstrel":

"Hello!

It's not possible to get back to the original caller (transferee) once 
the new peer has answered (unless that person hangs up before you do). 
That causes problems when you want to back out from answering machines 
and such.

It is also not possible to 'convert' an attended transfer into a blind 
one by hanging up while waiting for an answer, something that I believe 
should be supported.

I patched res_features.c with patch rev 8 and made a few alterations to 
builtin_atxfer() and ast_feature_request_and_dial() that allows the two 
scenarious stated above. But I am not very familiar with the internals 
of asterisk and thus have no idea if I'm causing memory leaks or 
inconsistencies with my solution.

Can I send the resulting diff to any of you guys for inspection and 
possibly have it included in patch rev 9?"


Can some help me telling me if cancelling a transfer in such conditions 
is allowed on actual 1.4 or 1.6 code? Or how does it exactly work? I 
would prefer that '*' or the disconnect code to actually cancel the 
transfer (returning the call to the transferer) instead of completing it 
as a blind transfer.

Thanks again for further help or pointers.

-- 
Ing. Miguel Molina
Grupo de Tecnología
Millenium Phone Center

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.digium.com/pipermail/asterisk-users/attachments/20091030/9e22db5d/attachment.htm 


More information about the asterisk-users mailing list