Asterisk blind transfer callback
Asterisk blind transfer callback One of the problems with Asterisk, is that, when you blind transfer a call to an internal extension, and the remote side never answers, the call does not automatically go back to the caller. The following piece of dial plan logic should replace your normal internal call logic. exten => _1XX,1,Dial(SIP/${EXTEN},15,tT) same => n,GotoIf($[${LEN(${BLINDTRANSFER})}=0]?unsuccessful) same => n,Set(CALLER=${CUT(BLINDTRANSFER,-,1)}); same => n,Goto(CallBack) same => n,(unsuccessful),GotoIf($[($[${LEN($TRANSFERERNAME})}=0]?Fail) same => n,Set(CALLER=${CUT(TRANSFERERNAME,-,1)}); same => n,(CallBack),Set(CALLERID(all)=${EXTEN} <${CALLERID(num)}>) same => n,Dial(${CALLER},,tT) same => n,(Fail),Hangup() It works as follows: 1. Line one takes any extension between 100 and 199 and rigs it for 15 seconds. Both the originator and receiver of the call will be able to transfer beyond this point. 2. Asterisk writes the originating chann...