НО тогда все звонки на этот номер через 30 сек. пойдут на оперератора....
amonra ( 2012-02-16 12:37:40 +0400 )редактироватьто-то не понимаю как максимально кошерно сделать возврат звонка. Смысл такой: абонент через IVR соединяется с оператором, оператор переводит звонящего на другой внутренний SIP номер в dialplan у Dial стоит таймаут 30 сек. Как сделать возврат по таймауту обратно оператору?
Скрипт написать....
в экстене внутреннего номера после Dial(SIP/...,30), добавить Dial(SIP/operator)
НО тогда все звонки на этот номер через 30 сек. пойдут на оперератора....
amonra ( 2012-02-16 12:37:40 +0400 )редактироватьЯ сделал так, но ещё можно придумать кучу вариантов, только нужно мозг включить, и всё получится !
[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)
А перевод идет через atxfer? Так в нем есть встроенная фича такая. копайте features.conf
Большое спасибо amonra. Пока реализовал таким же способом. А про features.conf хотелось поподробнее.
Если есть сэмпл, идущий в комплекте -- читайте комментарии в нем. Все, что связано с atxfer (поиском по документу посмотрите) -- нам интересно. Можно настроить таймаут попытки дозвона, количество попыток вернуть вызов и т.п. В двух словах -- по сервис-коду мы набираем номер того, кому хотим перевести. Если не дождемся ответа и кладем трубку -- вызов уходит туда и в зависимости от настройки или дропнется или вернется при неответе. Если дожидаемся ответа -- то либо мы, либо тот, кому переводим, кладет трубку. Если кладем мы -- вызов переведен. Если кладет тот абонент -- вызов вернулся к нам. Надеюсь, понятно объяснил.
tesak89 ( 2012-02-16 14:58:58 +0400 )редактироватьhttp://asterisk-pbx.ru/wiki/doku.php/asterisk/features.conf -- вот здесь неплохо расписано.
tesak89 ( 2012-02-16 15:47:44 +0400 )редактироватьfeatures.conf
[general]
atxfernoanswertimeout = 15
И возвращает через 15 сек. при не ответе. или перезванивает, если не ждал ответа.
Вот именно! Нужно только отметить, что эта опция появилась в 1.8.X
asteriskguru ( 2012-09-28 14:05:20 +0400 )редактироватьа вот ошибаетесь asterisk -rx "core show version" Asterisk 1.6.2.9-2+squeeze4 built by buildd @ biber on a i686 running Linux on 2011-12-18 21:42:21 UTC
aleokos ( 2012-09-28 15:34:12 +0400 )редактироватьЗадан: 2012-02-16 12:10:32 +0400
Просмотрен: 5,600 раз
Обновлен: Jul 08 '14
Проект компании "АТС Дизайн"
Asterisk® и Digium® являются зарегистрированными торговыми марками компании
Digium, Inc., США.
IP АТС Asterisk распространяется под лицензией
GNU GPL.
если используете FreePBX, то попробуйте реализовать через follow me, я его использовал.
romariosar ( 2012-09-27 18:22:44 +0400 )редактировать