Subject: [Ietf-behave] TURN Issue #7: Forking interactions

From: Jonathan Rosenberg <[email-masked]>
Date: Mon, 5 Dec 2005 12:41:55 -0800 (PST)

The way TURN works right now, you can only have a single correspondent 
for media streams if you want to avoid the TURN encapsulations. This is 
because there can only be one active destination.

This has interesting interactions with forking. If a SIP INVITE forks, 
and you get back multiple 200 OK, each with a single media stream, the 
caller has to handle that. To avoid encapsulation, it would have to do 
an additional TURN allocation for each forked branch after the first, 
and issue a re-invite to modify the media destination to use that new 
allocated address. Also, after the first 200 OK, it cannot immediately 
issue a set active destination; it needs to wait a little bit to see if 
there are any more 200 OK coming.

There are a few options here:

1. change nothing; just document this use case in a section that talks 
specifically about SIP interactions

2. allow for multiple active destinations. This would be a sizeable 
change in the protocol, requiring that encapsulation always be used, and 
probably requiring a different encapsulation technique

Given how common multiple 200 OK is in practice right now (not much), 
this strikes me as a corner case for which a non-optimal solution is OK. 
As such, I would propose #1.

Thanks,
Jonathan R.
--
Jonathan D. Rosenberg, Ph.D.                   600 Lanidex Plaza
Cisco Fellow                                   Parsippany, NJ 07054-2711
Cisco Systems
jdrosen@xxxxxxxxx                              FAX:   (973) 952-5050
http://www.jdrosen.net                         PHONE: (973) 952-5000
http://www.cisco.com