Команда GotoIfTime()
Назначение:
Условный переход зависящий от текущего времениОписание:
GotoIfTime(<times>|<weekdays>|<mdays>|<months>?[context|]extension|]pri)Если текущее время совпадает с заданным временным интервалом, тогда совершается переход к заданному экстеншену. Каждый элемент для определения времени может быть задан, как символом '*' (всегда совпадает) или задан как интервал. Если текущее время не совпадает с заданным интервалом времени, тогда будет выполнена команда со следующим приоритетом.
Как задать время
Рассмотрим пример описанный в файле extensions.conf:<time range>|<days of week>|<days of month>|<months>
Если Вы замените любую опцию символом *, тогда она будет игнорироваться при сравнении.
Например:
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 мая. (Например, когда офис закрыт на майские праздники.)