I also am unable to find any thing on C++ programming when it comes to networks.
By "networks", I assume you mean networking. C++ does not have any networking stuff built-in, just as its parent C did not. Its designed to be modular in the sense that you import the stuff you need. That said, almost all OSes out there have a winsock.h or equivalant. For VOIP work, you may need to go a little more system-level, as I don't think you can do UDP using sockets (I may be wrong...been a long time since I did C++). In any light, depending on the plateform (Windows, OSX, linux, etc) there should be tons of documentation on how to open and close network connections.
If you go the C/C++ route, my suggestion would be develop your communications stuff as a generic library, then use that library on whatever GUI(s) you develop. This way you can write the core systems once and just reuse it over and over.
I dont think Java, Ruby or Python are very good for a professional server/client VOIP program.
I am not sure why you think this, but Java can be used very successfully for client/server anything. I work for a VERY large bank, and we use a lot of Java code for everything from ECommerce, to B2B, to accessing systems of records. One of the nicer things about Java is that it has built in memory management. It also has thousands of plug-in extensions, and I even believe there are some to do VOIP for you.
Given the number of RPC-type protocols out there (SOAP, CORBA, RMI, etc, etc), you could even go so far as to write the server side in C/C++ or something else, and just do the client side in Java. Keep in mind, a socket is a socket is a socket. If you put a byte of data in on one side, its still the same byte on the other.