Well, i've done this before with Visual Basic, a modem, and a phoneline.
I'm sure theres fancier ways of doing it now but when i did it I used the 'Telocator Access Protocol'.
A list of the direct dial servers' phone numbers are available
here.
The packet specifications can be found
here.
It's really really easy to do, especially with VB6. Unfortunately i'm not at the computer right now with the source code on it, but it wasn't much to look at anyhow, really the code that actually sends the string was no more than 20 lines.
enjoy... its really a fun way of doing it... especially since... how often do you get to direct dial to a computer anymore?
-q