Uploaded by hitech444

Call-Blocker-Telemarkter-Stopper

advertisement
technology
workshop
craft
home
food
play
outside
costumes
Call Blocker / Telemarketer Stopper
by rjkorn on November 27, 2015
Table of Contents
Call Blocker / Telemarketer Stopper . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1
Intro: Call Blocker / Telemarketer Stopper . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2
Step 1: Finding a Caller ID Chip . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3
Step 2: Making Sense of the Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5
Step 3: Schematic and Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6
File Downloads . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6
Step 4: Assembling the Shield . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6
Step 5: Power it Up . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8
Step 6: Mounting It . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9
Step 7: Testing It . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
Step 8: The Future? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Related Instructables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Advertisements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
Comments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
http://www.instructables.com/id/Call-Blocker-Telemarkter-Stopper/
Author:rjkorn Korn's Tidbits
Disclaimer: The author is not responsible for loss of life, limb or property. The author is not responsible for your actions. The author is not responsible for
anything. In fact, the author is completely irresponsible. You should see some of the stuff he does. It's amazing he hasn't blown up the neighborhood yet.
Don't listen to him.
Intro: Call Blocker / Telemarketer Stopper
Some days it seems like the phone never stops ringing. The caller ID always says "Toll Free Call" or some other nonsense. I wanted a way to just drop these calls. I was
going to use an Arduino to watch the caller ID and answer each one of these calls. I was looking at Audio recorder modules but then I got a Linkit One. With it's built in
audio mp3 player it was perfect.
Best part is if you play the official "This number has been disconnected" message most telemarketer dialing machines recognize hose three tones at the beginning and
remove you from their active dial list......
http://www.instructables.com/id/Call-Blocker-Telemarkter-Stopper/
Step 1: Finding a Caller ID Chip
I use a VOIP system in my house but it supplies standard caller ID signaling on its POTS lines. If your going to use this one the PSTN you may want to go with an FCC
approved interface or just grab an old US Robotics modem but I don't have to worry about that so I chose the HT9032D. I got these from Tayda Electronics. Really cheap
but they only stock the surface mount package. You could pay more and get a dip package from another supplier but I had some oddball adapter boards on hand....
I used a blank Shield prototype board to hold all the parts. I had some RJ-11 connectors and 600 ohm matching transformers in the parts cabinet. I have a habit of buying
stuff like this in bulk.....
http://www.instructables.com/id/Call-Blocker-Telemarkter-Stopper/
http://www.instructables.com/id/Call-Blocker-Telemarkter-Stopper/
Step 2: Making Sense of the Data
A long time ago I got a development board from MeLabs called the Lab-XT. It was for pic microcontrollers and had support chips for DTMF and CallerID. I was surprised
that no one really has any examples for the Arduino world. There is one out there repeated many times but it just didn't work for me.
Using the MeLabs Caller ID info page as a guide I set out to build a simple state machine to parse the incoming packet. It may not look simple but I tried to stretch things
out so you can follow along in the code. I only implemented the MDMF since that's whats in my house. The SDMF is simpler but don't have an actual dump to go by.
If somebody sends me a terminal log of an SDMF message I add it to the code. I can replay dumps into the decoder to test it.
And that's the first thing to do. Get a data dump. I used a Prolific USB to serial breakout board to monitor the data out pin. I used Putty to log a few calls and Midnight
Commander to view the log in HEX. There are plenty of other terminals and viewers. Use your favorite.
There is a lot of noise on the line but there is no mistaking those 30 U's in a row. Just in case I miss some I test for > 25 U's received. I then look for the 0x80 identifier of
the MDMF packet. This is where you would look for a 0x04 if you wanted SDMF decoding.
I then save the packet length so I know when were done.
There are 5 message ID's to watch for and I process each one separately. It ends with a check sum but I ignored that for now. Maybe later. I'd rather see a garbled name
than an error message....
The date message seems to be local to the provider. One local voip server was off by 1hr but that was a daylight savings error on the server itself.
I tried a couple of different providers and the messages do not always come in the same order. Sometimes its "Date - Name - Number" and on others it was "Date Number - Name". YMMV
http://www.instructables.com/id/Call-Blocker-Telemarkter-Stopper/
Step 3: Schematic and Code
There are a lot of parts here but its really a very simple set of circuit blocks. A transistor driving a relay from a digital I/O pin, an analog modem chip and support
components, a header for an I2C display, plus the usual decoupling capacitors and protection diodes.
I planned out a circuit board for the shield but I haven't had time to verify the design yet. I added a power jack for a future project with this shield. I may make a few for my
friends......
File Downloads
callBlocker.ino (7 KB)
[NOTE: When saving, if you see .tmp as the file ext, rename it to 'callBlocker.ino']
Step 4: Assembling the Shield
I hand wired the prototype. It may not be pretty but it works. If I get some quiet time I'll work on Version 2. I am making two different boards. One for the Dip chip version
and one for my oddball wired adapter boards. The blue post-it shows the odd pin-out of these adapters.Be careful what you buy on eBay.....
http://www.instructables.com/id/Call-Blocker-Telemarkter-Stopper/
http://www.instructables.com/id/Call-Blocker-Telemarkter-Stopper/
Step 5: Power it Up
Since I planned to tap off an existing PC power supply I use in my home monitoring system I got a floppy drive molex power connector from an old worn out PC fan. Just
make sure you swap the power pin from the +12V side to the +5V side.
http://www.instructables.com/id/Call-Blocker-Telemarkter-Stopper/
Step 6: Mounting It
I have an old alarm case on the wall in the basement. It houses a PIC micro-controller monitor board that communicates back to my server through an IP to Serial
converter. It's been there for over a decade now and probably could use an update. There maybe a second Linkit One going in this cabinet soon......
http://www.instructables.com/id/Call-Blocker-Telemarkter-Stopper/
Step 7: Testing It
I added a define at the top for debugging. If you set it to true it waits for the serial console before it starts up.
There is also an I2C port on the bottom You can connect an LCD with an I2C backpack. if your making a tabletop version this may be a nice feature to have.
The debug output follows the machine state and shows the length of each message. I probably should put the "if (debug" thing around every serial.print but I'm lazy and it
doesn't seem to bother the Linkit One
Right now its simply one message on a hard coded list. Just add more to the blocked callers function. You can use a separate message for each blocked number
With the capabilities on the Linkit One I can easily upgrade this to use the SD card and keep a log of all calls.And add a csv file of blocked numbers vs mp3 file names.
Just have to write a routine for handling the csv files then maybe a web update form.....
With a unique message for each number I can be sure that the more annoying the caller is the more appropriate will be the message they get!
http://www.instructables.com/id/Call-Blocker-Telemarkter-Stopper/
http://www.instructables.com/id/Call-Blocker-Telemarkter-Stopper/
http://www.instructables.com/id/Call-Blocker-Telemarkter-Stopper/
http://www.instructables.com/id/Call-Blocker-Telemarkter-Stopper/
Step 8: The Future?
What more is there?
I really didn't like the small display. I changed it to use a 20x4. A little bit better but I still will run it headless. This makes it more useful as a tabletop device.
Lately, I noticed that Community Blood Service calls me three times in a row for every blood drive. Maybe a block on the number of calls per day? Since were all type O
they seem to like us but I only need one call since we do talk to each other.
Maybe add a second relay to drive a piezo siren to give a local alert for high priority callers. It wouldn't pick up and play them anything just wake me up or get my
attention over the noise in my shop.
Related Instructables
Linkit one
sensor tutorial
by Dushyanta
LinkIt One
LinkitONE LCD
tutorials - #11
Game! by
HC-SR04
ssarthak598
Ultrasonic
Distance Sensor
by gregoryfenton
Things
Protector using
LinkitONE by
BharathRam
http://www.instructables.com/id/Call-Blocker-Telemarkter-Stopper/
LinkIt One
Bluetooth Outlet
by ZachB7
LinkIt One
DHT11
Webserver by
Volthaus
Electronics
Laboratory
Advertisements
Comments
http://www.instructables.com/id/Call-Blocker-Telemarkter-Stopper/
Download