Re: TURN returning multiple MAPPED-ADDRESSes
Jon Ringle <[email protected]> Sun, 19 Sep 2004 19:45:15 -0400
| Newsgroups | gmane.ietf.midcom |
|---|---|
| Message-ID | <[email protected]> |
I had changed the name of elements in the diagram but hadn't updated some of the description below: s/Home NAT/NAT A/g s/Firewall NAT/NAT B/g Thanks, Jon On Saturday 18 September 2004 11:17 pm, Jon Ringle wrote: > Hello, > > I have been studying ICE, STUN, and TURN. I believe that I have come up > with a theoretical scenario where TURN in it's current incarnation would > have a problem. Perhaps there is another way to solve the problem I > describe below? > > Consider the following topology: > > +--------+ +----------+ > > | | | / \ | > | > | PC | /SIP \ > | > | | /Phone \ > | | / 102 \ > > +--------+ ------------ > > +--------+-------+ > > | NAT A | > | Symmetric | > > +----------------+ > > | DSL, Cable > > --+-------------+-- > /////// \\\\\\\ > /// \\\ > > | Internet | > > \\\ /// > \\\\\\\ /////// > ---------+--------- > > 192.0.2.1 > +------------+ > > | NAT B | > > ---------------------| Symmetric |-------------------------- > > | No hairpin | > > 10.0.0.0/16 +------------+ DMZ > > > > +---------+ +---------+ > > | | | TURN/ | > | > | Proxy | | STUN | > | > | | | Server | > > +---------+ +---------+ > 10.0.1.1 > > ........................................................... > > > +----------+ > > | / \ | > > /SIP \ > /Phone \ > / 101 \ > ------------ > > The following properties apply to the devices: > SIP Phone 102: > Initiator > Configured to use TURN/STUN server at 192.0.2.1 > > NAT A: > symmetric > > NAT B: > symmetric, no hairpin. > Forwards 5060 to Proxy. > Forwards 3478, 5556, and range of UDP ports for RTP to TURN/STUN Server. > > SIP Phone 101: > Responder > Configured to use TURN/STUN server at 10.0.1.1 > > Both 102 and 101 will collect a set of local, STUN and TURN derived > addresses. However, when 101 does it's connectivity checks on the derived > addresses supplied by 102, none of them will succeed. The local address > will obviously not work. 101's attempt on STUN on 102's STUN derived > address will not succeed because the Home NAT is symmetric. 101's attempt > on STUN on 102's TURN derived address (192.0.2.1:xyz) will also not work > because Firewall NAT does not support hairpinning. > > The scenario could work if the TURN server had a way of returning multiple > MAPPED-ADDRESSes for a single Allocate request. Then the following could > happen: > > 1) SIP Phone 102 requests TURN Allocate. > 2) TURN server Responds with 2 MAPPED-ADDRESSes: 192.0.2.1:xyz and > 10.0.1.1:xyz > 3) SIP Phone 102 now has 2 TURN derived addresses to offer SIP Phone 101. > 4) SIP Phone 101 could attempt STUN on TURN derived address 10.0.1.1:xyz > first based on the fact that it is itself a part of a net-10 network > (although this does not guarantee connectivity, but would result in a > shorter path than the other TURN derived address in the case where NAT B > did support hairpinning). 5) SIP Phone 102 successfully contacts SIP Phone > 101's STUN server. > > Thanks for taking the time to review this idea. If there is a way to > accomplish this already with the current proposed drafts, kindly point me > in the right direction. > > Jon > > _______________________________________________ > midcom mailing list > [email protected] > https://www1.ietf.org/mailman/listinfo/midcom