rendered paste body;------------------------------------------------------
; Basic Time Checking for inbouund routing
;
;I mapped us and canadian holidays. Still needs EU holidays.
;I planb to create a holidays.conf in the future with all the
;diff holidays and their country
;------------------------------------------------------
;
[us-holiday-timerules]
;switch = Realtime/dialplan@pbx-db-name
exten = s,1,GotoIfTime(*|*|31-1|dec-jan?s|HOLIDAY1)
exten = s,n,GotoIfTime(*|*|28|may?s|HOLIDAY2)
exten = s,n,GotoIfTime(*|*|4|jul?s|HOLIDAY3)
exten = s,n,GotoIfTime(*|*|3|sept?s|HOLIDAY4)
exten = s,n,GotoIfTime(*|*|8|oct?s|HOLIDAY5)
exten = s,n,GotoIfTime(*|*|11|nov?s|HOLIDAY6)
exten = s,n,GotoIfTime(*|*|22|nov?s|HOLIDAY7)
exten = s,n,GotoIfTime(*|*|24-26|dec?s|HOLIDAY8)
exten = s,n,Goto(timebasedrules,1,1)
;
exten = s,n(HOLIDAY1),Playback(office-closed&newyears)
exten = s,n,Goto(s,HOURS))
exten = s,n(HOLIDAY2),Playback(office-closed&memorialday)
exten = s,n,Goto(s,HOURS))
exten = s,n(HOLIDAY3),Playback(office-closed&independanceday)
exten = s,n,Goto(s,HOURS))
exten = s,n(HOLIDAY4),Playback(office-closed&Laborday)
exten = s,n,Goto(s,HOURS)
exten = s,n(HOLIDAY5),Playback(office-closed&ColumbusDay)
exten = s,n,Goto(s,HOURS)
exten = s,n(HOLIDAY6),Playback(office-closed&vetrans)
exten = s,n,Goto(s,HOURS)
exten = s,n(HOLIDAY7),Playback(office-closed&thanksgiving)
exten = s,n,Goto(s,HOURS)
exten = s,n(HOLIDAY8),Playback(office-closed&x-mas)
exten = s,n,Goto(s,HOURS)
;
[can-holiday-timerules]
;switch = Realtime/dialplan@pbx-db-name
exten = s,1,GotoIfTime(*|*|31-1|dec-jan?s|HOLIDAY1)
exten = s,n,GotoIfTime(*|*|6|april?s|HOLIDAY2)
exten = s,n,GotoIfTime(*|*|9|april?s|HOLIDAY3)
exten = s,n,GotoIfTime(*|*|21|may?s|HOLIDAY4)
exten = s,n,GotoIfTime(*|*|25|jun?s|HOLIDAY5)
exten = s,n,GotoIfTime(*|*|1-2|jul?s|HOLIDAY6)
exten = s,n,GotoIfTime(*|*|6|aug?s|HOLIDAY7)
exten = s,n,GotoIfTime(*|*|3|sept?s|HOLIDAY8)
exten = s,n,GotoIfTime(*|*|8|oct?s|HOLIDAY9)
exten = s,n,GotoIfTime(*|*|12|nov?s|HOLIDAY10)
exten = s,n,GotoIfTime(*|*|24-25|dec?s|HOLIDAY11)
exten = s,n,GotoIfTime(*|*|26|dec?s|HOLIDAY12)
exten = s,n,Goto(timebasedrules,1,1)
;
exten = s,n(HOLIDAY1),Playback(office-closed&New-Years)
exten = s,n,Goto(s,HOURS))
exten = s,n(HOLIDAY2),Playback(office-closed&Good-Friday)
exten = s,n,Goto(s,HOURS))
exten = s,n(HOLIDAY3),Playback(office-closed&Easter-Monday)
exten = s,n,Goto(s,HOURS))
exten = s,n(HOLIDAY4),Playback(office-closed&Victoriaday)
exten = s,n,Goto(s,HOURS)
exten = s,n(HOLIDAY5),Playback(office-closed&SanJuanBaptisteDay)
exten = s,n,Goto(s,HOURS)
exten = s,n(HOLIDAY6),Playback(office-closed&CanadaDay)
exten = s,n,Goto(s,HOURS)
exten = s,n(HOLIDAY7),Playback(office-closed&Laborday)
exten = s,n,Goto(s,HOURS)
exten = s,n(HOLIDAY8),Playback(office-closed&Thanksgiviing)
exten = s,n,Goto(s,HOURS)
exten = s,n(HOLIDAY9),Playback(office-closed&Remberanceday)
exten = s,n,Goto(s,HOURS)
exten = s,n(HOLIDAY10),Playback(office-closed&xmas)
exten = s,n,Goto(s,HOURS)
exten = s,n(HOLIDAY11),Playback(office-closed&boxingday)
exten = s,n,Goto(office-hours,s,1)
;
[office-hours]
exten = s,1,Playback(office-hours&vm-goodbye))
exten = s,n,Macro(hangupcall))
;
[timebasedrules]
;switch = Realtime/dialplan@pbx-db-name
exten = 1,1,NoOp(Office Open)
exten = 1,n,GotoIfTime(08:00-20:00|mon-fri|*|jan-dec?main-irv-menu,s,1)
exten = 1,n,Goto(office-hours,s,1)