How can I connect an Arduino to a phone line such that, when a call rings, the Arduino will 'answer' and be able to respond with (touch) tones and, if possible, 'hear' touch tones as well for 2-way communication? Is it possible to only answer on double rings?
I saw this page on a similar topic, but that does not describe answering with an Arduino.
Best Answer
The page you link to references the Cermetek CH1817-LM Direct Access Arrangement Module. It provides a simple interrupt pin for Ring Detection, while handling some of the more complex POTS interfacing. They just didn't implement it.
The rest is simple. You just need a DTMF decoder and encoder.
Actually, the page gives you everything you need, just need to adjust the code for your own use.
Alternatively, you could use some other chips. TI's TCM1520A RING DETECTOR for ring detection. Or take apart a Answering Machine or older isa/pci 56k modems. The older, the bigger the ICs and better documented.