کاربرد تابع GotoIfTime در سیستم تلفنی استریسک
تماس های ورودی به مرکز تماس بعد از ساعت کاری یا در روز های تعطیل به صورت خودکار به سوی صندوق صوتی یا اپراتور های شیفت بعدی مسیر دهی می شود !!! قابلیتی رایج و پرکاربرد در مراکز تماس و پیاده سازی آن با تابع GotoIfTime در Asterisk
[LEFT][B]GotoIfTime([I]times[/I],[I]daysofweek[/I],[I]daysofmonth[/I],[I]months[/I]?[[[I]context[/I],][I]extension[/I],][I]priority[/I])[/B][/LEFT]
با استفاده از تابع GotoIfTime در استریسک قادر خواهید بود زمانبندی اجرای دستور العمل ها را به مرکز تماس خود اضافه کنید . این تابع در صورتی که زمان درخواست دستورالعمل در محدوده زمانبندی تعیین شده آن باشد به Context خاص پرش می کند .
[B]times [/B]
پارامتر times برای مشخص کردن ساعت در فرمت 24 ساعته است به عنوان مثال 7:30 - 17
[B]daysofweek [/B]
پارامتر daysofweek برای مشخص کردن روزهای هفته در زمانبدی استفاده می شود و از mon شروع شده و به sun ختم می شود . (mon, tue, wed, thu, fri, sat, sun) به عنوان مثال mon-fri
[B]daysofmonth [/B]
روز های یک ماه از 1 تا 31 قابل تعریف است . به عنوان مثال : 1-15
[B]months [/B]
ماه های سال که از jan تا dec مقدار دهی می شود .
(jan, feb, mar, apr, mai, jun, jul, aug, sep, oct, nov, dec) به عنوان مثال apr-oct
[B]توجه :[/B] برای مشخص کردن مقادیر از ابتدا تا انتها می توانید از کاراکتر ستاره ( * ) استفاده کنید .
[B]مثال : [/B]تماس های ورودی از خطوط شهری را در زمان اداری به context ای به نام opencontext و در غیر اینصورت به داخلی شماره 101 مسیر دهی می کنیم .
[LEFT][from-pstn]
exten => s,1,GotoIfTime(08:00-17:00,mon-thu,1-31,jan-dec?opencontext,s,1(
exten => s,n,GotoIfTime(08:00-17:00,sat-sun,*,*?opencontext,s,1(
exten => s,n,Dial(SIP/101)[/LEFT]
[LEFT][opencontext]
exten => s,1,Answer()
extens => s,n,Dial(SIP/102)[/LEFT]
با استفاده از روش Lable گذاری مشابه تابع Gotoif نیز می توانیم با جزئیات کمتری مثال بالا را به روش زیر پیاده سازی کنیم .
[LEFT][from-pstn]
exten => s,1,GotoIfTime(08:00-17:00,mon-thu,1-31,jan-dec?open(
exten => s,n,GotoIfTime(08:00-17:00,sat-sun,*,*?open(
exten => s,n,Dial(SIP/101)
exten => s,n(open),Dial(SIP/102)[/LEFT]