Attended/Warm/Supervised transfer of call from queue

I have a web application that has been in use for a long time which interacts with calls coming into a queue and when needed, completes a blind transfer by clicking a button in the web app which causes a manager action Redirect. This works fine for many years.

I on Asterisk 16 these days, finally got off 1.8.x LOL.

What I am trying to accomplish to move from the current blind transfer to an attended/warm/supervised transfer depending on how one would label it. I have been told in the past that what I’m trying to do is NOT an attended transfer but that’s how I have always thought of it.

Here’s what I’m trying to accomplish and I’m wondering how others have accomplished the same:

1- Inbound call hits the queue and is answered by an agent
2- If inbound call needs to be transferred to an external number, the agent selects the cell number from the speed dial drop down in the web interface and clicks AttXfer button.
3- Inbound call is placed on hold and operator dials transfer target (external cell number)
4- If transfer target would like to take the call then the inbound caller on hold and the transfer target are joined together (in a conference or bridged or??) when the operator clicks the complete transfer button. If the transfer target doesn’t not want to take the call, the operator clicks a “Cancel Xfer” button on the web interface and the call with the transfer target hangs up and operator is connected back to the caller on hold to take a message.

I have spent a LOT of time digging into the manager action AtXfer and also conferencing as well as other methods of accomplishing this. I’m aware of different ways to possibly accomplish this but I run into issues with each during my planning and testing.

I was hoping someone that has accomplished this and currently uses a similar solution can let me know how more or less, they accomplished it.

Thanks in advance for any and all help with this.