In this project I wanted to experiment with controlling devices from my cell phone remotely using the touch-tone keys. I didn’t want to tie up my current landline of pay for a new one, so I started looking at VOIP boxes that I might be able to use. Most VOIP boxes require you to subscribe to a Service Provider and pay a monthly fee, which I wanted to avoid.
First of all I needed a way to connect my project to the telephone company line. Fortunately I had an old telephone autocoupler from CircuitWerkes that I had built many years ago. An auto coupler listens for an incoming ring, picks up the line and holds the line open until either end hangs up. It also isolates the telco line from your device which is a telco requirement. Commercial autocouplers are relatively expensive devices. CircuitWerkes still makes them, as does Comrex for between $160 and $300. You’ll need an autocoupler or another way to connect to the phone line to receive the touch-tone signals for further decoding. A much simpler option would be to connect into the audio between your telephone and handset, but that requires some method of taking the phone off-hook, which is difficult to do remotely. A third option, though not for the inexperienced, would be to hack an old telephone for the autocoupler circuitry.
As for the VOIP interface, my research led me to OBiTalk.com and its support of Google Voice.
Obi makes a number of VOIP boxes for home and office depending on the number of phone lines and additional features, and works with most of the major Service Providers. I selected the Obi200 which has one phone port and has a USB port for use with WiFi or Bluetooth. The cost was $50 through Amazon, but you could probably get by with the Obi100 which does not have the USB port for $40.
I received my Obi200 and connected it to my router. The next step was to get a Google Voice number. I already had a Google account so it was easy to setup Google Voice. The most difficult part was finding an unused number in my area code. The nice thing is a Google Voice number is free! If you already have an existing phone number you want to use, OBi support has a tutorial that will guide you through the two-step process of porting a non-mobile number to Google Voice. Once your number is ported, you can eliminate your current monthly fee and use this number on the OBi with Google Voice.
If you do nothing else at this point, you already have everything you need to talk to anyone in the US and Canada for free. There are no ongoing costs after the initial $50 investment in the Obi200.
There are a lot of DTMF decoder chips on the market, the most popular being the MT8870. I found a great device online at http://www.futurlec.com/Mini_MT8870.shtml. It is about 2 inches square and costs $13. It plugs into a standard telephone handset with an RJ-11 or connected directly to a mobile phone’s audio output. The board easily connects to most microcontrollers or Arduino Boards and even comes with a CD containing an Arduino sketch. With the Arduino it can be used to switch on lights, close doors, turn on watering systems from anywhere, using a phone line.
I directly connected the MT8870 DTMF Receiver Mini Board to the Obi200 and called my Google Voice number.
The phone rang four times and I got the Google Voice Mail message. In order to bypass that message I needed to configure the phone coupler to pick up before the forth ring. Fortunately that was easy to do as there was a jumper for that purpose on the CircuitWerkes autocoupler. The next time I called it worked perfectly and I was able to send touch tones to the decoder board. I hooked the decoder up to an Arduino giving me the ability to trigger relays.