This Java applet will play touch-tone sounds when you press the buttons. Hold your telephone receiver close to the speaker, and you can actually dial a phone number. To use the speed dial feature, type a number into the text field and press "Speed Dial!".
This applet does not use a modem to dial your phone. It just makes noise!
The Touch-Tone sounds that you hear when you dial a phone are called DTMF (Dual-Tone-Multi-Frequency) signals. Each key on your phone produces a pair of tones that makes up the standard DTMF sound for that number. The phone company's equipment hears these DTMF sounds when you press the buttons, and that's how it knows what number you want to connect to.
The DTMF sounds don't have to be generated by the phone itself. It is sufficient just to play the sounds into the phone's handset. This applet plays the DTMF sounds through your computer's speaker. When you hold the phone's handset near the speaker, the phone company's equipment hears the sounds coming from your speaker and connects you to the number that you requested.
I wrote this a long time ago for Java 1.1. Here is the source code: pd.zip.