Actually, the modern, standardized ICE + TURN based approach works as well as Skype. Google Talk uses an early draft of it and they get the same functionality. We have that implemented in Empathy also, but only if you have a server that provides a relay, which for now means only Google Talk.