Rate Limit Incoming Calls per Number?


(Ruler2112) #1

We were recently hit by a barrage of robo-calls to our main number, all from the same 2 phone numbers and all within a minute. This bombarded the operators in that ring group and caused much stress for them. I’ve been doing some thinking on it and the only way I can think of to prevent our operators from being overwhelmed should this happen again in the future is to limit the rate at which incoming calls are accepted from a single number, playing a recording to the caller & then disconnecting to any calls that come in after the 2 or 3 allowed calls per minute from that phone number. Unfortunately, I’ve been unable to find such a feature for incoming calls.

Does such a feature exist & if so, where I would find it? (We have PBXact 13.) If this does not exist, how have others worked around this type of problem?


(Dave Burgess) #2

IIRC, @lgaetz wrote a ‘pre-filter’ SPAM blocker a while ago (“Whitelisting for fun and profit” IIRC) and this would definitely be something that could be done with that.


(Ruler2112) #3

I hunted for that ‘whitelisting for fun and profit’ and found nothing, but while doing so found where he’d been woken up at 5 am on new year’s day by a spammer and wrote an IVR to prevent spam - he called that https://community.freepbx.org/t/of-robocalls-and-whitelists/55848 . (Necessity really is the mother of all invention. :slight_smile: ) Unfortunately, I don’t see how this could be easily applied to this situation… we do not want to force people to press a button to be connected though.

It would not be difficult for me to code something in perl to accomplish exactly what is needed, but I do not know the asterisk system well enough to know if this could even be integrated with it or not. I’m that when a call comes in, asterisk presents the CID to my script, then routes the call based on the script’s response… is something like this possible? :thinking:


(Dave Burgess) #4

Yes, but no.

You need the Caller ID Superfecta Interface then. This gives you the ability to run a script against an “incoming call” and do things based on the parameters of that call. You can allow or deny calls based on different external program options (like a PERL script, for example) that would then perform many of the same functions you are looking for.

To be clear, though, this isn’t a “click a couple boxes” solution. You will need to program it to do what you need it to do and rock on from there. Your next stop, though, should definitely be the CID Superfecta Interface documentation.