[Adium-devl] Voice/Video NAT traversal problem
joe at sirg3.com
joe at sirg3.com
Sun Apr 8 06:56:33 UTC 2007
I'm no expert on this stuff, so if I'm wrong...
> Perhaps I need to understand the problem facing Adium correctly. We
> need to be able to have an Adium client look up its own public IP and
> port number so that it can transmit it to whatever protocol requires
> that information. Do I have that right?
Yes, if it's going to make a separate connection and assuming the other
client is connecting in to us.
> Essentially, my confusion boils down to this. If many protocols
> support some aspect of Voice/Video, they must have a way to assist in
> setting up and tearing down these connections.
Some don't. Look at iChat's voice chat -- I don't think it works behind
firewalls or routers (last I checked, which admittedly was a while ago).
> Wouldn't having a server
> in between clients allow us to bypass the NAT traversal problem
> altogether, since the public IP data can be just be discovered on both
> ends, transmitted to both sides via the central server, and then do
> some sort of requesting to open mapped ports in the NATs?
Well, a centralize server to get the public IPs would work... but you're
still not going to get through the NATs/firewalls. An option would be to
have a middle-man server be responsible for connecting the clients - both
would connect to it and transmit data that way. However, that would
require a ton of bandwidth and users to trust the middle-man.
Skype takes a rather novel (if not evil) approach to this - it uses a peer
to peer system.
http://www1.cs.columbia.edu/~library/TR-repository/reports/reports-2004/cucs-039-04.pdf
http://www.secdev.org/conf/skype_BHEU06.handout.pdf
-- Joe Ranieri
More information about the devel
mailing list