Call forwarding with time conditions and different external targets

Hey guys,

I’m trying to setup an internal emergency service and have trouble wrapping my head around the configuration.

Let’s start with my actual goal: A user should be able to dial 999 from an internal phone (or the whole number with his mobile phone) and the call should be forwarded to a mobile phone from an agent on duty.

Current system:
Current PBX Version: 14.0.3.13
Current System Version: 12.7.5-1807-1.sng7

Things I set up so far:

  • Created a local calendar in my FreePBX with appointments for one agent that is on duty
  • Created a time condition with mode set to calendar and selected the above mentioned calender
  • Set the mobile phone as Misc Destination when a calendar appointment is found, otherwise an announcement is played
  • Created an inbound route for xxxxx999 with the created time condition as destination

With this setup a user can call the xxxxx999 with his mobile and is forwarded to the agent on-duty or receives the announcement based on the time.

I think I need to create additional calendars and time conditions for the other agents. But how do I tell the inbound route to choose the proper destination? Every agent has his personal mobile phone number and different on-duty days.

Additionally how do I set up the forwarding for internal calls? I was not able to define a proper destination on the extension 999.

Here’s my suggestions:

I would rather make a queue and have the agent on call log in when their shift starts and log off when their shift ends, then point failover to a Queue that has static “Backup Agents” and set the primary queue that if no one is logged in it should straight go to failover.

Now to login you can create a virtual extension with follow me to their mobile for each agent, so they can login to the queue and you can use a dashboard to log in/out like FOP2 or Queue Wallboard (I’m not sure tho is you can login to queues with QW)
Or you can setup something like described here, where agents can call a DID and log in either a virtual extension or a mobile number.

With that being said…
The real issue with emergency/on-duty calls happens when there’s no Queue/Call Manager on top of the calls.
You need to have someone that will be on top of your agents to make sure they will be taking calls, logging in and out on time, or even have the agents make sure they don’t log out before the next agent logged in and “tested the line”.

Now, to route internally, you can create a Misc Application 999 and point it to the Queue.

Hope that helps.

Thank you for your suggestion @PitzKey! The Misc Application is a good solution for internal calls.

Unfortunately we don’t have a manager to overlook the agent’s login and I believe that a couple of them will forget to login in the morning. So I think queues are not the way to go. Before we switched to FreePBX we had a long config file with a rule for every day that set up a forwarding if the time fit. This is the way I choose if there are no other ideas, even though it’s high maintenance :frowning:

So yeah, if you want to go this way you’ll need a separate time condition for each agent. (Not sure about calendars if you need to create a separate calendar for each agent, or groups are enough - I never really played with it)

So let’s say you have 5 Agents, you’ll need to create 5 Time Conditions.
TC 1
TC 2
TC 3
TC 4
TC 5

Now point your inbound route to TC 1, and set if matches Goto Misc Destination if not Goto TC 2.
On TC 2, same thing, point non matching to TC 3, and so on with the rest.

So if it doesn’t match it’ll try the next TC till it finds one that matches.

1 Like

I prefer calendars over time groups, it makes the management of on-duty days easier.
@PitzKey thank you again, your idea works exactly the way I want to :slight_smile:

1 Like

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