Robert Hajime Lanning wrote:
> 
> 
> SIP doesn't really work over NAT. The recommendation in the Asterisk
> community is you have the Asterisk server on a public IP, then the
> clients (soft or hard) can be behind NATs.  And all media (RTP) is run
> through the Asterisk server (canreinvite=no), not directly to the peer. 

I have very little experience with SIP, but my understanding is that it is 
very similar to xmpp, which I have more experience with, as a matter of fact, 
I suspect the p2p protocols negotiated by SIP and XMPP are the same, typically 
guided more by what the clients can accept.

Anyway, NAT is a problem for any p2p that is not tcp based, and voice and 
video tend to be udp... But, there are work-arounds, such as STUN which work 
quite well.

One thing that I have found interesting: I have major problems running my own 
STUN server, never quite got it running. Turns out that OpenFire (an xmpp 
server) implements its own STUN server. I tried to use it but had the same 
issues.. Eventually I read the small warning above the enable box (yeah, who 
rtfm, really ‽), and it says that the stun server can only work with two ip 
addresses on the public internet. I only used one, so I turned that off, and 
pointed to a public stun server (who fund those? all of them seems to be 
aliases to an amazon EC2 node!), and my problems were solved. I haven't had 
time to read the STUN RFC yet, but I have a feeling a lot of people run into 
this problem, most stun servers do not document the fact that they need more 
than one ip on the public internet.


> So, in this case SIP is more of a client/server model, than peer2peer.

Yes, using a server as a proxy is bad, making your packets potentially 
traveling many thousands of extra kilometers. STUN should solved that issue.

Not that with xmpp + stun (should be the same with sip), I've done the 
following without any problem:


me ---> nat --> internet
xmpp server (in another city) --> internet
stun server residing on EC2 -->internet
google talk --> internet
other --> nat --> internet

the initial call, using xmmp, goes:
me --> nat --> xmpp server --> gtalk --> nat --> other

Then they (the clients) negotiate, and decide to use the stun server briefly 
to established that they are NATed and find out their actually public ip + 
"punching a whole" the respective firewalls, then:

me --> nat --> nat -- other


I have even tried this: shutdown the xmpp server after the communication was 
established, IM stopped working (it's server based) but the voice call wasn't 
affected at all, since once it is established, it is truly p2p. I didn't 
shutdown the xmpp server for the sake of it, I am not that bored, but was 
trying to change some settings that necessitated to shut it down to take effect.

Anyway, NAT shouldn't be a problem with IPv6, right?

-- 
Yves.                                                  http://www.SollerS.ca/


_______________________________________________
Discuss mailing list
Discuss@lopsa.org
http://lopsa.org/cgi-bin/mailman/listinfo/discuss
This list provided by the League of Professional System Administrators
 http://lopsa.org/

Reply via email to