GotoIfTime() - Выполняет переход по условию на основании времени и дня.
GotoIfTime(время,дни_недели,дни_месяца,месяцы?метка)
Выполняет переход в заданный добавочный номер, если текущее время соответствует заданному.
Каждый элемент может быть определен или как * (для всех случаев), или как диапазон.
Аргументы приложения:
время - Диапазоны времени в 24-часовом формате.
дни_недели - Дни недели (mon, tue, wed, thu, fri, sat, sun).
дни_месяца - Дни месяца (1-31).
месяцы - Месяцы (jan, feb, mar, apr и т. д.).
GotoIfTime(|||?[context|]extension|]pri)
Пример:
; Если магазин открыт, переходим в контекст open
;
; По вторникам и четвергам задерживаемся до 8 вечера
exten => s,1,GotoIfTime(09:00-19:59,tue&thru,*,*?open,s,1)
;
; Мы открыты с 9 утра до 6 вечера с понедельника по пятницу
exten => s,n,GotoIfTime(09:00-17:59,mon-fri,*,*?open,s,1)
;
; Также мы открыты с 9 утра до 12 дня по субботам
exten => s,n,GotoIfTime(09:00-11:59,sat,*,*?open,s,1)
;
; Во все остальное время мы не работаем
exten => s,n,Goto(closed,s,1)
////////////////////////////
Еще один пример:
exten => 3000,1,GotoIfTime(9:00-17:00|mon-fri|*|*?open,s,1)
Будет совершен переход в контекст "open", на екстеншен s, к команде с приоритетом 1, если текущее время находится в промежутке между 9:00 и 17:00, с Понедельника по Пятницу, месяц и день месяца - не проверяются.
И еще:
exten => s,6,GotoIfTime(*|*|1-3|May?attendant,s,30)
Будет совершен переход в контекст "attendant", на екстеншен s, к команде с приоритетом 30, в любое время дня с 1 по 3 мая.
отсюда
отсюда
GotoIfTime(время,дни_недели,дни_месяца,месяцы?метка)
Выполняет переход в заданный добавочный номер, если текущее время соответствует заданному.
Каждый элемент может быть определен или как * (для всех случаев), или как диапазон.
Аргументы приложения:
время - Диапазоны времени в 24-часовом формате.
дни_недели - Дни недели (mon, tue, wed, thu, fri, sat, sun).
дни_месяца - Дни месяца (1-31).
месяцы - Месяцы (jan, feb, mar, apr и т. д.).
GotoIfTime(|||?[context|]extension|]pri)
Пример:
; Если магазин открыт, переходим в контекст open
;
; По вторникам и четвергам задерживаемся до 8 вечера
exten => s,1,GotoIfTime(09:00-19:59,tue&thru,*,*?open,s,1)
;
; Мы открыты с 9 утра до 6 вечера с понедельника по пятницу
exten => s,n,GotoIfTime(09:00-17:59,mon-fri,*,*?open,s,1)
;
; Также мы открыты с 9 утра до 12 дня по субботам
exten => s,n,GotoIfTime(09:00-11:59,sat,*,*?open,s,1)
;
; Во все остальное время мы не работаем
exten => s,n,Goto(closed,s,1)
////////////////////////////
Еще один пример:
exten => 3000,1,GotoIfTime(9:00-17:00|mon-fri|*|*?open,s,1)
Будет совершен переход в контекст "open", на екстеншен s, к команде с приоритетом 1, если текущее время находится в промежутке между 9:00 и 17:00, с Понедельника по Пятницу, месяц и день месяца - не проверяются.
И еще:
exten => s,6,GotoIfTime(*|*|1-3|May?attendant,s,30)
Будет совершен переход в контекст "attendant", на екстеншен s, к команде с приоритетом 30, в любое время дня с 1 по 3 мая.
отсюда
отсюда