Добрый день.
Использую Asterisk + FreePBX. Имеется следующая проблема. Если припарковать входящий звонок, например, в слот 71, то потом при перехвате его с другого телефона перехватывающий не видит CallerID звонящего. Было придумано такое решение. На SIP-телефонах настроено 2 аккаунта. После перехвата звонка пользователь переводит (blind transfer) его на свой второй аккаунт на этом же телефоне, при этом CallerID начинает отображаться и продолжает разговор.
Вопрос. Как допилить имеющийся костыль, чтобы при перехвате звонка сразу же автоматом делать трансфер на второй аккаунт чтобы видеть CallerID и не нажимать самому на кнопки.
ставите на холд. звоните на спец екстеншен.
в екстеншене прописываете
1) посмотреть на номер звонящего
2) найти исход с того же номера.
3) разорвать свзь, трансфернуть второй пир на екст(будет входящий звонок)
ну или не костыльное решение - сделать екстнешен при звонке на который делается звонко с паркинга на того кто звонил.
сложность решений - выше среднего. используется Transfer, Asterisk dialout(call files?)
Задан: 2013-08-21 12:42:33 +0400
Просмотрен: 969 раз
Обновлен: Aug 21 '13
Проект компании "АТС Дизайн"
Asterisk® и Digium® являются зарегистрированными торговыми марками компании
Digium, Inc., США.
IP АТС Asterisk распространяется под лицензией
GNU GPL.
Спасибо, решено. Для пикапа вызова из слота 71 используется номер 61. Работает примерно так:
[custom-pickup] exten => _X.,1,Answer() exten => _X.,n,Dial(Local/${EXTEN}@from-internal) exten => _X.,n,Hangup()
[from-internal-custom] exten => 61,1,Answer() exten => 61,n,System(echo -e "Channel: Local/71@from-internal\nContext:custom-pickup\nExtension: 111\n" > /tmp/${UNIQUEID}.call) exten => 61,n,System(mv /tmp/${UNIQUEID}.call /var/spool/asterisk/outgoing/) exten => 61,n,Hangup()
kir.mulai ( 2013-08-27 15:38:37 +0400 )редактировать