Forward calls from external to a ringgroup after ringing dialed extension for x seconds (call forwarding)

I’m looking for a possibility to forward calls, that are coming from external, to a ringgroup, if the dialed extension isn’t answered. But if the dialed extension is busy, the caller should get the busy Signal. Internal calls shall not be forwarded!

We want to use FreePBX in our company. External callers shall be forwarded to our receptionists, if the called extension isn’t answered for x seconds.
Internal calls shall not be forwarded, because we don’t want to annoy our receptionist with hundreds of calls.
We also need the possibility to differentiate where the caller is forwarded to on a DID basis. For example if someone tries to reach a colleague of our sales team, he should be forwarded to a different receptionist as if he had called someone of the marketing team.

With our old PBX this was a standard configuration and I thought this shouldn’t be too difficult to implement with FreePBX, but until now I couldn’t find a way to accomplish it.

Any suggestion?
Thanks for your help.

I’d have to look, but pretty sure I’ve done this with queues…

Inbound route points to queue. queue contains only primary extension as static member. Failover for queue is the ring group.


Thank you very much for your quick answer!
Using queues to differentiate between internal and external calls works fine.

But now I still have the problem that the caller is immediately forwarded to the failover destination, if the called extension (static agent) is busy. It would be great, if the caller would get the busy tone instead.

Another problem is the fact, that I would have to create 50 queues (one for each DID). This would be a bit time-consuming to handle.

should it not be build as follows:

Create a ring group with the strategy firstnotonphone and put the extension first and the queue second?

while testing your suggestion and searching for more information I found this great explanation of ring strategies:

I know use a ring group with “hunt-prim” to avoid, that the next extension is called, when the first one is busy or on DND.
Unless I’m mistaken, I can’t use the follow me settings (which would use hunt-prim too), because I need to differentiate between internal and external calls.

This means that I still have to create a ring group for each DID.

Maybe there is an even better solution?