Столкнулся я на днях с такой проблемой. Клиент попросил настроить Elastix так, что-бы когда переводят разговор на внутренний номер, при этом внутренний номер занят и кол вейтинг выключен и голосовая почта тоже офф. Нашёл прикольный скриптик для возврата разговора.
/etc/asterisk/globals_custom.conf
TRANSFER_CONTEXT = blindxfer_ringback
/etc/asterisk/extensions_custom.conf
[blindxfer_ringback]
; the destination ext should not have vm enabled
exten => _X.,1,NOOP(${BLINDTRANSFER})
exten => _X.,n,set(timeoutd=15) ; set timeout in seconds to dial the transferee
exten => _X.,n,set(extLeng=${LEN(${EXTEN})})
exten => _x.,n,dial(local/${EXTEN}@from-internal,${timeoutd})
exten => _X.,n,Gotoif($[«${DIALSTATUS}» = «ANSWER»]?hangup:callback)
; strip the ‘SIP/’ and ring back
exten => _X.,n(callback),dial(local/${BLINDTRANSFER:4:${extLeng}}@from-internal,,tr)
exten => _X.,n(hangup),hangup()
