Aaron Clauson wrote:
> ICE (which is STUNv2 and TURN) may be better at handling NATs but it
> requires TURN for the cases that STUNv1 couldn't handle and TURN isn't
> a signalling solution. In my humble opinion if proxying media is the
> answer why not just multiplex the media and the signalling in the
> first place, aka IAX & Skype, and avoid the need to implement ICE (yes
> multiplexing means scalability suffers but so does TURN). I always
> find these sorts of discussion ironic, ALGs were introduced to help
> SIP deal with NAT but because they generally make such a mess of
> things they are now one of the reasons to introduce ICE, a fix for a
> fix for a fix; RFC3261 not handling NAT being fixed by ALGs being
> fixed by ICE.

ALGs are bad, ALGs bundled with STUN-capable clients are the worst thing
that can happen. Full-ACK on this. We all know that RFC3261 didn't take
care of NAT issues. All complaints on this fact will not help - I'd
suggest to look forward instead. ICE, SIP-OUTBOUND and other well done
documents are showing us the way to go.

ICE is a really good thing. It would allow you to run a hosted PBX on
public internet for many phones behind a single NAT, leaving all RTP
streams for internal calls within that very same internal network. By
"hosted PBX" I do NOT mean Asterisk, but something really able to route
SIP: you could use a few proxy servers to scale out, maybe equipped with
a B2BUA layer for some special features...

There are available SIP Proxy implementations able to understand ICE and
to add relay canditates on-the-fly. At least the latest OpenSIPS /
MediaProxy releases can do so, give them a try. They would allow you to
seriously scale out. With them, UACs do not even need to gather relay
candidates using classic TURN mechanisms. I cannot immagine a better and
more scalable solution than ICE-capable UACs provided with local,
reflected and relay canditates.

Btw: STUN as of RFC5389 is able to detect (many) ALGs. However as far as
I remember it does not tell us what an UAC shall do if it does so ;-)

> I appreciate it's a somewhat philosophical debate and doesn't answer
> your original question so I'll stop while I've only put one foot in
> it.

Thank you ;-) Anyone else?

The original question was: how should an UAC able to do nothing but STUN
as of RFC3489 behave, if it discovers itself being behind a symmetric
NAT?

a) ignore this fact and use nonetheless the reflected information it
   retrieved using STUN (IP:Port...)
b) do NOT use this information, leave SIP and SDP as it would sit on
   public internet, filled with information from it's very own local
   sockets

I'd strongly opt for b), however there are implementations doing a). So
where can I point them to prove that b) is better?

Regards,
Thomas Gelf


-- 
 mail: tho...@gelf.net
  web: http://thomas.gelf.net/

_______________________________________________
Sip-implementors mailing list
Sip-implementors@lists.cs.columbia.edu
https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors

Reply via email to