Do you have any experience with networking? If not, a good place to start would be the Java Tutorial. Presumably you will want a GUI to go with your application so you should dig into Swing. Personally, I'd try to get a text chat app working first. Working with voice is going to add a layer of complexity above and beyond just sending text messages. The Java Media Framework is how Java interacts with sound and video, so that would be your next step.