Party A calls Party B.
B transfer call to Party C.
A and C started Talking, whenever C Hangup.
A should be connected back to B.
Now I know how transfer works. But couldn’t find anything to implement this scenario.
Is there a way to know who transferred the call after the transfer so later on it can be called.
any help is appreciated.
I believe for SIP, REFER, true blind transfer, a channel variable is set ${BLINDTRANSFER}. If you set the Dial option not to terminate on hangup, you should be able to make use of this to find the transferror. As the original channel will have terminated, you may not be able to recover caller ID digits, so you might not be able to handle non-local devices.
For SIP, features.conf, I don’t know if there is anything similar.
For SIP, REFER, blind transfer simulated by attended transfer, the dialplan will start running as a call from the transferror. I’m not sure whether any channel variables you set at that point will be inherited once the masquerade is done. If not, you could always save the information to a global variable.
Incoming caller A is picked up by extension B
Extension B does an attended transfer to extension C
Extension C picks up and says they don’t want the call and hangs up
Ideally, caller A should be reconnected to extsnsion B but at the moment caller A is just dropped.
The answer depends on whether this is a features transfer, a dahdi flash transfer, or a native SIP transfer. I’m not sure of the first two. The last case in turn depends on the phone itself, as it controls the handling of failed enquiries.