[prev in list] [next in list] [prev in thread] [next in thread] 

List:       sip-implementors
Subject:    Re: [Sip-implementors] Cannot hear voice with symmetric NAT and STUN
From:       Richard Barnes <rbarnes () bbn ! com>
Date:       2013-02-28 22:14:15
Message-ID: A46A5D3C-2BB0-4C30-9977-A517D763F560 () bbn ! com
[Download RAW message or body]

When you say "SIP server", do you mean a proxy, or something like a B2BUA?

If you use ICE, there shouldn't be any need for the "SIP server" to modify the SDP.  \
The endpoints should be able to exchange and test candidates directly.



On Feb 28, 2013, at 11:57 AM, Khoa Pham <onmyway133@gmail.com> wrote:

> Hi Richard, thanks for the response.
> 
> When A call B. The INVITE message will go through SIP server. And this SIP server \
> can modify the media address in SDP. 
> When both A, B use STUN. The INVITE message SDP contains the media address A \
> obtained through STUN, and SIP server does not modify it. So that B will then send \
> rtp packet to this address, hence cause no voice 
> But when either A or B use STUN. This SIP server modify the the media address to \
> the address of RTP server. This case A can hear B and vice versa 
> Why is that ?
> 
> 
> On Thu, Feb 28, 2013 at 8:59 PM, Richard Barnes <rbarnes@bbn.com> wrote:
> Hi Khoa,
> 
> > Hi, I have Kamailio as SIP server and RTP server. Client is PJSIP.
> > 
> > I read that STUN is for non-symmetric NAT, and RTP server is for symmetric
> > NAT.
> 
> You are correct that an "RTP server" (also called a "TURN server") is usually \
> necessary in the case of symmetric NAT.  For some illustrations, see this slide \
> deck: <http://www.viagenie.ca/publications/2008-09-24-astricon-stun-turn-ice.pdf>
> 
> Your client will have to gather TURN candidates and send them to the other side \
> during ICE negotiation. 
> 
> > Supposed A calls B.
> > 
> > If A, B both use symmetric NAT and STUN, they cannot hear each other
> 
> In this case, if you only use STUN, media will fail.  (I assume "they cannot hear \
> each other" means RTP isn't going end to end.)  You need to use an RTP server (== \
> TURN server). 
> 
> > If A or B use non-symmetric NAT and NOT using STUN, they cannot hear each
> > other.
> 
> In the case of non-symmetric NAT, you still need to use STUN.  NOT using STUN will \
> only work if there are no NATs. 
> 
> > I read http://tools.ietf.org/id/draft-takeda-symmetric-nat-traversal-00.txt
> > for Prediction Failure, is that related to this problem ?
> 
> That is a very old document, and does not look technically sound.  In particular, \
> predicting next port numbers will usually not work, because NATs can assign port \
> numbers in any order they want.  I would start with the ICE RFC, and work from \
> there: <http://tools.ietf.org/html/rfc5245>
> 
> Good luck!
> 
> --Richard
> 
> 
> 
> -- 
> Khoa Pham
> HCMC University of Science
> Faculty of Information Technology


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


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic