VIDEOCHAT  ::   FAQ  ::   Поиск  ::   Регистрация  ::   Вход

GotoIfTime

Новичком считается только что прочитавший «Астериск - будущее телефонии»
http://asterisk.ru/knowledgebase/books
и пытающийся сделать большее

Модераторы: april22, Zavr2008

Andrey Safonov
Сообщения: 27
Зарегистрирован: 07 окт 2014, 09:58

GotoIfTime

Сообщение 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), то не работает. Станция под нагрузкой, особо играться не получается, ночью тоже.
awsswa
Сообщения: 2390
Зарегистрирован: 09 июн 2012, 10:52
Откуда: Россия, Пермь skype: yarick_perm

Re: GotoIfTime

Сообщение awsswa »

не обязательно писать два условия - типа или туда или туда
можно одно - совпало - туда, не совпало - дальше по коду

GotoIfTime(9:00-16:45,fri,*,*?day)
платный суппорт по мере возможностей
Andrey Safonov
Сообщения: 27
Зарегистрирован: 07 окт 2014, 09:58

Re: GotoIfTime

Сообщение Andrey Safonov »

Тут условий получается больше чем два:
  • - понедельник- четверг с 9:00 до 18:00
    - Пятница с 9:00 до 16:45
    - Выходные круглосуточно и рабочие дни, вне указанного выше диапазона.
fecyt
Сообщения: 148
Зарегистрирован: 17 янв 2017, 17:51

Re: GotoIfTime

Сообщение fecyt »

Не надо две метки blno, если это будет пятница, то первое GotoIfTime пропустится и отработает второе.
ded
Сообщения: 15625
Зарегистрирован: 26 авг 2010, 19:00

Re: GotoIfTime

Сообщение 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
Andrey Safonov
Сообщения: 27
Зарегистрирован: 07 окт 2014, 09:58

Re: GotoIfTime

Сообщение Andrey Safonov »

А не могли бы вы прямо от exten написать, как должно быть? С блок-схемой у меня хорошо.... с синтаксисом плохо...
ded
Сообщения: 15625
Зарегистрирован: 26 авг 2010, 19:00

Re: GotoIfTime

Сообщение ded »

Не, копипасты не будет.
awsswa
Сообщения: 2390
Зарегистрирован: 09 июн 2012, 10:52
Откуда: Россия, Пермь skype: yarick_perm

Re: GotoIfTime

Сообщение 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)
платный суппорт по мере возможностей
Andrey Safonov
Сообщения: 27
Зарегистрирован: 07 окт 2014, 09:58

Re: GotoIfTime

Сообщение Andrey Safonov »

A (blno)? В ней-то самая засада..
BorisTheBlade
Сообщения: 167
Зарегистрирован: 14 фев 2011, 14:24

Re: GotoIfTime

Сообщение 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)
Ответить
© 2008 — 2024 Asterisk.ru
Digium, Asterisk and AsteriskNOW are registered trademarks of Digium, Inc.
Design and development by PostMet-Netzwerk GmbH