[Adium-devl] Voice/Video NAT traversal problem

Evan Schoenberg evan at adiumx.com
Sun Apr 8 06:50:38 UTC 2007


On Apr 8, 2007, at 2:40 AM, Eitan Konigsburg wrote:

> 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?

Knowing your own public IP and port number is important, though it's  
not the solution in every case.  If you are behind a NAT and a port  
mapping can't be set up (because the router doesn't support it or  
some error occurs), that information doesn't end up being  
particularly useful... if a connection forward or backward can't be  
made, a proxy server is indeed one possible solution. That's what AIM  
does in that situation for file transfer and direct IM -- I'm not  
sure about for video.

So long as we're working in the context of libpurple (previously  
libgaim), we have a couple good tools at our disposal already.   
purple_network_get_my_ip() utilizes UPnP or NAT-PMP (whichever the  
router supports) to get a definitive public IP if possible.  UPnP and  
NAT-PMP can also be used to do port mappings; purple_network_listen 
() / purple_network_listen_range() attempt these automatically.  The  
addition of NAT-PMP leveraging Tyler Ballance's significantly  
improved my success rates with AIM file transfer, for example, since  
my Airport Express router supports that tech.

-Evan

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://adium.im/pipermail/devel_adium.im/attachments/20070408/9fe34080/attachment-0001.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: PGP.sig
Type: application/pgp-signature
Size: 186 bytes
Desc: This is a digitally signed message part
URL: <http://adium.im/pipermail/devel_adium.im/attachments/20070408/9fe34080/attachment.sig>


More information about the devel mailing list