[Adium-devl] Voice/Video NAT traversal problem

Eitan Konigsburg eitan.konigsburg at gmail.com
Sun Apr 8 06:40:48 UTC 2007


So I was doing some research on options for NAT traversal for
Voice/Video support, and I had a couple of questions.  Perhaps someone
can help me out.

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?

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.  Which would mean that
all a client needs to do to be able to make that connection, is to
send the public IP data over the protocol.  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?  From our
point of view, isn't it just making Adium/libpurple implement the
Voice/Video portions of the supported protocols after implementing
something to get the public IP data?  Is there any documentation on
how each protocol handles this?

Perhaps I am oversimplifying the problem or have it completely wrong.
Help anyone?

Eitan




More information about the devel mailing list