[asterisk-users] blocking spammer by callerID "name"

Chris Gentle gentlec at gmail.com
Thu Jun 13 20:04:52 CDT 2013


Yeah, probably wouldn't work too well in a business environment where
you actually NEED to answer calls.  I go to a lot of trouble to make
sure people can't get in touch with me.  :)

I keep my blacklist and whitelist in AstDB.  However, I maintain it in
a bash script so that I can update the script and then rebuild the
AstDB very quickly.  If I lose my AstDB I can just rebuild it with the
script.

; Check the Asterisk database for blacklisted number
  exten => s,n,GotoIf(${DB_EXISTS(blacklisted/${CALLERID(num)})}?blacklisted,s,1)

Whitelist can be done the same way:

; Check the Asterisk database for whitelisted number
  exten => s,n,GotoIf(${DB_EXISTS(whitelisted/${CALLERID(num)})}?voicemail,abc,1)

I have a [screened] context that screens the calls and prompts for pressing "5"

[screened] ;{{{
  exten => s,1,Zapateller()
  exten => s,n,Set(TSTAMP=${STRFTIME(${EPOCH},,%Y%m%d-%H%M%S)})
  exten => s,n,NoOp(${TSTAMP})
  exten => s,n,Monitor(wav,${TSTAMP}-${CALLERID(num)}-screened,m)
  exten => s,n,Set(COUNT=1)
  exten => s,n(loop),WaitExten(1)
  exten => s,n,Background(privacy-screening-unidentified-calls)
  exten => s,n,WaitExten(.5)
  exten => s,n,Background(press-5)
  exten => s,n,Background(T-to-leave-msg)
  exten => s,n,WaitExten(3)
  exten => s,n,Set(COUNT=$[${COUNT} + 1])
  exten => s,n,GotoIf($[${COUNT} <= 3]?loop)
  exten => s,n,PlayBack(goodbye)
  exten => s,n,StopMonitor()
  exten => s,n,Hangup()

  exten => 5,1,NoOp(Pressed 5)
  exten => 5,n,PlayBack(tcg/pls-lv-msg-w-nam-phnnum)
  exten => 5,n,StopMonitor()
  exten => 5,n,GoSub(voicemail,tcg,1)
  exten => 5,n,Hangup()

  exten => i,1,Playback(option-is-invalid)
  exten => i,n,Goto(99,msg)

  ;}}}



On Thu, Jun 13, 2013 at 2:55 PM, Joseph <syscon780 at gmail.com> wrote:
> Thank you for input.
> Good idea, I like your approach with press "number" to leave a message",
> this will definitely cut the robo-calls voice-mail. Do you use database for
> white-list?
> Can you post a section of your dial plan that deals with blocking?
>
> This is a medical clinic so white-list, black-list is not a good solution
> but it might be good for home use.
>
> Thanks,
> --
> Joseph
>
>
> On 06/13/13 14:30, Chris Gentle wrote:
>>
>> Google the number and you can probably find other complaints and
>> possibly who it is.  Not that it will matter, there's nothing you can
>> do but block it.
>>
>> My approach to call filtering is:
>>
>> Deny All
>> Allow Some
>>
>> I have a whitelist of callers I always want to accept that may include
>> businesses outside my local area code.  If my dialplan doesn't
>> recognize the incoming number I send them to a voicemail mail where
>> they have to press "5" to leave a message.  That knocks out the robo
>> dialers.  Then I google the number and if it's a spammer, I add them
>> to a blacklist where the call is dropped immediately.  Really no point
>> in playing funny or cute messages to them or even telling them they
>> are blacklisted because it's usually an auto-dialer and a real person
>> doesn't hear it anyway.
>>
>> On Thu, Jun 13, 2013 at 1:31 PM, Joseph <syscon780 at gmail.com> wrote:
>>>
>>> I have a subroutine to block spammer by CALLERID(number)
>>>
>>> exten => 4,1,GotoIf(${BLACKLIST()}?blacklisted,s,1)
>>> exten => 4,n,Set(goaway=${CALLERID(number):0:2})
>>> exten => 4,n,GotoIf($["${goaway}" = "V4" ]?blacklisted,s,1)
>>> exten => 4,n,GotoIf($["${goaway}" = "V3" ]?blacklisted,s,1)
>>>
>>> but I just got another spammer (automated calls) who rotates his callerID
>>> number that starts with valid area code so blocking by prefix is not
>>> practical but it seems to me he uses the same (or few same) caller name
>>> like:
>>>
>>> "Brit. Columbia "" <16047726633>"
>>> "KHAN SHARON "" <16042984429>"
>>> "Brit. Columbia "" <16042231781>"
>>>
>>> So I was thinking the same subroutine can be used to block by
>>> CALLERID(name), isn't it:
>>>
>>> exten => 4,n,Set(goaway2=${CALLERID(name):0:11})
>>> exten => 4,n,GotoIf($["${goaway2}" = "Brit. Colum" ]?blacklisted,s,1)
>>> exten => 4,n,GotoIf($["${goaway2}" = "KHAN SHARON" ]?blacklisted,s,1)
>>>
>>> The spammer is soliciting lowering credit card interest charges etc.
>>> anybody
>>> know who it is :-/
>>>
>>> --
>>> Joseph
>
>
> --
> _____________________________________________________________________
> -- Bandwidth and Colocation Provided by http://www.api-digital.com --
> New to Asterisk? Join us for a live introductory webinar every Thurs:
>               http://www.asterisk.org/hello
>
> asterisk-users mailing list
> To UNSUBSCRIBE or update options visit:
>   http://lists.digium.com/mailman/listinfo/asterisk-users



-- 
Chris



More information about the asterisk-users mailing list