...ring a phone number, then what? Establish a connection with another modem? Hang up? Say "Please, don't hang up, this is not a sales call."? Wait for a beep, and leave a message? Talk about sex for a half a day?
The short answer is yes, but to know how, we need to know what kind of telephony devices you have attached to the machine which will run the program. If you have a modem connected to a phone line it could be as simple as issuing an "AT" command like "ATD 1555123456" using the Java communications API ( http://java.sun.com/products/javacomm/ ).
More interesting would be to be able to have a telephone system that doesn't blow up when inundated with calls. All those people disappearing into telephone infinity stuck on a loop with some old biddie going 'Hang on ... we have a waiting queue of ten years'.