Are you using NAT? Are you looking for free service?
If you are using NAT, that will lead into issues of what type of NAT you are using. i.e. full cone, port restricted cone, symmetric etc… If you have XP and windows messenger you can use uPNP on various devices to get the calls working. OR you would have to get public IP addressing OR you could buy a firewall with the proper protocol ALG.
You could always go with Windows messenger on the PC with a microphone and make calls through MSN.net. OR you could go to http://www.vovida.org and get an open source proxy and use windows messenger to make calls between various endpoints assuming the proxy knew the addresses of the remote endpoints.