Middle "screen" tier between permit and block? #54
Replies: 6 comments 9 replies
-
It sounds like raw Permit and Block lists along with RegEx Permit and Block patterns are not sufficient. As it stands now, callers that do not fall into one these categories (or denied by a block service lookup) are screened by default. Are you feeling the need to cover exceptions like "Block all numbers by pattern" except for those on another list or RegEx? Same goes for permitted RegEx, but screen exceptions in any event. After all mechanisms are exercised, and the call is neither permitted nor blocked - it is screened. What else would happen. I'd like to also keep the self-permitting logic intact. It seems if we were to go down this path, perhaps we should look at some other rules-based screening which includes RegEx handling and leave the explicit Permit and Block lists intact or incorporate them in the rules logic somehow. I suspect we could make this arbitrarily complex with not too much work. What would the UI look like? More thought and prototyping required. |
Beta Was this translation helpful? Give feedback.
-
Exactly. One specific use case I'm thinking of is "a regex blocks or allows all calls from this area code, but I want to explicitly screen calls from this specific number." |
Beta Was this translation helpful? Give feedback.
-
Regular expressions can get pretty complex so the example of block an area code except for this number should be possible. As long as the regex lists are tested in a pre-determined order a third pair of regex lists could be added for screened names and screened numbers which might make things easier to write. |
Beta Was this translation helpful? Give feedback.
-
Thinking out loud ... a key to both resolving this, and also enabling much more sophisticated flexibility, might be to think about how making the enforcement hierarchy more abstract, and then cherry-pick how best to get there if it's worth it. For example, we could expand each "layer" of check into a separate configurable layer, and then allow the user to configure both the order of enforcement (with the default config identical to today's behavior) and the action taken. Today, these layers are:
There is an enforcement order that is partially explicit (SCREENING_MODE), and partially implicit (depending on order of how things are checked, order of regular expressions in the list, etc.) There is also a mapping of behaviors to these queues (BLOCKED_ACTIONS, SCREENED_ACTIONS, PERMITTED_ACTIONS). I'm not suggesting that we have to over-abstract / YAGNI this. But I think it may be useful to document the full order of enforcement/action to inform how best to address this class of problem. A little bit of abstraction could yield some design tweaks that both "make the simple things easy, and the difficult things possible". |
Beta Was this translation helpful? Give feedback.
-
After more thought, I think the only list that might need to be added would be a screened number list added between permitted and blocked. Maybe add a "greylist" to the screening mode to control its use. Screened regex could be added for completeness but I think they would be mostly unused. I am also in favor of documentation! |
Beta Was this translation helpful? Give feedback.
-
Perhaps related to this is the question of having screened calls categorized as permitted... From all I can tell, calls that are screened eventually get thrown in with calls that are permitted. Yes, they are tagged as screened. I just find that confusing and I think it ends up obfuscating just how many calls are screened - which, in our case - is huge. I think they are much more logically put in the blocked category, if not in a category of their own. Best |
Beta Was this translation helpful? Give feedback.
-
When using broad regular expressions (such as when blocking entire area codes, etc.), I'm not aware of a good way today for a more-specific number to be neither permitted nor blocked, but simply screened. It's almost like there needs to be a "middle tier" for screening.
I'd be willing to tackle an implementation, and first seek consensus on the approach. Worth pursuing? Considerations / ideas? Obviously, precedence (order of enforcement) and associated UX would need to be worked out.
Beta Was this translation helpful? Give feedback.
All reactions