Ringing old phones from amplified audio - Amplification issues

Having read the article posted by @jremington, this may be overkill. An accurate sine wave is probably not required. A simple square wave of the same frequency may work just as well. The Arduino tone() function may produce a suitable signal, but on many models of Arduino the lowest frequency for that is 31Hz, so if you need 20Hz, some other code will be needed. Other models of Arduino may allow tone() to go lower than 31Hz.