Here is an example of routing calls over time in Asterisk.
Assume that the /etc/asterisk/extensions.conf file has a configured context for the trunk with the following parameters:
[Trunk_2] exten => s,1,DIAL(SIP/6004&SIP/6003,19) exten => s,2,Hangup()
And to resolve the time calls to different phones, we will point out for the context of this trunk only nested contexts:
[Trunk_2] include => daytime,8:00-18:00,mon-sat,*,* include => nighttime,18:00-8:00,mon-sun,*,* include => sunday,8:00-22:00,sun,*,*
In fact, daytime, nighttime, sunday are only the names of contexts for which the time is written in the context of [Trunk_2], they can be called anything.
And then in these separate contexts we will already add the necessary extensions.
That is, in the afternoon:
[daytime] exten => s,1,DIAL(SIP/6004&SIP/6003,19) exten => s,2,Hangup()
[nighttime] exten => s,1,DIAL(SIP/6002,19) exten => s,2,Hangup()
And on Sunday:
[sunday] exten => s,1,DIAL(SIP/6002,19) exten => s,2,Hangup()
You can also, for example, create a holiday context with holidays:
include => holiday,*,*,1,jan include => holiday,*,*,8,mar
For those who want to paint more in detail by day, I’ll give you a list of days in English:
mon – Monday
tue – Tuesday
wed – Wednesday
thu – Thursday
fri – Friday
sat – Saturday
sun – Sunday
Similarly, up to three letters and names of months are shortened.