Opis:
GotoIfTime(<times>|<weekdays>|<mdays>|<months>?[context|]extension|]pri)
Jeśli bieżący czas pokrywa się z zadanym przedziałem czasowym, następuje przejście do określonego numeru wewnętrznego (ekstenji). Każdy element określający czas może być ustawiony jako symbol '*' (zawsze pasuje) lub jako przedział. Jeśli bieżący czas nie pokrywa się z zadanym przedziałem czasowym, zostanie wykonana komenda o następnym priorytecie.
Jak określić czas
Rozważmy przykład opisany w pliku extensions.conf:
<time range>|<days of week>|<days of month>|<months>
Jeśli zastąpisz dowolną opcję symbolem '*', zostanie ona zignorowana podczas porównywania.
Na przykład:
exten => 3000,1,GotoIfTime(9:00-17:00|mon-fri|*|*?open,s,1)
Nastąpi przejście do kontekstu „open”, na numer wewnętrzny s, do komendy o priorytecie 1, jeśli bieżący czas mieści się w przedziale między 9:00 a 17:00, od poniedziałku do piątku, a miesiąc i dzień miesiąca nie są sprawdzane.
Kolejny przykład:
exten => s,6,GotoIfTime(*|*|1-3|May?attendant,s,30)
Nastąpi przejście do kontekstu „attendant”, na numer wewnętrzny s, do komendy o priorytecie 30, o dowolnej porze dnia w dniach od 1 do 3 maja. (Na przykład, gdy biuro jest zamknięte na święta majowe.)
