Asterisk. Команда GotoIfTime.

GotoIfTime() - Выполняет переход по условию на основании времени и дня.

GotoIfTime(время,дни_недели,дни_месяца,месяцы?метка)

Выполняет переход в заданный добавочный номер, если текущее время соответствует заданному.

Каждый элемент может быть определен или как * (для всех случаев), или как диапазон.

Аргументы приложения:
время - Диапазоны времени в 24-часовом формате.
дни_недели - Дни недели (mon, tue, wed, thu, fri, sat, sun).
дни_месяца - Дни месяца (1-31).
месяцы - Месяцы (jan, feb, mar, apr и т. д.).

Пример:

; Если магазин открыт, переходим в контекст open
; Мы открыты с 9 утра до 6 вечера с понедельника по пятницу
exten => s,1,GotoIfTime(09:00-17:59,mon-fri,*,*?open,s,1)
;
; По вторникам и четвергам задерживаемся до 8 вечера 
exten => s,n,GotoIfTime(09:00-19:59,tue&thru,*,*?open,s,1)
;
; Также мы открыты с 9 утра до 12 дня  по субботам
exten => s,n,GotoIfTime(09:00-11:59,sat,*,*?open,s,1)
;
; Во все остальное время мы не работаем
exten => s,n,Goto(closed,s,1)

 

 

См. также: GotoIf(), IFTIME