[from-pstn] include => external-extens include => sales include => support [sales] exten => 5001,1,NoOp() ;replace with GoTo to force sales-open or closed exten => 5001,2,GotoIfTime(6:00-17:00|mon-fri|*|*?sales-open,s,1) exten => 5001,3,GotoIfTime(17:01-23:59|mon-fri|*|*?sales-closed,s,1) exten => 5001,4,GotoIfTime(0:00-5:59|mon-fri|*|*?sales-closed,s,1) exten => 5001,5,GotoIfTime(*|sat-sun|*|*?sales-closed,s,1) [sales-open] exten => s,1,Answer() exten => s,2,Wait(1) exten => s,3,Goto(salesq|s|1) [salesq] exten => s,1,Queue(salesq|nr|||15) exten => s,2,Voicemail(b5001) exten => 1,1,Voicemail(bsales) [sales-closed] exten => s,1,Background(sales-closed-6to530-leave-mesg) exten => s,2,Voicemail(u5001) exten => #,1,Voicemail(u5001) [support] exten => 5002,1,NoOp() ;replace with GoTo to force sales-open or closed exten => 5002,2,GotoIfTime(9:00-16:59|mon-fri|*|*?support-open,s,1) exten => 5002,3,GotoIfTime(17:00-8:59|mon-fri|*|*?support-closed,s,1) exten => 5002,4,GotoIfTime(*|sat-sun|*|*?support-closed,s,1) [support-open] exten => s,1,Answer() exten => s,2,Wait(1) exten => s,3,Goto(salesq,s,1) [supportq] exten => s,1,Queue(supportq|nr|||20) exten => s,2,Background(custom/custsrv-queue-press1-or-hold) exten => s,3,Queue(supportq) exten => 1,1,Voicemail(b5002) [support-closed] exten => s,1,Background(custsrv-closed-8to5-leave-mesg) exten => s,2,Voicemail(u5002) exten => #,1,Voicemail(u5002) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; [from-pstn] include => external-extens include => sales include => support [sales] ; this way we can just add 'include sales-open' to force include => sales-open|6:00-17:00|mon-fri|*|* include => sales-closed|17:01-23:59|mon-fri|*|* include => sales-closed|0:00-5:59|mon-fri|*|* include => sales-closed|*|sat-sun|*|* [sales-open] ; it also seems to be slightly more clear to have the number here...no reason why we can't use 5001 instead of s using gotoiftime though... exten => 5001,1,Answer() exten => 5001,2,Wait(1) exten => 5001,3,Goto(salesq|s|1) [salesq] exten => s,1,Queue(salesq|nr|||15) exten => s,2,Voicemail(b5001) exten => 1,1,Voicemail(bsales) [sales-closed] exten => s,1,Background(sales-closed-6to530-leave-mesg) exten => s,2,Voicemail(u5001) exten => #,1,Voicemail(u5001) [support] include => support-open|5:30-19:00|mon-fri|*|* include => support-closed|19:01-23:59|mon-fri|*|* include => support-closed|0:00-5:29|mon-fri|*|* include => support-closed|*|sat-sun|*|* [support-open] exten => 5002,1,Answer() exten => 5002,2,Wait(1) exten => 5002,3,Goto(salesq,s,1) [supportq] exten => s,1,Queue(supportq|nr|||20) exten => s,2,Background(custom/custsrv-queue-press1-or-hold) exten => s,3,Queue(supportq) exten => 1,1,Voicemail(b5002) [support-closed] exten => s,1,Background(custsrv-closed-8to5-leave-mesg) exten => s,2,Voicemail(u5002) exten => #,1,Voicemail(u5002)