2009/1/4 Aymeric Moizard <jack(a)atosc.org>rg>:
Ok, I
simplified too much. Other cases:
- One of the endpoints has public IP and supports Comedia mode.
- One of the endpoints has public IP and the other is behind non
symmetric NAT using STUN.
AFAIK there are no more cases in which the caller and/or callee are
behind NAT but a media proxy is not required, are there?
The problem with this is that the decision about endpoints are not
100% true:
* what about redirection?
Do you mean 3XX redirection? No problem at all. 3XX response will
generate a new INVITE in the client if the proxy doesn't do recursion.
If the proxy does recursion then it generates a new branch to the 3XX
"Contact" URI, and for each branch the need of media proxy is
computed. No problem at all.
* what about case where you have several proxy?
Yes, good point. But it's really difficult an scenario in which two
users behind the same NAT connect to different proxies.
In this case the media proxy would be enabled even if not necessary.
* What if the endpoint is detected as a non-symmetric
NAT (most
probably, you detect this on SIP signalling port.) but becomes
symmetric on the RTP port?
Life is hard XD
ICE don't need to know where you are on the
internet: it just work.
It's also capable of doing TCP/TLS connection to the TURN server
to tunnel UDP data for NAT configured to block UDP...
It sounds really nice.
What I really like is the idea of non-replacing the "Contact" header
in the proxy (described in "outbound" proxy AFAIK).
Regards.
--
Iñaki Baz Castillo
<ibc(a)aliax.net>