I have a question about the feature attended transfer in asterisk ver.18.
In case:
I have User A, User B, and User C.
step1: User A calls User B, User A and User B in call.
step 2: User B uses feature code *2 (attended transfer) for the purpose of transfer call to User C.
step 3: User C receives a call transfer from user B (state: Ringing).
step 4: User A hangup call.
=>When user A hang up the call, the transfer call between B and C will also hang up.
As far as I read the log: when user B forwards the call to C (ringing), user B’s channel has left the bridge between A and B. Now B and C are in a new bridge.
If so, the call between B and C should continue instead of being terminated even if user A disconnects the call.
can anyone explain why asterisk’s behavior is like that?
Thanks a lot.
Next, what should happen in this scenario is really a matter of opinion. It seems like the thinking here in Asterisk as it is currently coded w/r/t attended transfer is that if there is no call up – User A in your example – then there is nothing to transfer, so, why keep the call up between User B and User C ?
Of course, this being Asterisk, there are many, many other ways to accomplish what you think should happen, including but not limited to:
And there are some phone-specific options as well, such as:
Multiple line appearances for User B phone eg. allow pressing Line 2 to put the Line 1 caller on hold (User A), which starts Line 1 blinking and gets dial tone on Line 2 that allows User B to call User C - this way, if A hangs up on Line 1, then B and C are still connected on Line 2.
Three-way calling on the phone.
Configuring short cut keys specific to the phone model that emit more complicated call control messages.
Third set of options: code a new feature eg. happyattendedtransfer to do exactly what you want.
It really depends on your environment which way you go.