The free Extension Routes module is installed, but not registered

FreePBX is licensed under the GPL and I was trying to add assign each trunk with prefix i tried to add it in the prepend field but it doesnt work ! is the The free Extension Routes module is installed, but not registered have to do something with it ? i tried to add it from the trunk options or from the outbound its the same

You have to register it.

how ? can i do it i cant find the way

Hey Jack69,
I have installed the Extension Routing module before, check out this post on how to do it.

Especially towards the bottom, it tells you how to register by “purchasing” the free 1 year license from the commercial store

Also, what are you trying to accomplish with the module Jack?

If you are looking to block certain extensions from being able to access long distance or international calling, then this is the perfect app for you.

However, when I installed the Extension routing module, i was hoping to be able to actually route different extensions out different trunks and have a multi tenant system. I was disappointed to learn that freepbx/asterisk is not easily used as multi tenant environment, there can only be one dialplan and nothing can overlap.

For example on Cisco’s enterprise PBX - CUCM / previously Cisco Call Manager, you have the concept of Calling Search Spaces, Partitions, and Route Patterns,

With that system you give a phone access to just one CSS which, when a route pattern match is made, sends the call out the trunk. Dial plans can overlap because they are seperated by CSS’s and then sent out different trunks.

The work around I am using to have extensions send calls out different trunks is this:

Extension 100 dials 10 digits on his phone. The phone dial plan prefixes “0001” behind the 10 digits and sends the call to freepbx. Freepbx has a match that is 0001xxxxxxxxxx, it strips the 0001 and sends the call out the 0001 trunk.

To send a 10 digit call out a different trunk, do the same thing but using 0002. That way there is still just the one dial plan that freepbx allows, with no overlap, but different lines can send out different trunks and have some kind of multi tenant functionality

yes thats what i need to be able to use different trunks from all users using prefixes i tried to add it as a prepend but with no luck 1! does the module have to do something with this ? and from link i can login but i cant register the license if i go to store i cant find it please help

Please anyone here could tell me how to get it ! registered

I was confused by the module name also, it should be called Extension Class of Restrictions or something relating to restricting and not routing IMO

I can help you route different extension to different trunks

Heres what you need to do:

  • change your dialplan on your phone config dialplan (not freepbx!, if you need help, let me know what phone make model you are using. Mine are Cisco SPA phones) to PREFIX 0001 for example (add digits before sending the number entered). The reason I chose 0001 as prefix is because it does not overlap with other dial plans being used - 7digit 10digit 911 or international, none of those begin with 000 already

  • now create an outbound route. Add all your normal pattern matches - 10 digit, 911, etc. then add “0001” in the PREFIX box which will strip the prefix before sending the call out the trunk defined by the outbound route

do you mind sharing on how to setup different routes for different trunks to be use for different extensions/phones, I’m using SPA525G2 and my current dial plan : (*xx|[3469]11|0|00|[2-9]xxxxxx|1xxx[2-9]xxxxxxS0|xxxxxxxxxxxx.)

I’m trying to create system that would use different CID for different extensions when calling out ( I have 2 different offices with 2 different phone#), I already have to different SIP trunks with 2 different CID to represent my 2 different offices, I even installed exension routing but all calls generated with only one CID ( and of cause as soon as I disable one of trunks - everything works fine, but I need both to be used at the same time

thx mike

I can help you do it, I’ve done it before.

Here’s the basics:

  1. In the Cisco SPA Phone diaplan (web or xml config), change it to prefix “0001” to all calls. This article explains all the dial plan syntax

So for example, the end user dials 9495001234. The Cisco Phone adds 0001 and sends 00019495001234 to freepbx

  1. Program FreePBX (web gui) with multuple Outbound Routes, one to match patterns of 0001xxxxxxxxxx, one to match 0002xxxxxxxxx etc. Then each send it to a different trunk. On the trunk configs, tell it to strip 0001 (add 0001 to the 'prefix | ’ box under digit manipulation, so it will be removed) before sending the call.

Here is a config example, where it says 9, it is prefixing a 9 then the comma is used to wait a few seconds before dialing the rest of the digits. You would just put 0001 there with no comma.

If you put this into the web gui config it should work fine, but if you are configuring it in XML, keep in mind that the ‘<’ and ‘>’ characters are illegal and will cause your config not to work because it will break the other tags, so you have to use HTML codes for example

&lt;0001&#58;&gt; would mean <0001:>

  1. Now calls will work and you can have as many different trunks as you want because the dial plans do not overlap on freepbx.

Would be REALLY nice if Asterisk / FreePBX solved this problem, and allowed separation of pattern matching, so that you could have multi tenant PBX / multiple pattern matching groups without having to have weird work arounds like this


I spent all night :slight_smile: and … freePBx has a bug , I had those routes before I installed new module - extension routing ; today I basically deleted my old outbound routes and created all again ((same no change) - and looks like all working now, directing appropriate extensions thru designated trunks/routes with appropriate cid showing on the other side.

I actually did the way you proposed and it worked, but than tried removing your workaround and all working without it. I guess freePBX with extension routing being fixed and its doing its job when all setup and routes redone again.

running on rentPBX
freepbx PIAF Incredible 11.10

Extension Routing module is misleading. Its not made for the way you are using it, but if you got it to work then great! Its still a work around though haha. It should be called Class of Restriction Module

I’m guessing you are blocking half your extensions from using trunk 1, then blocking the other half from using trunk 2, then your outbound routes still overlap with both having patterns suchas “xxxxxxxxxx”, but the overlap doesnt matter because each extension only sees the route you want it to.

It really shouldn’t be so complicated. I like Cisco’s logic in CUCM of Trunks, “Calling Search Spaces” and “Route Patterns”. Route patterns are assigned to CSS’s and then CSS’s are assigned to extensions, and based on the route pattern that gets matched in the CSS, it goes to a trunk.

FreePBX has the route patterns part and the Trunks part, but without CSS’s to make independent groups of route patterns, it makes multi tenant a pain in the ass

@tm1000 Andrew do you have any input on this? I think you’ve said before that its an asterisk limitation