Allowlist per inbound route

Hello All,

I have been experimenting with the module Allowlist, which works nicely.

Suppose I wanted different Allowlists per Incoming Route, is that possible at all?

Thanks for your comments!

-Gian

1 Like

Not possible with allowlist without modification. But you could do this with dynamic routes where you maintain separate pinset lists of CIDs for each route. It would be a modification of this technique: Using Dynamic Routes & Pin Sets to Authenticate Caller

Lorne,

thanks for your kind reply.

Given that a PIN can be shared, I feel that this solution is less safe than one based on a CID list, but anyway the link you provided is very interesting.

-Gian

With the technique that Lorne describes at the end of his post, the PIN set is a CID list. Depending on how many users you are dealing with that might be very workable. Really no more inconvenient that managing allowlists. Fortunately I’d never heard of this technique or I might never have written the allowlist module :grin:

Maybe I misunderstood, but if a PIN is screened the call is answered, so the caller has an expense.
Also, the code can be shared so other people could open the gate.

The idea is to not use the pins as a list of pins, but rather a list of CIDs and use dynamic routes to access that list and see if the incoming caller id matches one of the entries. E.g you never actually collect a pin — just look at the caller id as the ‘pin’ and check it against the list.

The secret sauce is this statement:

$[${DB_EXISTS(PINSETS/1/${CALLERID(number)})}]

How would I list the CIDs? I see that the + for Country Code is not saved.
Will 00 work instead?
Is there a way to add a note on the same line, such as the name of the user?
Also, where should I enter the SHELL variable that will trigger the relay?

You would simply add them to the pin list as the example shown here. ‘+’ won’t be saved but does it show up in the caller id? As far as I know there is no way to store a comment or description.

Executing the script to control the relay should be the same as you do now – what ever destination you are sending ‘allowed’ callers to would handle it – just specify that destination in the dynamic route as Lorne showed in his example.

image

In your case replace “600 ringall” with the destination that operates the relay. You would also replace “6007 D65 (Unavailable Message)” with the allowlist destination you are using for unallowed callers.

Thanks for your patience, Mitch,
I wasn’t able to get it working, I suppose that the + sign is required to match.
In the CDR report numbers are always shown with +CountryCode.
Beside that, a long list of numbers, without a name, can be quite difficult to maintain.
Every solution has pros and cons…

I’m working on supporting multiple allowlists on one system so I’ll share when that is ready to publish.

Thanks Mitch!!

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.