то-то не понимаю как максимально кошерно сделать возврат звонка. Смысл такой: абонент через IVR соединяется с оператором, оператор переводит звонящего на другой внутренний SIP номер в dialplan у Dial стоит таймаут 30 сек. Как сделать возврат по таймауту обратно оператору?
Я сделал так, но ещё можно придумать кучу вариантов, только нужно мозг включить, и всё получится !
[internal]
exten => _XXX,1,Dial(SIP/${EXTEN:0:3},30,tT)
exten => _XXX,n,Goto(s-${DIALSTATUS},1)
exten => s-BUSY,1,Goto(busy-i,s,1)
exten => s-CONGESTION,1,Goto(busy-i,s,1)
exten => s-NOANSWER,1,Goto(noanswer-i,s,1)
exten => s-CHANUNAVAIL,1,Goto(nedostupen-i,s,1)
[busy-i]
exten => s,1,Background(abonent)
exten => s,n,Background(zanjat)
exten => s,n,Dial(SIP/${BLINDTRANSFER},24,tT)
[noanswer-i]
exten => s,1,Background(abonent)
exten => s,n,Background(ne-otvechaet)
exten => s,n,Dial(SIP/${BLINDTRANSFER},24,tT)
[nedostupen-i]
exten => s,1,Background(abonent)
exten => s,n,Background(T-is-not-available)
exten => s,n,Dial(SIP/${BLINDTRANSFER},24,tT)
features.conf
[general]
atxfernoanswertimeout = 15
И возвращает через 15 сек. при не ответе. или перезванивает, если не ждал ответа.
Скрипт написать....
А перевод идет через atxfer? Так в нем есть встроенная фича такая. копайте features.conf
в экстене внутреннего номера после Dial(SIP/...,30), добавить Dial(SIP/operator)
Большое спасибо amonra. Пока реализовал таким же способом. А про features.conf хотелось поподробнее.
Если есть сэмпл, идущий в комплекте -- читайте комментарии в нем. Все, что связано с atxfer (поиском по документу посмотрите) -- нам интересно. Можно настроить таймаут попытки дозвона, количество попыток вернуть вызов и т.п. В двух словах -- по сервис-коду мы набираем номер того, кому хотим перевести. Если не дождемся ответа и кладем трубку -- вызов уходит туда и в зависимости от настройки или дропнется или вернется при неответе. Если дожидаемся ответа -- то либо мы, либо тот, кому переводим, кладет трубку. Если кладем мы -- вызов переведен. Если кладет тот абонент -- вызов вернулся к нам. Надеюсь, понятно объяснил.
tesak89 (Feb 16 '12)edithttp://asterisk-pbx.ru/wiki/doku.php/asterisk/features.conf -- вот здесь неплохо расписано.
tesak89 (Feb 16 '12)editЗадан: Feb 16 '12
Просмотрен: 5,657 раз
Обновлен: Jul 08 '14
Проект компании "АТС Дизайн"
Asterisk® и Digium® являются зарегистрированными торговыми марками компании
Digium, Inc., США.
IP АТС Asterisk распространяется под лицензией
GNU GPL.
если используете FreePBX, то попробуйте реализовать через follow me, я его использовал.
romariosar (Sep 27 '12)edit