DID to Internal Call Routing

Is there a way in FreePBX to route call internally if a person calls another DID in the system?
For Example:
Secretary at 1 building wants to call the office of another building on the campus. Each building is in the same phone system but each building has it’s own DID. If said secretary calls the other office’s DID, instead of the call routing out through our trunks and then back in (and costing us money), the call is translated to that office’s extension/ring group. Therefore keeping the call internal and not costing us any money.

I know how to do this on a Cisco UCM system from my previous years of experience, but this is my first FreePBX deployment at my new employer.

TIA!

One way could be to set up an outbound route with the DID dialed as the match pattern and the caller’s extension as CallerID. This will match only the extension making the call and not all the extensions in case it is needed. You can also use patterns like _3XX to apply this to all extensions on the 3XX range. The value on prepend will be the ext# or RG to dial.

I think this would also work by using Misc Applications

Another method that works well if you have large ‘common blocks’ of numbers is to build a ‘loop-back trunk’ (from/to 127.0.0.1) and route the ‘blocks’ through that.

1 Like