Using the AMI to create an attended transfer

I am trying to use the AMI to create an attended transfer. I have a web application that uses the AMI currently, and would like to augment it to aid in doing attended transfers.

The current process uses feature codes of *2 to start the attended transfer, *3 to complete the transfer.

I am able to use the ATXFER command to start the process, but I am not sure how to make the resultant attended transfer to a threeway call. I have tried to bridge the channels together, but I cannot seem to figure out how to get that to work.

https://wiki.asterisk.org/wiki/display/AST/Asterisk+17+ManagerAction_Atxfer

Does anyone have any guidance or advice? Thanks!

Why would you want that?

I would imagine because that is what you can do with feature codes, and was a common feature on circuit switched PA[B]Xes.

I imagine he’s writing his own FOP2. If that’s the case, then using AMI to do that might be a good way to go. It’s also possible that it could be done with a callfile, but I’d need to look more closely since I’ve never done that.

We have an internal CRM, we have implemented a click to dial where we can easily dial our customers from inside the CRM using the AMI.

There are times where we will need to do a three way call with an external partner and our customers. We are currently using an attended transfer to make this work.

Currently we dial our customer, start an attended transfer using feature codes (*2), while the customer is on hold we dial the external partner, talk with our external partner, let them know about the issues, then merge the calls together(*3 atxferthreeway). Eventually we will hang up our leg of three way call and allow the customer to continue to talk with our external partner.

Any help would be appreciated.

If you have only a few external partners:

On most IP phones, you can program BLF keys with Conf and an external number. When the agent is on a call with a customer and presses the key, customer is put on hold and it rings the external number. After speaking privately, agent presses Conf and now has a three way call. With the phone programmed for ‘transfer on conference hangup’ (usually not the default), the agent can hang up and the two outside parties remain connected.

I really think that using the AMI to perform an attended transfer is my best solution. I really want to move as much of the dialing to our internal CRM.

There is already an AMI command for an Attended Transfer, and a command to abort an attended transfer, but no other commands that I can see to manipulate an attended transfer.

https://wiki.asterisk.org/wiki/display/AST/Asterisk+17+ManagerAction_Atxfer
https://wiki.asterisk.org/wiki/display/AST/Asterisk+17+ManagerAction_CancelAtxfer

If I was able to manipulate the channels in a bridge I would be able to recreate this, but I only see I can bridge two channels, and not add a single channel to a bridge.
https://wiki.asterisk.org/wiki/display/AST/Asterisk+17+ManagerAction_Bridge

Anyone have any experience with this?

Can you move them all to a conference via AMI instead?

Might be good to check in at the Asterisk forums and se if they might be able to help.

1 Like

This topic was automatically closed 31 days after the last reply. New replies are no longer allowed.