Skip to content

How To: Asterisk Robo Call Screening with DTMF Digit Press

by Jon on December 29th, 2015

If you are looking for a way of screening inbound robo calls I have a great script for you. Using a quick little app you can require inbound callers to press 1 or any digit in order for the call to ring through to your phone. Otherwise the caller gets hung up on. All the audio recordings I used are standard files included with Asterisk core or extra audio files.

See below for the context.

exten => 6175551212,1,Goto(call-screening,s,1)

exten => s,1,Answer(1000)
 same => n,Set(NUMINVALID=1)
 same => n,Set(TIMEOUT(digit)=3)
 same => n,Set(TIMEOUT(response)=3)
 same => n,Ringing
 same => n,Wait(3)

 same => n(catch-all),NoOp(catch-all-inbound-calls)
 same => n,Read(digit,privacy-unident&vm-onefor&vm-theperson,1,,2,4)
 same => n,GotoIf($["${digit}" != "1"]?i,1) ; change the 1 in quotes to the digit you want callers to press.
 same => n,Playback(one-moment-please)

 same => n,Dial(SIP/102,45,m)

 same => n(endcall),Playback(not-taking-your-call)
 same => n,Playback(vm-goodbye)
 same => n,Hangup

 same => n,Wait(1)
 same => n,Hangup()

exten => i,1,NoOp(invalid-option)
exten => i,n,Gotoif($["${NUMINVALID}" < "3"]?:call-screening,s,endcall) exten => i,n,Set(NUMINVALID=$[${NUMINVALID}+1]})
exten => i,n,Playback(option-is-invalid)
exten => i,n,Goto(call-screening,s,catch-all)

From → Linux, Tech, VOIP

No comments yet

Leave a Reply

Note: XHTML is allowed. Your email address will never be published.

Subscribe to this comment feed via RSS

%d bloggers like this: