Open Source Training Seminar FreePBX Paid Support

Ticket #669 (new Feature Requests)

Opened 2 years ago

Last modified 2 months ago

Restrict incoming calls per extention to internal/external/both

Reported by: Caribou7 Assigned to:
Priority: text1 Milestone: 4.0
Component: Core Version: Eventually
Keywords: restriction restrictions allowances Cc:
Confirmation: Unreviewed SVN Revision (if applicable):
Backend Engine: All Backend Engine Version:

Description

I have a suggestion. For each line, each trunk, and each outgoing and incoming route, you add a field that will accept the letters a through z or a hyphen to denote a range only, for example a-ehj would be equivalent to abcdehj.

For a call to be successfully completed, the trunk, route, and extension would all have to have at least one letter code in common. By default the code would be set to a for extensions and a-z for newly-created routes and trunks. This would give you complete control over which extensions could access which lines or trunks.

Extensions should actually have three fields: Outside calls allowed, Inside calls allowed, inside calls accepted. The first would define a code for calls to numbers outside the local system, i.e. not other extensions. The second would allow different restrictions to be set for calls to inside extensions. The third would allow incoming calls from other extensions to be restricted. By using the "at least one letter in common" rule you could easily set up groups of extensions that could call each other but not other extensions or make outside calls. You could even put two completely different homes or offices on the same switch.

Also you could set up multiple routes using the same trunks but different allowance codes with different dial plans.

A quick example. Let's say you have a poolside phone (lucky you if you have a pool). You want it to be able to call the local emergency number and all the extensions inside the home, but not make any other outside calls. You set the extension's outside calls allowed to e (mnemonic for "emergency only") and its inside extensions to a. Then in your routes, you create a duplicate of your normal route for outside calls, except in this one you put only the code e and you only allow calls to 911 (or whatever the emergency number is in your part of the world), and you only specify the trunk or trunks you'd use for 911 access.

It may be overkill to allow this specification on trunks as well as routes but it also permits the maximum flexibility, at the expense of a bit of additional processing time per call. Most normal restrictions could be enforced if this were only implemented on extensions and routes, but there may be oddball cases where you'd want to set up a group of routes that could be used by all extensions and yet still restrict certain extensions from accessing certain (possibly higher cost) trunks.

The letter code method seems to me to be an easy method to use, you are simply matching letters. Instead of using a-z, you could allow only a-x which could be represented internally using 24 bits, or a-p which could be represented internally as 16 bits, allowing you to simply do bitwise ANDs (logically, if extension AND route AND trunk do not equal zero, then the call is allowed). Most home users would only need two or three codes, mainly to restrict phones in insecure areas (like the aforementioned pool area) or in playrooms, children's rooms, etc.

Change History

06/26/06 16:40:15 changed by gregmac

  • summary changed from Suggestion for allowance/restriction of lines - trunks - extensions etc. to Restrict incoming calls per extention to internal/external/both.

Outbound restriction is a dupe of #461. The inbound request is new so I will keep this open.

I don't think using letters is an appropriate way to do this, as it will become a confusing interface once there are several trunks/extensions. It would be much nice to use drop-down or radio boxes.

06/05/07 03:54:17 changed by lazytt

  • engine_version changed.
  • svn_rev changed.

see also: #637 (thats a similar request, only writen MUCH simpler and clearer)

06/05/07 03:55:37 changed by lazytt

see also: #461

07/24/08 17:08:55 changed by ryppn

  • confirmation set to Unreviewed.
  • milestone set to 4.0.
Donate



Support
Download
Develop
Forums
News
Documentation
Paid Support
About

Paid Ads