Asterisk PBX Telemarketer Traps
Here you will find dialplan snippets and audio files for two Asterisk based Telemarketer Traps:
- Lenny
- Asty Crapper
Lenny
Lenny is everyone's favorite senile old man. Back in 2017, the author of Lenny posted the history of the recordings to Reddit's r/itslenny subreddit. He even addresses Reddit with a new recording on Soundcloud at https://soundcloud.com/user-138243492/lenny-says-hi-reddit-for-2017
You can read it here under "Lenny's history and why he isn't Creative Commons". The author goes into the history of the recordings and why he hasn't released it under the Creative Commons license (spoiler, wants to keep his anonymity).
Files
Dial plan config
Original
; Lenny the telemarketer and annoying call trap.
[Lenny]
exten => s,1,wait(1)
same => n,Log(VERBOSE, Caller ${CALLERID(all)} being passed to Lenny, poor sucker.)
same => n,Wait(1)
same => n,Ringing
same => n,Wait(3)
same => n,Answer()
same => n,Wait(2)
same => n,Set(i=${IF($["0${i}"="016"]?7:$[0${i}+1])})
same => n,Playback(Lenny/Lenny${i})
same => n,BackgroundDetect(Lenny/backgroundnoise,1500)
same => n,Hangup()
Variant 1
Another variation of the above. Uncomment the ExecIf line to record the calls
[Lenny]
exten => talk,1,Set(i=${IF($["0${i}"="016"]?7:$[0${i}+1])})
; same => n,ExecIf($[${i}=1]?MixMonitor(${UNIQUEID}.wav))
same => n,Playback(Lenny/Lenny${i})
same => n,BackgroundDetect(Lenny/backgroundnoise,1500)
Variant 2
The following will work on older versions of Asterisk
[Lenny]
exten => s,1,Answer()
exten => s,n,Log(VERBOSE, Caller ${CALLERID(all)} being passed to Lenny, poor sucker.)
exten => s,n,Wait(2)
exten => s,n,Ringing
exten => s,n,Wait(3)
exten => s,n,Answer()
exten => s,n,Wait(2)
exten => s,n,Set(i=${IF($["0${i}"="016"]?7:$[0${i}+1])})
exten => s,n,Playback(Lenny/Lenny${i})
exten => s,n,BackgroundDetect(Lenny/backgroundnoise,1500)
exten => s,n,Hangup()
Remix
u/jzsmart3 on Reddit from the Lenny topic above posted a "remix" for those who call again. You can read about this here: https://www.reddit.com/r/itslenny/comments/5lcfwq/comment/dd8p7h4/?context=3
[Lenny-second]
; Map New Sequence:
; 1 - 1: Hello, this is Lenny.
; 2 - 9: Sorry, again.
; 3 - 10: Could you say that again please?
; 4 - 2: Sorry, I can barely hear you there.
; 5 - 10: Could you say that again please?
; 6 - 6: Sorry, what was your name again?
; 7 - 9: Sorry, again.
; 8 - 10: Could you say that again please?
; 9 - 9: Sorry, again.
; 10 - 12: Sorry, which company did you say you were calling from again?
; 11 - 8: I'm sorry, I couldn't quite catch you there. What was that again?
; 12 - 9: Sorry, again.
; 13 - 2: Sorry, I can barely hear you there.
; 14 - 10: Could you say that again please?
; 15 - 9: Sorry, again.
; 16 - 16: Well that does sound good, you have been patient with the old man here. [...] Ducks
exten => talk,1,Set(i=${IF($["0${i}"="016"]?7:$[0${i}+1])})
same => n,Set(j=${i})
; Remap any differences
;same => n,ExecIf($["${i}"="1"]?Set(j=1))
same => n,ExecIf($["${i}"="2"]?Set(j=9))
same => n,ExecIf($["${i}"="3"]?Set(j=10))
same => n,ExecIf($["${i}"="4"]?Set(j=2))
same => n,ExecIf($["${i}"="5"]?Set(j=10))
;same => n,ExecIf($["${i}"="6"]?Set(j=6))
same => n,ExecIf($["${i}"="7"]?Set(j=9))
same => n,ExecIf($["${i}"="8"]?Set(j=10))
;same => n,ExecIf($["${i}"="9"]?Set(j=9))
same => n,ExecIf($["${i}"="10"]?Set(j=12))
same => n,ExecIf($["${i}"="11"]?Set(j=8))
same => n,ExecIf($["${i}"="12"]?Set(j=9))
same => n,ExecIf($["${i}"="13"]?Set(j=2))
same => n,ExecIf($["${i}"="14"]?Set(j=10))
same => n,ExecIf($["${i}"="15"]?Set(j=9))
;same => n,ExecIf($["${i}"="16"]?Set(j=16))
same => n,Playback(Lenny/Lenny${j})
same => n,BackgroundDetect(Lenny/backgroundnoise,1500)
They are using same => n,Set(DB(lenny/${CALLERID(num)})=1)
to keep track of repeat callers.
Asty Crapper
The Asty Crapper is something I found referred to on Reddit one day when looking up something in r/itslenny. It is an old (and crude/NSFW) telemarketer trap that was released under the GPL.
The original website is long gone, but you can find it on the Wayback Machine at https://web.archive.org/web/20110317063218/http://www.linuxsystems.com.au/astycrapper/