On Call Rotation Call Flow Help

Usually I’m pretty good with problem solving, figuring out call flow with FreePBX.
But I’m stuck trying to figure out the best way to automate a rotating on call schedule.
I use a call flow control so they toggle it like an in office/out of office switch. When out of office, it currently just goes to Misc destinations I set up for 4 individuals cell phones to forward calls. Each week, they rotate, and I have been manually switching them myself. Can anyone think of a creative way to use time groups to rotate these basically every four weeks? There’s no easy way I can see to alternate every four weeks, unless I calculate them out myself for the whole year.


Common answer is use a queue. You can have them login and out by assigning a phone number. If they call the number it will log them in/out based on the caller ID and their current queue status.

If you could devise a math formula that adequately identifies which user should be oncall, you could tie that in and to the login/out automatically.

I personally like the touch of having them dial one number however. One of these weeks someone is going to have an issue and emergency and the rotation will fail anyway (unlikely it would be perfect for a year). By training them to login/out, they will be able to adhoc without intervention from you.

Another way might be, is to use multiple time conditions who are tied to calendars, And if it finds an event within said time condition’s calendar, then it’ll go to it’s associated misc destination. Finally, share the calendars with them and let them add the events by themselves.

True = MiscDest1
False = TC2

True = MiscDest2
False = TC3

True = MiscDest3
False = TC4

Etc etc etc

We’ve actually integrated Google Calendar with FreePBX queue login, when we create an event in the shared calendar with the agent’s details, FreePBX logs them in once the event starts, and logs them off once the event is over.


Another way would be to use your ASTDB database to assign the CFW number to a specific number and do it under program control.

1 Like

Are there details on how you did this that you would be willing to share? This seems like a really useful add.

This topic was automatically closed 31 days after the last reply. New replies are no longer allowed.