Страница 1 из 2

IVR по условию - времени

Добавлено: 15 фев 2014, 21:17
Aeooe
Пытаюсь опробывать этот прием, но что то не получается.
Код диалплана:
[IVR] ; голосовое меню

include => daytime|10:00-24:00|*|*|*
include => nighttime


;=====================================================Рабочее время========================================================================
[daytime]
exten => 444,1,Wait(1)
exten => 444,n,Answer()
exten => 444,n,Set(VOLUME(TX)=10)
exten => 444,n,Wait(1)
exten => 444,n,Set(home="/home/menu")
exten => 444,n,Wait(1)
exten => 444,n,Background(${home}/welcome)
exten => 444,n,Goto(operators,1,1) ; Коммерческий отдел.
exten => fax,1,Goto(incoming-fax,fax,1)
exten => h,n,Hangup()

;=====================================================Не рабочее время========================================================================
[nighttime]
exten => 444,1,Wait(1)
exten => 444,n,Answer()
exten => 444,n,Set(VOLUME(TX)=10)
exten => 444,n,Wait(1)
exten => 444,n,Set(home="/home/menu")
exten => 444,n,Wait(1)
exten => 444,n,Background(${home}/menu)
exten => 444,n,Hangup()
Хочу получить на выходе аудиофайл welcom ежедневно с 10 до 24 часов. И в остальных случаях айдиофайл menu. У меня всегда срабатывает аудио файл menu. Что делаю не так?

Re: IVR по условию - времени

Добавлено: 15 фев 2014, 21:30
Aeooe
[Feb 15 21:29:59] WARNING[7526]: pbx.c:11063 ast_context_verify_includes: Context 'IVR' tries to include nonexistent context 'daytime|10:00-24:00|*|*|*'
Видимо проблема в неправильном синтаксисе...

Re: IVR по условию - времени

Добавлено: 15 фев 2014, 23:05
Aeooe
Такая конструкция тоже нифига не работает:
;=======================================================IVR меню====================================================================

[IVR] ; голосовое меню
exten => 444,1,GotoIfTime(10:00-18:00,mon-fri,*,*?day,444,1)
exten => 444,2,GotoIfTime(18:01-9:59,*,*,*?night,444,1)
exten => 444,3,GotoIfTime(*,sat-sun,*,*?night,444,1)



;=====================================================Рабочее время========================================================================
[day]
exten => 444,1,Wait(1)
exten => 444,n,Answer()
exten => 444,n,Set(VOLUME(TX)=10)
exten => 444,n,Wait(1)
exten => 444,n,Set(home="/home/menu")
exten => 444,n,Wait(1)
exten => 444,n,Background(${home}/welcome)
exten => 444,n,Goto(operators,1,1)
exten => fax,1,Goto(incoming-fax,fax,1)
exten => h,n,Hangup()

;=====================================================Не рабочее время========================================================================
[night]
exten => 444,1,Wait(1)
exten => 444,n,Answer()
exten => 444,n,Set(VOLUME(TX)=10)
exten => 444,n,Wait(1)
exten => 444,n,Set(home="/home/menu")
exten => 444,n,Wait(1)
exten => 444,n,Background(${home}/menu)
exten => 444,n,Hangup()
На выходе получаю непонятно что... проигрывется екстен с приоритетом 2. Он как бы подходит под условие.
[IVR] ; голосовое меню
exten => 444,1,GotoIfTime(10:00-18:00,mon-fri,*,*?day,444,1)
exten => 444,2,GotoIfTime(*,sat-sun,*,*?night,444,1)
Так тоже срабатывает экстеншн с приоритетом 2
[IVR] ; голосовое меню
exten => 444,1,GotoIfTime(*,sat-sun,*,*?night,444,1)
А так уже ничего не работает и вызов сбрасывается без проигрышей аудио файлов.... Что за?

Re: IVR по условию - времени

Добавлено: 15 фев 2014, 23:23
ded
Гадать не надо, смотрите что происходит в командной строке при прохождении вызова.

Re: IVR по условию - времени

Добавлено: 16 фев 2014, 00:46
Aeooe
В CLI Asterisk? он молчит как рыба... Как продебажить диалплан?

Re: IVR по условию - времени

Добавлено: 16 фев 2014, 01:00
Aeooe
Заметил что время на астериске в master.scv неверное...хм...

Re: IVR по условию - времени

Добавлено: 16 фев 2014, 01:19
Aeooe
Время поправил, в логи пишется локальное время, но это не изменило ситуацию в ключевом вопросе.
Aeooe писал(а):В CLI Asterisk? он молчит как рыба... Как продебажить диалплан?

Re: IVR по условию - времени

Добавлено: 16 фев 2014, 03:04
ded
молчит как рыба если набрать 444, чтобы направлено было в контекст IVR
CLI> core set verbose 10

Re: IVR по условию - времени

Добавлено: 16 фев 2014, 09:31
awsswa
Все должно быть в одном меню - всякий [night] убрать

[IVR] ; голосовое меню
exten => 444,1,GotoIfTime(10:00-18:00,mon-fri,*,*?day)
exten => 444,n,GotoIfTime(18:01-9:59,*,*,*?night1)
exten => 444,n,GotoIfTime(*,sat-sun,*,*?night2)

exten => day,1,Wait(1) ; day
exten => day,n,далее

exten => night1,1,Wait(1) ; night
exten => night1,n,далее

exten => night2,1,Wait(1) ; далее
exten => night2,n,далее

Re: IVR по условию - времени

Добавлено: 16 фев 2014, 12:40
Aeooe
Все я допер в чем проблема... Проблема кроется в неправильной вложенности контекстов ( неправильная последовательность приоритетов в диалплане). Спасибо за советы =) :D