How to setup "operator of the day"

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.

Not sure how this would be best done.

(yes, this is my first installation)

  Tom

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

Amit :smile:

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.

Hi

I have many sites working this way, You just need to use a queue and they log them in and out as needed. the next priority after the queue is the IVR.

Ian

This dialplan should do what you want

exten => *91,1,Set(GLOBAL(OOD)=100;
exten => *92,1,Set(GLOBAL(OOD)=101;
exten => *93,1,Set(GLOBAL(OOD)=102;
exten => s,1,Answer()
exten => s,2,Verbose(1|Ringing on Line)
exten => s,n,Dial(SIP/${OOD},10,KktT)
exten => s,n,Directory(default|default|e)
exten => s,n,WaitExten(5)

Simply dial *91, *92 or *93 to set the active OOD extension
Then the next call will try it for 10 seconds and drop into IVR

Thanks for the quick reply!

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?

exten => *91,1,Set(GLOBAL(OOD)=100;
exten => *92,1,Set(GLOBAL(OOD)=101;
exten => *93,1,Set(GLOBAL(OOD)=102;
exten => *90,1,Set(GLOBAL(OOD)=0;
exten => s,1,Answer()
exten => s,2,GotoIf($[${ODD}=0]?:no operator)
exten => s,2,Verbose(1|Ringing on Line)
exten => s,n,Dial(SIP/${OOD},10,KktT)
exten => s,n(no operator),Directory(default|default|e)
exten => s,n,WaitExten(5)

I am not sure what the Verbose line does?

Tom

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.

Thanks!

In this case the company has IVR menus but would like to have a person answer when they are available.

Setting to “off” would allow the voice menus to take over without a ring deay.

Tom