Blocking Call Scammers and Robocalls with Incredible PBX
As election season kicks into high gear, expect robocalls to go through the roof. Not that the diehard scammers care but Congress exempted all politicians from the rules pertaining to robocalls. And then there are those that spoof a phone number similar to yours in order to treat you to the latest car warranty deal or Caribbean vacation. So here’s a way to block 99% of these callers, almost all of whom depend upon autodialers and call center software to distribute calls to live operators once you answer the call.
The design is simple to implement with Incredible PBX. Instead of answering incoming calls with a standard AutoAttendant or IVR, we’ll play a brief announcement followed by a request that the caller "press 7″ or some other number to be connected. When the caller doesn’t press the requested number within a brief number of seconds, Incredible PBX will hangup the call.
Many SIP providers support the early media feature which lets two SIP user agents communicate before a call is actually answered. If your provider supports this and you pay by the minute for inbound call traffic, then we’ll show you how to use the early media feature to block these callers without ever answering the calls and incurring charges. The easiest way to determine whether your SIP provider supports early media is to implement the early media code below and try a test call. If you hear the greeting message after dialing your own number, then early media is supported. If not, use the other dialplan code.
Incredible PBX already includes all the tools you’ll need to implement this. We’ll use a little modified Announcement dialplan code to greet the caller with Allison’s Generic Welcome message: "Thank you for calling. Please hold a moment while we locate someone to take your call." Then we’ll tack on an extra message which says: "To continue in English, press 7." If you’d prefer a different number, you can modify the dialplan code below accordingly.
Add this early media dialplan code to the end of /etc/asterisk/extensions_custom.conf. If you prefer a number other than 7, then replace "7″ in both lines 4 and 6 below:
[hello-caller]
exten => s,1,Progress
exten => s,n(begin),Noop(Playing announcement Howdy as Early Media)
exten => s,n,Set(TIMEOUT(response)=10)
exten => s,n,Playback(custom/nv-GenericWelcome&silence/1&continue-in-english&press-7,noanswer)
exten => s,n,WaitExten(,)
exten => 7,1,Goto(ivr-1,s,1)
exten => t,1,Hangup
exten => i,1,Hangup
exten => fax,1,Noop(Fax detected!)
exten => fax,2,Goto(custom-fax-iaxmodem,s,1)
;--== end of [hello-caller] ==--;
In the FreePBX GUI, add a new Custom Destination:
Target: hello-caller,s,1
Description: Scam Blocker
In the FreePBX GUI, modify the
Inbound Route for each DID and set the
Destination to
Custom Destination: Scam Blocker. Save your settings and reload your dialplan.
Now place a test call to your DID and see if you hear the greeting message. If so, you’re done.
If not, edit /etc/asterisk/extensions_custom.conf and replace the [hello-caller] context at the bottom of the file with the following. You can replace "7″ on lines 6 and 8, if desired. Then reload your dialplan: asterisk -rx "dialplan reload". Then place another test call.
[hello-caller]
exten => s,1,GotoIf($["${CHANNEL(state)}" = "Up"]?begin)
exten => s,n,Answer
exten => s,n,Wait(1)
exten => s,n(begin),Noop(Playing announcement Howdy)
exten => s,n,Set(TIMEOUT(response)=10)
exten => s,n(play),Background(custom/nv-GenericWelcome&silence/1&continue-in-english&press-7,nm)
exten => s,n,WaitExten(,)
exten => 7,1,Goto(ivr-1,s,1)
exten => t,1,Hangup
exten => i,1,Hangup
exten => fax,1,Noop(Fax detected!)
exten => fax,2,Goto(custom-fax-iaxmodem,s,1)
;--== end of [hello-caller] ==--;