Исторически так сложилось, что аналоговые мини-АТС, возвращают звонок при переводе вызывающему абоненту, если вызываемый не берет трубку в течении определенного таймаута. Такой функции по умолчанию нет, реализуем ее на примере FreePBX.
Вносим соответствующие изменения в конфигурационные файлы:
/etc/asterisk/globals_custom.conf:
TRANSFER_CONTEXT = custom-test_transfer
/etc/asterisk/extensions_custom.conf:
[custom-test_transfer] exten => _X.,1,NoOp(Entering custom-test_transfer) exten => _X.,n,Set(timeoutd=25) ; set timeout in seconds exten => _X.,n,Set(extLeng=${LEN(${EXTEN})}) exten => _X.,n,NoOp(The extenlength is ${extLeng}) exten => _X.,n,Dial(Local/${EXTEN}@from-internal,${timeoutd}) exten => _X.,n,Set(CALLERID(name)=RB:${CALLERID(name)}) exten => _X.,n,Dial(Local/${BLINDTRANSFER:4:${extLeng}}@from-internal) exten => _X.,n,Hangup()