Добрый день!
FreePBX 13.0.192.16 Asterisk 13.17.0
Проблема следующая, заворачиваем inbount на announcement. Фрипбх формируетследующее:
[app-announcement-1]
include => app-announcement-1-custom
exten => s,1,GotoIf($["${CHANNEL(state)}" = "Up"]?begin)
exten => s,n,Answer
exten => s,n,Wait(1)
exten => s,n(begin),Noop(Playing announcement 1030)
exten => s,n,Playback(custom/zvonok-replika,noanswer)
exten => s,n,Goto(app-blackhole,hangup,1)
exten => fax,1,Goto(${CUT(FAX_DEST,^,1)},${CUT(FAX_DEST,^,2)},${CUT(FAX_DEST,^,3)})
;--== end of [app-announcement-1] ==--;
Проблема в том, что если положить трубку не дослушав реплику, звонок не падает в hang up. Чтобы падал нужно добавить:
exten => h,1,Noop(User skipped announcement)
exten => h,n,Goto(app-blackhole,hangup,1)
Есть какое-то другое решение, или как научить фрипбх автоматически добавлять нужные строки в диалплан?
Можно написать модуль, относительно несложно. У специалиста уйдет пара часов. Смотреть dialplan hooks.
Без модуля нельзя заставить, нет функциональности.
Развечто заменить на ivr ив нем прописать h
Естественно не падает, после hangup работает экстеншен h.
Я бы сделал так:
[app-announcement-1]
include => app-announcement-1-custom
exten => s,1,GotoIf($["${CHANNEL(state)}" = "Up"]?begin)
exten => s,n,Answer
exten => s,n,Wait(1)
exten => s,n(begin),Noop(Playing announcement 1030)
exten => s,n,Playback(custom/zvonok-replika,noanswer)
exten => s,n,Noop(Announce finished)
exten => s,n,Hangup
exten => h,1,Noop(Hanguped)
exten => h,n,Goto(app-blackhole,hangup,1)
exten => fax,1,Goto(${CUT(FAX_DEST,^,1)},${CUT(FAX_DEST,^,2)},${CUT(FAX_DEST,^,3)})
;--== end of [app-announcement-1] ==--;
И не парился.
Вы меня не поняли. Я так и делаю, но мне надо чтобы это делал сам FreePBX, чтобы он уже генерировал в extension_additional эти строки.
rukit ( 2018-05-10 15:36:34 +0400 )редактироватьНу во-первых, мой вариант от Вашего отличается несколько, в моем случае мы вызываем hangup и в любом случае обрабатываем через h. А во-вторых, как Вы себе видите, чтобы астериск или freepbx сам добавлял кастомный экстеншен в контекст или сам делал GoTo?
tesak89 ( 2018-05-10 15:38:36 +0400 )редактироватьДа, по "exten => s,n,Hangup", я вижу. Идея в следующем: заходим в морду фрипбх, нажимаем по кнопкам, создаем анонсменты, направляем на них инбаунты. Все работает. НО надо чтобы при сбросе, если не дослушали реплику, тоже падало в хангап.
rukit ( 2018-05-10 15:42:13 +0400 )редактироватьЗадан: 2018-05-10 15:21:33 +0400
Просмотрен: 590 раз
Обновлен: May 11 '18
Проект компании "АТС Дизайн"
Asterisk® и Digium® являются зарегистрированными торговыми марками компании
Digium, Inc., США.
IP АТС Asterisk распространяется под лицензией
GNU GPL.