Asterisk. Перенаправление(transfer) звонков.
Допустим у нас есть 2 менеджера, подключенные по SIP, с такими настройками в sip.conf:
[manager1] type=friend secret=manager1 host=dynamic username=manager1 context=sip-users callerid=101 call-limit=2 [manager2] type=friend secret=manager2 host=dynamic username=manager2 context=sip-users callerid=102 call-limit=2 |
В Asterisk автоматически включена возможность трансфера звонков от одного абонента к другому. По умолчанию эта функция забита на кнопку #, а далее нужно набирать номер абонента на которого трансферится звонок. Нужно только разрешить трансфер звонка.
Просмотреть на какой кнопке стоит функция перенаправления можно выполнив команду:
show features |
в командной строке Asterisk(asterisk -r)
И мы должны увидеть:
Blind Transfer # # |
Если эта кнопка не устраивает, вы можете переопределить ее в файле features.conf:
blindxfer => ## |
Например в две #. Но в общем менять смысла нет.
А для того, что бы было разрешение трансферить звонок, нужно в команде Dial передать параметр. Вот так:
exten => 102,1,Dial(SIP/manager2,,t) |
Маленькая буква t в конце и разрешает этот трансфер. И не забудте, номер на который идет перенаправление, должен быть доступен в том контексте в котором абонент совершает звонок. То есть в нашем случае в sip-users.