A recipe for disaster — or at least telemarketers.

We’re getting more and more telemarketing calls lately.  Quite a while ago, we would get calls almost daily trying to con us into buying worthless “extended warranties” on our cars, or promising to reduce our credit card debt.  How they planned to reduce it below zero is a puzzler.  Well, it would be, but the answer is — they’re just thieves.  Dregs of the earth, operating with impunity out of that haven for con artists and thieves, the great state of Florida.  Anyway, the scum who were behind that operation were eventually caught and sent to jail for apparently very short terms.  The calls have started again, with a vengeance.

So here’s the scenario.  You’re sitting at home and a call comes in.  Caller ID is almost always out of state (often GA or FL).  The CID name is something generic or is missing altogether.  You answer it and get a recorded robo-call pitching some scam designed to separate suckers from their money.  Nothing lost, except your time and a little aggravation, right?

When I’m feeling ambitious, I try to get a live person on the phone. I’ve learned that it is completely useless to ask them politely or impolitely not to call.  They don’t care.  They’re already breaking MANY laws.  So, I’ll play along long enough to get either a web site or a number where I can call them back to sign up for whatever crappy scam they have.  The old “Oh, I need that, but I don’t have my wallet with me and I’m on the john – can I call you back or sign up on line?” usually works.  Armed with that bit of information I file formal complaints (which can be done on line) with the FCC and the FTC.  I also have sent many letters to state Attorneys General, but they seem to be routinely ignored.  The last time I did that for a year or so, I got a nice letter from the Justice Department telling me that I might be needed as a witness int he scumbags’ criminal prosecution, but it was unlikely.  THAT was a nice letter to get.

Anyway, I’m not always that ambitious, and I’d like to be able to squelch these calls permanently and let someone else fight the fight for a round or two.  So the question becomes — how do you know which calls to not answer?

Enter Asterisk.  Asterisk is a free, software based PBX that runs on Linux.  It gives you the ability to make your phones do pretty much anything a very expensive, incredibly powerful business phone system would do.  In fact, you could use Asterisk to run your own phone company with a little time and patience.  Voicemail, transfers, conference lines, automated services like time, weather, wake-up calls, remote control of appliances, messages delivered via email, FAX to email gateway, call forwarding to your cell phone, the list goes on and on.  All that can get complicated, but right now we just want to do something pretty simple – screen and reject calls.  Asterisk lets us do it with style.

So I started working on a system to look at the caller ID on an incoming call and try to make a decision whether to pass it along to a human or not.  The first stage is call screening.  If the caller ID is blocked, or if the number is valid but the name says something like UNAVAILABLE or UNKNOWN, the system will answer the call, ask the caller to say their name, and put them on hold.  It then rings the phones in the house.  We get a voice telling us that there is a call, and plays back whatever the caller recorded as their name.  We then have several options:

  1. Accept the call, remember the number and always accept calls from that number.
  2. Send them to voicemail, now and any time they call.
  3. Send them to a very impolite message telling them not to call.
  4. Send them to a very polite message telling them not to call.
  5. Send them to voicemail now, but allow the call through in the future.

I actually have our set so that options 3 & 4 both simply send the three tones that say “the number is not in service”, and hang up.  #3 also adds their number to the blacklist, so we will never even know if they call again.

Part of the nice magic here is the blacklist.  We can blacklist any particular phone number, or the last number that called.  A blacklisted number’s calls will never be answered — the caller just gets a message from their phone company (or one that sounds like it, depending on how the call comes in) telling them that the number could not be reached.  We never even know the call came in.  I am also immediately rejecting certain NPA/NNN (the area code and first three digits of the phone number) that I know are invalid and signal a telemarketer call.  For instance, if you see a number like 305-000-1234 on your caller ID, you know it’s faked.  There are no 000 numbers in the country.  Those calls get dumped before they even reach us, as will 111, 555, 999 and a number of other area codes and prefixes.

So far I’ve been testing this out on my VOIP lines that I use for work and for HamGadgets.  I haven’t been getting any telemarketing calls on those yet, but when the new Gigaset base arrives I’ll be able to do the same for our home phone line.  Stay tuned, kids, and I’ll show you how to un-private blocked caller IDs.  🙂