The company I work for recently upgraded their phone system. They got a new IP phone system that can supposedly do everything – the new phones have big LCD screens with fancy menus, lots of different modes, PC connection for remote control of the phone, e-mailing voice messages, and tons of other features. All that said, there was a critical piece missing from the picture – a way to dial a stored number while already in a call. This is a feature I use often – I’m using a calling card to call home and I need to first dial the 800 number and then send my calling card pin number. Well, believe it or not, the cool new phones with all the fancy software couldn’t do this and I had to switch back to pencil and paper! “We will include this feature in release 8.0 or possibly 8.5” was the response from the phone company. Yeah right, like I’m going to wait for 8.5!
So, here is the obvious solution – a dialer box that connects to the phone and can be used to store and dial phone numbers, pins, credit card numbers and what not. The circuit uses a NTE1690 DTMF dialer chip and a PIC16F690 microcontroller.
Because this is an IP phone and I cannot just send the DTMF tones over the line, the easiest place to plug in the box is between the phone and the handset. The box has two RJ9 ports at the back – one gets connected to the headset’s port on the phone, the other to the headset itself. The dial tones are sent over the microphone line. This way, it works both on IP-phones, and on standard (old fashioned, non-IP) ones.
Here is the thing, assembled and put in an old network transceiver box:
For more detail: DTMF Phone Dialer using PIC16F690