Crmgo Blog

Asterisk GotoIfTime()

Asterisk GotoIfTime()

Popis: GotoIfTime(<times>|<weekdays>|<mdays>|<months>?[context|]extension|]pri) Pokud aktuální čas odpovídá zadanému časovému úseku, dojde k přesunu na zadané extenze. Každý prvek pro určení času může být zadán jako znak '*' (vždy odpovídá) nebo jako interval. Pokud aktuální čas neodpovídá zadanému…

Asterisk GotoIfTime()

Popis:

GotoIfTime(<cas>|<dny_v_týdnu>|<dny_v_měsíci>|<měsíce>?[kontext|]číslo_linky|]priorita)

Pokud aktuální čas odpovídá zadanému časovému úseku, dojde k přesunu na zadané číslo linky. Každý prvek pro určení času může být zadán jako znak '*' (vždy odpovídá) nebo jako interval. Pokud aktuální čas neodpovídá zadanému časovému intervalu, bude proveden příkaz s následující prioritou.

Jak zadat čas

Podívejme se na příklad uvedený v souboru extensions.conf:

<časový rozsah>|<dny v týdnu>|<dny v měsíci>|<měsíce>

Pokud nahradíte jakoukoli možnost znakem *, bude při porovnávání ignorována.
Například:

exten => 3000,1,GotoIfTime(9:00-17:00|po-pá|*|*?open,s,1)

Dojde k přesunu do kontextu „open“, na číslo linky s, k příkazu s prioritou 1, pokud je aktuální čas v rozmezí mezi 9:00 a 17:00, od pondělí do pátku, měsíc a den v měsíci se nekontrolují.

Další příklad:
exten => s,6,GotoIfTime(*|*|1-3|kvě?attendant,s,30)

Dojde k přesunu do kontextu „attendant“, na číslo linky s, k příkazu s prioritou 30, kdykoli v den od 1. do 3. května. (Například, když je kancelář uzavřena na květnové svátky.)

Poznámka: příspěvek mohl vzniknout s pomocí AI a lidskou redakcí. Odpovědný: Dmytro Lomaka, Kaltenkirchen.