I have around 500 extensions and 200 of these are for internal calls only. The only way i know of stopping external calls is to configure the outbound route for each extension.
As you can imagine it would be a real pain manually configuring 200 outbound routes, is there an easier way to do?
It would be great if i could configure a group to block outgoing calls.
You can drop them as necessary in the [macro-dialout-trunk-predial-hook] context you create in extensions_custom.conf (look at the cautions in extensions.conf first)
You could try changing their context to one that doesn’t connect to the all-routes context. This could be a custom-context, or you could do something hackish like “from-pstn” which would definitely keep them from dialing out.
Would that not still require the OP to similarly change 200 of his 500 extensions? If so is not that still not “easier” for him. (gotta love the double negative here though )
Sorry , don’t have any systems with any commercial module availability , so that doesn’t work for me or many others, maybe the OP does, my post was for Generic FreePBX, appropriate to this Forum category.
I’ll look into the commercial module as i’ve just realised i wouldn’t want to block all external calls as i would want to emergency calls to be allowed.
COS module surely works.
Another option is to use the /CallerID field in your outbound route under Dial Patterns.
There you can allow only specific extensions to use that route, sparing you from having to build many of them.
We have a single FreePBX for our primary (k12) schools. In each school i’ve earmarked 50 extensions, some of those extensions are in offices, some in classrooms.
I need to stop classrooms from calling external numbers (this one is easy to do)
I need to stop classrooms (school a) from calling classrooms from another school (school b), but school the must be able to call all extensions in it’s own school.
I now have the commercial module from above.
Any advice?
You have the class of service commercial module? If you do this is very easy. you would create one CoS, then move all of the extensions into this, then select the route that they are allowed to use.
If you are on a system that supports commercial modules, this one really makes it quite easy.
You might be able to do this by just creating a CoS group, adding the restricted extensions, then not allowing an outbound route.
If that doesn’t work try:
Make an outbound route for the extensions you want restrictions on. Don’t add trunks.
Make a dial pattern that matched the numbers you want the restricted extensions to be able to call. If you want the restricted extensions to only be able to call 100-199, make a dial pattern of 1XX.
After you save the outbound route, go to CoS and make a group for the restricted extensions.
Add the restricted extensions to the CoS group and only allow your new route.