I would like to connect my Arduino Uno to a telephone line in order to answer a call, record a sequence of DTMF tones, generate a DTMF tone in response, and hang up.
The telephone line uses a standard RJ11 connector. When a touch-tone phone is connected to the line, it receives one of two rings:
- a standard ring, which signals an incoming call
- a shorter "two-ring" sequence which signals a call from a local intercom
I would like my Arduino to listen for the "two-ring" sequence and only answer those calls.
How would I go about connecting my Arduino to the telephone line? Is there a shield designed for this purpose? I know I can use the tone()
function to generate the DTMF tones, but I'm assuming I would need to perform some form of Discrete Fourier transformation in order to "read" the DMTF tones from the other end of the line.
Any suggestions would be appreciated.