Asterisk 101 Uses: Telemarketer Torture

Note: You can play or download the MP3 audio of the “Telemarketer Torture” calls towards the end of the article.


When I first started working with VoIP, I began to hate telephony, and any and all things telephone related. This bothered me on many levels. You see, as a kid, I loved telephones. Growing up in the “big city,” pay phones seemed to be on every corner. Family stories talk about walking several blocks extra, just to avoid me seeing and wanting to play with a phone. But, as usual, I digress…

When I worked with an unnamed switch (let’s just say it rhymed with Broadmoft), I hated working with VoIP. I knew there had to be a better way and started playing with Asterisk. Soon, my memories of playing with phones started coming back and my love rekindled. Now, I look forward to working with phone systems, only because I truly feel that the use of a phone can only be limited by your imagination. And with companies like Twilio, Adhearsion, and Digium, the community of telephone developers seems only to grow.

With that long winded introduction, let’s discuss today’s topic — telemarketer torture. I, like every other person I know, receives the random yet continual undesired telemarketer call (yes, I’m on the DND databases and let’s not get into that). Thanks to Asterisk, I can send my telemarketers to a little place I call the Annoyatron.

Now, many developers and users implement their own version of Telemarketer Torture. Some like using IVR’s. Some like endless ringing. Personally, I like to keep them on the line for a long time. You see, since I add numbers to the Annoyatron after they call me, by the time they reach the Annoyatron they have already called and wasted my time at least once before. So, instead of just having them hang up and move on to the next home, I like to see if I can keep them talking for a while. My Goal? At least 2 minutes.

I use Asterisk’s “WaitForSilence” command to keep my torture conversational. When there’s a pause, the Annoyatron will play a file. While the telemarketer speaks, the Annoyatron will patiently wait. You put it all together, and wala — the Annoyatron Telemarketer Torture.

Today, I received unwanted calls regarding long distance to India. I added the number to the Annoyatron and well, the results of their continued calls no longer annoy me. Here are two examples:

Listen to Call 1:

Audio clip: Adobe Flash Player (version 9 or above) is required to play this audio clip. Download the latest version here. You also need to have JavaScript enabled in your browser.

(or you can download the MP3)

Listen to Call 2:

Audio clip: Adobe Flash Player (version 9 or above) is required to play this audio clip. Download the latest version here. You also need to have JavaScript enabled in your browser.

(or you can download this MP3, too)

Ok, so here’s an example of how you would write the dialplan in Asterisk:

[annoyatron]
exten => s,1,Answer()
exten => s,n,Wait(2)
exten => s,n,Playback(annoy/annoy-hello)
exten => s,n,WaitForSilence(2200)
;...
; record a file for "your side" of the conversation
; wait for silence, and then play it
; lather rinse repeat
;...
exten => s,n,Hangup()

Simple, no? Just one of the reasons Asterisk allowed me to enjoy working with telephones. Awwww. :)

We’d love to hear about your fun examples with Asterisk. And you know, Leif Madsen is requesting some ideas for Asterisk Recipes himself.

Asterisk is free, open source software provided under the GNU General Public License (GPL). Asterisk is the most popular open source software available, with the Asterisk Community being the top influencer in VoIP.

Why free? It’s just how Digium rolls. They really take that GPL open source to heart.

35 thoughts on “Asterisk 101 Uses: Telemarketer Torture

  1. You want to know what is REALLY weird? The fact that I just built something almost exactly the same today.

    Except I took it a bit further. I ended up recording several prompts, such as,

    “Oh ok”
    “Ummmm… sorry?”
    “Sorry, I missed that”
    “Oh cool!”

    etc….

    Then using the RAND() function, I randomly pick a prompt to play every time the WaitForSilence() moves on. Then I add some needed pauses, and next time around play a different prompt.

    (I even added a check to make sure I don’t play the same prompt twice in a row)

    If you wanna try it out, dial my ISN (http://www.freenum.org) at 666*460

    I still think its weird that we independently built the same thing today :)

  2. And I just listened to the files that you had recorded, and wow, you really showed me up here :)

    I love it! What a great script! I might have to steal some of those ideas…. mwahahaha :)

  3. Pingback: Telemarketer Torture « Asterisk, and other worldly endeavours.

  4. Pingback: Telemarketers Schmelemarketers | Fred Posner dot com

  5. Pingback: Fred Posner

  6. Pingback: Fred Posner

  7. Pingback: Dave Michels

  8. Personally I do not have too much trouble with telemarketers – but for my “Get To Know Asterisk” talks I have created something similar. Not as complex as what Leif and Fred have done, but it apparently works well according to my sources:

    I transfer the caller into a infinite loop with the following:

    1) A lot of “mmm….” approval sounds.
    2) A lot of “yes, that sounds very good”.
    3) After a while I say “Opps… something is cooking over at my stove – please wait”.
    4) Long silence.
    5) Saying “OK, I’m back, let’s continue”
    6) GOTO step #1.

    Last year, after one of my talks, I got a mail from a guy which had now implemented this into their company PBX with the added twist of keeping count on how many times the loop where played, and to their amazement a sales representative from one of the big telcos did the loop 3 times before giving up :-)

    \Ruben

  9. Pingback: Michael S. White

  10. Pingback: VoIP Randulo Zeeek

  11. Pingback: Fred Posner

  12. Hilarious!!!!!! That second call was hysterical. I can’t believe they kept calling you. I really like what you’ve done here. Not rude, not vulgar. A little sarcastic, but I think that’s fine.

  13. Pingback: Danielle Morrill

  14. Pingback: Danielle Morrill

  15. Pingback: Danielle Morrill

  16. Pingback: Danielle Morrill

  17. Hahahaha! The second call is hilarious!! This guy needs some patience because he started _swearing_ (in hindi) after the second silence! :)

    Hahaha :) I can’t stop laughing. He then goes towards the end of fourth silence “Chup, chup, chup, chup!” –> “Quiet, quiet, quiet, quiet!”

  18. Clever methods to annoy telemarketers have been around approximately as long as telemarketers themselves. Asterisk just made it easier for anyone with a computer and half an hour to join the fun.

    Here’s JD’s implementation of the AstCrapper 2000, complete with links to hilarious recordings: http://www.jdhaesloop.com/astcrapper2000.html

  19. This is great. I second Jon’s idea. Please, please, PLEASE post more mp3s!

    Seriously, you could devote a site to them.

  20. Pingback: Claus Witt

  21. Pingback: The last weeks Tweets | clauswitt.com

  22. Pingback: Fred Posner

  23. Pingback: Michael S. White

  24. Pingback: Fred Posner

  25. I just stumbled onto your website tonight, after three telemarketing calls in a row from the same fake number, despite each time being told to add my number to their do not call list. I got so fed up with telemarketers a number of years ago, that I planned to design my own hardware PBX specifically to thwart them, but of course never actually got around to completing it. It looks like your stuff here may be just what I need, but I was wondering if there is anything here that would run in Windows (98 through XP).

    I liked some of the ideas here, and I have few suggestions, from my own experiments in dealing with them “live.” There’s nothing that can replace live conversation for fun, but if you can fake it with software audio scripts somewhat it would be good. These should only be used when you’re sure there’s a telemarketer on the line that needs to be discouraged. Otherwise friends and innocent strangers may think you’re an idiot or have psychological problems. So here goes:

    1. The interference play. Have a TV or radio blasting in the background, and fill every gap in the conversation with “what? ….. can you speak up? what?” then after a random silence “hold on, lemme turn down the [whatever device]” and just let it run. If you get enough calls you can monitor how long they stay on the line, on average, and adjust the script to talk again soon enough to keep them on as long as possible.

    2. Speak gibberish. This is most fun live, but you can record yourself and others blabbing in some imaginary language, and build various sounding phrases. A polite, interrogative tone is best. Having another voice in the background doing the same thing makes it even more convincing.

    3. The job interview. Until we get sufficient speech recognition and artificial intelligence, this is only possible to perform live. After a seemingly pliable, friendly introduction, say something like “hey you know my cousin used to do this stuff, and made a pretty good buck at it, but he said it was hard …” “So, uh, where are you guys actually located – what city?” “How about the hours? It must be [ ] PM in your time zone….” “Do you need special training for this?” “Are you guys hiring right now?”

    4. The silent treatment. If CID indicates it’s a telemarketer for sure, go off-hook with silence. If they break the silence and offer a greeting, wait for the next silence and then play your standard message like “please add this phone number to your do not call list.” Then go silent for about 2 seconds, then “thank you” and hang up. Another variation of this is to just play FAX machine answering tones – really loud.

    That’s all for now. I will study all of the stuff at your website and maybe be able to put something together. Thanks.

  26. Hilarious!!!!!! That second call was hysterical. I can’t believe they kept calling you. I really like what you’ve done here. Not rude, not vulgar. A little sarcastic, but I think that’s fine.

  27. Pingback: Tom Giles

  28. Brilliant! I’ve gone and done a similar thing, but probably taken it way too far. Basically I’ve extended the ‘payload’ of the Annoy-a-tron to integrate with some Firebird SQL databases and also to Curl against known lists of tele-spammer web sites (e.g. 800callnotes.com, whocallsme.com, etc.) so that I can build a profile of the incoming calling number. I have a manual ‘blacklist’ and ‘annoyers’ database table set and built a full web based interface for managing this. If I elect to put an incoming call on the Annoy list, they get subjected to the Annoy-a-tron. Works brilliantly.

    What I’d like to do, however, is to record the entire call when something comes in on the annoy-a-tron. This is not only for my own amusement, but also so that I can judge how effective this is for keeping the tele-spammers on the phone as long as possible. Like you, I believe that if we can make this as painful and cost inneffective for them, they might start to rethink the whole intrusion thing that they are doing in the first place. But it really comes down to keeping metrics on call length, and tweaking the scripts to have them stay on the call as long as possible. I think you’ve done an awesome job of exposing some tricks to do this, and I’m looking to take this much further if I can.

    Forgive my ignorance, but how are you recording the entire call? Is this something Asterisk can do easily?

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>