FreepPBX. При звонке из IVR на extension отдавать правильный сигнал?

Пример работающего решения при звонке с одного локально extension на другой локальный extension.

cat /etc/asterisk/extensions_override_freepbx.conf 
[from-internal-custom]
exten => _XXXX,1,NoOp(-------INTERNAL-CALL----------)
same => n,Set(DEVSTATE=${DEVICE_STATE(PJSIP/${EXTEN})})
same => n,GotoIf($[ "${DEVSTATE}" = "UNAVAILABLE" ]?go-unvailable)
same => n,Dial(Local/${EXTEN}@default,60,tT)
same => n,HangUp
same => n(go-unvailable),Noop(----unvailable----)
same => n,PlayBack(silence/1&ss-noservice)
same => n,HangUp


Если телефон не в сети, при звонке это будет сказано. Без этого диалплана выдавался сигнал занятон.

Пробовал аналогично переопределить для IVR
[ext-local-custom]
exten => _XXXX,1,NoOp(-------IVR-CALL----------)
...


Но это не работает, т.к. в конфиге, который создает freepbx, написано
[ext-local]
include => ext-local-custom

exten => 0101,1,Set(__RINGTIMER=${IF($["${DB(AMPUSER/0101/ringtimer)}" > "0"]?${DB(AMPUSER/0101/ringtimer)}:${RINGTIMER_DEFAULT})})
exten => 0101,n,Macro(exten-vm,novm,0101,0,0,0)
exten => 0101,n(dest),Set(__PICKUPMARK=)
exten => 0101,n,GotoIf($["${IVR_CONTEXT}" != ""]?${IVR_CONTEXT},return,1)
exten => 0101,hint,PJSIP/0101&Custom:DND0101,CustomPresence:0101

...


А матчинг номеров в include выполняется после матчинга в ext-local. Как следствие, туда выполнение и не заходит.
  • Вопрос задан
  • 179 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы