В Asterisk перевод звонка является стандартной функцией , дополнительной настройки данный функционал не требует — чтобы перевод звонков работал достаточно указывать в конфигурационном файле extentions.conf для каждого оператора, что он может переводить звонки на другие расширения диаллана.
Asterisk перевод звонка: реализация в диалплане
В файле /etc/asterisk/extentions.conf для каждого пользователя необходимо добавить опцию T (transfer)
mcedit /etc/asterisk/extentions.conf
exten => 200,1,NoOp,T(Call for user2)
same => n,Dial(Sip/user2,5)
same => n,VoiceMail(${EXTEN})
same => n,Hangup
…
Затем авторизоваться в консоли сервера телефонии
asterisk -rvvv
И перезапустить диалплан (также можно перезапустить и весь Asterisk через /etc/init.d/astersik restart)
dialplan reload
Звонок переводится при наборе # и номера абонента (расширения в конфигурации сервера), переопределить комбинацию по которой будет происходить перевод можно в файле /etc/asterisk/features.conf
Понадобится раскомментировать директиву blindxfer и задать необходимое ее значение
[featuremap]
;blindxfer => #1 ; Blind transfer (default is #) — Make sure to set the T and/or t option in the Dial() or Queue() app call!
Читайте также цикл статей про настройку офисной телефонии