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

GotoIfTime

Добавлено: 22 янв 2018, 17:06
Andrey Safonov
Как правильно в данном случае

Код: Выделить всё

[pstn-in]
include = office-people
include = remote-offices
include = fax

exten = 800,1,Answer
exten = 800,n,NoOp(${CALLERID(num)})
exten = 800,n,GotoIf(${DB_EXISTS(BLACKLIST/${CALLERID(num):-10})}?blyes:blno)
exten = 800,n(blyes),Hangup
exten = 800,n(blno),GotoIfTime(09:00-18:00,mon-fri,*,*?day:night)
exten = 800,n(day),PlayBack(welcome-day8k)
exten = 800,n,Macro(startrecord)
exten = 800,n,Queue(q1,Tt)
exten = 800,n,Hangup
exten = 800,n(night),PlayBack(welcome-night8k)
exten = 800,n,VoiceMail(101,s)
exten = 800,n,Hangup
Вместо

Код: Выделить всё

exten = 800,n(blno),GotoIfTime(09:00-18:00,mon-fri,*,*?day:night)
Сделать

Код: Выделить всё

GotoIfTime(9:00-18:00,mon-thu,*,*?day:night)
GotoIfTime(9:00-16:45,fri,*,*?day:night)
То есть сделать два условия вместо одного. Если бы не (blno)в начале строки, то всё понятно, но если дважды указывать (blno), то не работает. Станция под нагрузкой, особо играться не получается, ночью тоже.

Re: GotoIfTime

Добавлено: 22 янв 2018, 17:18
awsswa
не обязательно писать два условия - типа или туда или туда
можно одно - совпало - туда, не совпало - дальше по коду

GotoIfTime(9:00-16:45,fri,*,*?day)

Re: GotoIfTime

Добавлено: 22 янв 2018, 17:23
Andrey Safonov
Тут условий получается больше чем два:
  • - понедельник- четверг с 9:00 до 18:00
    - Пятница с 9:00 до 16:45
    - Выходные круглосуточно и рабочие дни, вне указанного выше диапазона.

Re: GotoIfTime

Добавлено: 22 янв 2018, 17:42
fecyt
Не надо две метки blno, если это будет пятница, то первое GotoIfTime пропустится и отработает второе.

Re: GotoIfTime

Добавлено: 22 янв 2018, 17:42
ded
Вы нарисуйте блок схему:
1) Сегодня выходной? Да? - на метку businessout -Нет? - next (см. сл. п. 2)
2) Сегодня пятница и время с 00:00 до 9:00 или с 16:46 до 24:00? - на метку businessout -Нет? - next (см. сл. п. 3)
3) сегодня понедельник- четверг с 9:00 до 18:00 ? - на метку working day, Нет? на метку businessout

Re: GotoIfTime

Добавлено: 22 янв 2018, 17:43
Andrey Safonov
А не могли бы вы прямо от exten написать, как должно быть? С блок-схемой у меня хорошо.... с синтаксисом плохо...

Re: GotoIfTime

Добавлено: 22 янв 2018, 20:19
ded
Не, копипасты не будет.

Re: GotoIfTime

Добавлено: 22 янв 2018, 20:48
awsswa
exten = 800,n,GotoIfTime(9:00-18:00,mon-thu,*,*?ura-rabotaem)
exten = 800,n,GotoIfTime(9:00-16:45,fri,*,*?ura-rabotaem)
exten = 800,n,HangUp
exten = 800,n(ura-rabotaem),PlayBack(welcome-day8k)

Re: GotoIfTime

Добавлено: 22 янв 2018, 21:56
Andrey Safonov
A (blno)? В ней-то самая засада..

Re: GotoIfTime

Добавлено: 24 янв 2018, 13:17
BorisTheBlade
exten = 800,n(blno),GotoIfTime(09:00-18:00,mon-fri,*,*?day)
exten = 800,n,GotoIfTime(09:00-18:00,mon-fri,*,*?day:night)