Different fallback destinations for internal and external calls

Hi All,

Pretty simple query but difficult to execute it seems. I have a client that would like external call that route threw to reception and transferred to another extension to come back reception when not answered/available. However they would like internal calls made to each other not to fallback to the receptionist. So essentially external calls coming in and transferred, bounce back to reception, internal calls to each other, voicemail or termination.

Is this possible without creating custom contexts or is that the only way? And if so can someone point me in the right direction to at least start on something like that?

For internal calls you can use the Follow me table and route the call to different destination for each extension. Also in Advanced tab of each extension, at the bottom, you can set different destinations for no answer, busy and unreachable.
For external calls you can use Ring groups module for each destination and different failover destination for each group. Inside every group you can have one or more extension/destinations.
Hope that helped you.

Hi Tek640,

Thank you for this. What if the external calls all come to the reception queue, will this still work? None of the external calls will go to the extensions directly. Can I use follow and Optional destinations at the same time or does follow me take precedence over advanced > optional destinations?

Queues also have failover destination.
For the extensions I don’t think that you can use both Optional and Follow me destinations. You can make a few tests to see how works.

Yeah, I don’t think so either. I’m not how the PBX is going to recognize where to go based off internal and external calls.

Custom context will work, you have a lot of options once you go this route.
https://wiki.freepbx.org/display/FPG/Custom+Destinations+User+Guide

One of the easiest ways to do this is if your extensions are less than a full phone number. For example, a full phone number is 10 digits, my extensions are 5 digits. If this is the same case for you, use the length command on CALLERID(num) to route the call based on length.


in my case: If CALLERID(num) is = to 5 digits, route to the extension, otherwise route to the queue.

This is perfect, thank you so much, what I was looking for.

Great, don’t forget to mark your question solved, if it is.

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