Detect DTMF Tones without DTMF

I am building a project in which I am interfacing an old touch-tone telephone with my arduino. I have successfully hooked up my ardiuno to a telephone which hooked up to another telephone that the user will use. I have basically made an intercom system. I am able to generate DTMF tones with the Tone library (Google Code Archive - Long-term storage for Google Code Project Hosting.). I am using the schematics (input and output) in another post: How to correctly interface Audio In and Out (line out or headphone) with Arduino - Audio - Arduino Forum

I am looking for a library that I can use the input circuit with. I don't want to have to use a DTMF decoder unless it is the only option. I saw this post (DTMF decoder library - Audio - Arduino Forum) but the library doesn't work. I want it so that when someone presses a key on the telephone the arduino can detect which tone is pressed. Basically using the telephone as a keypad.

My first idea for this is to make a basic simon game where a random tone is played and then more and you have to keep up by memorizing it and playing it back. Another is to get the Ethernet shield and have it check my email or some other things. Lastly, I am going to make it sound like you are listening in to someone else's call.

Thanks in advance

Arduino Mega 2560 R3
Windows 8 32-bit

I don't want to have to use a DTMF decoder

I believe this is your only choice.

I am able to generate DTMF tones with the Tone library

DTMF are 2 tones not one.

Did you look at the Tone library link? It has a DTMF example.

If a DTMF Decoder is my only choice, where should I get one, what are my choices, what is the price, and what libraries should I use. Is a shield necessary? If so is it compatible with the Ethernet shield? I will use the Ethernet shield for other things.

Does the decoder generate as well as decode the tones? What voltage does my "virtual" phone line need to be? I am currently using a 9 volt battery to power both phones. The main one has a REN of 1.4B and the other a REN of 7.8.

I have used these in the past:

MK5089 Generator 2.5-10 Volts

HT9170 Decoder 5 volts

Thanks! Do you know of any libraries that are made for these? Where could I get them? Do they use Serial, SPI, I2C, etc.? Would they require any additional components?

You would probably use “port manipulation” techniques (search the forums).

You can by them on eBay, they do require separate crystals.