Setting up a small office were calls will be answered by one of the office staff. They schedule who will do this each day and might switch back and forth throughout the day.
If no one is functioning as the operator or they do not answer the call quickly the call should go to IVR.
Hi
You can use Gotoiftime cmd of Asterisk in dial plan which check call with current time & date process calls with respect to that time.
aslo you can include diffrent time span in one incoming context & route calls at dirrent context or extensions of office staff as per the time.
Goto if or Goto if time help you for ur requirement in which u want to route calls if no one answer call go to IVR or voicemail.
for more search on voip-info.org
GotoIftime won’t solve the problem. That only allows a conditional branch based on the time of day, not on who the operator on call is.
You could create a little sign in routine where the person who is the designated operator dials a number which logs them as the current operator. Behind the scene, whenever that key sequence is pressed, the dialer’s extension is written to an ASTDB variable. When a call comes in, it checks that variable and dials that number. After so many rings, you can have it go to an IVR. This is very basic but you can add your own twists.
I was thinking of a queu but it seemed too complex for a small office. the *9 solution seems easier for staff to negotiate. or maybe I am missing something?
I quess I need to add an “off” function for when no one want to be the operator?
I don’t think I’d ever set it to ‘off’. you could set an ‘all’ like this
exten => *91,1,Set(GLOBAL(OOD)=100&101&102;
The verbose just prints a message in the CLI console and /var/log/asterisk/messages.