Using Asterisk to Stop Robocallers
summary
Uses Asterisk with a BeagleBone Black and a Grandstream HT503 ATA, provisioned by Vagrant and Ansible, to answer after two rings, grab caller ID over the FXO port, and run a Lua dialplan challenge: play a greeting, speak a random digit 0–9, read one pressed key, and forward to the FXS port only if it matches. Numbers that pass get written to Asterisk’s database whitelist; the demo records a successful whitelist entry and live forwarding.
AI-written summary · about
chapters (24)
- 0:00Intro
- 2:05My epiphany
- 2:29My solution
- 3:12Hardware
- 7:42Vagrant
- 8:39Provisioning
- 14:53Dialplan in Lua
- 15:53Extensions in Asterisk
- 21:50Internal Extensions
- 22:36Dial Application
- 23:21Handling Incoming Calls
- 24:14Getting Caller ID
- 25:36Asterisk Database
- 26:15DB exist
- 26:48Answer the call
- 27:25Playback a file
- 27:38Get a random digit
- 27:55Say the number
- 28:26Read one digit
- 28:55Robot check
- 30:00Robot check code
- 32:19Managing the Whitelist
- 34:01Improvements
- 34:33Book
related talks
50mWinning the Battle Against Scam Calls – How We Mitigated Caller ID Spoofing
53mCall Me: Gathering Threat Intelligence on Telephony Scams to Detect Fraud
30mAutomating Multi-Factor Authentication
54mLifecycle of a Phone Fraudster: Exposing Fraud Activity
51mKnowing The Robocallers: Illegal Call Centers And Efforts To Stop Them
20mReverse engineering a Viking VOIP phone protocol with Claude Code
30mMITM On PSTN: Novel Methods For Intercepting Phone Calls
29mAuthentiCall: Efficient Identity and Content Authentication for Phone Calls
