Re: [MMUSIC] Continuous Nomination (Was: Faster ICE by role reversal?)
"Tirumaleswar Reddy (tireddy)" <tireddy@cisco.com> Sat, 08 November 2014 04:56 UTC
Return-Path: <tireddy@cisco.com>
X-Original-To: mmusic@ietfa.amsl.com
Delivered-To: mmusic@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id C11681A026E for <mmusic@ietfa.amsl.com>; Fri, 7 Nov 2014 20:56:44 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -15.095
X-Spam-Level:
X-Spam-Status: No, score=-15.095 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_HI=-5, RP_MATCHES_RCVD=-0.594, SPF_PASS=-0.001, USER_IN_DEF_DKIM_WL=-7.5] autolearn=ham
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id D5Cj_hIcMUJ1 for <mmusic@ietfa.amsl.com>; Fri, 7 Nov 2014 20:56:42 -0800 (PST)
Received: from alln-iport-7.cisco.com (alln-iport-7.cisco.com [173.37.142.94]) (using TLSv1 with cipher RC4-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id D80AA1A0263 for <mmusic@ietf.org>; Fri, 7 Nov 2014 20:56:41 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=cisco.com; i=@cisco.com; l=12522; q=dns/txt; s=iport; t=1415422601; x=1416632201; h=from:to:cc:subject:date:message-id: content-transfer-encoding:mime-version; bh=j4o6PVjog+LeWY8TuXml8JPIybHZJmYKyJMMj7CfjoU=; b=m3sLON02m66ygjQQqkYRwQFpsxRoM73ajO+ynBfN1ch3SUWhqQa6CEbo Z4Y5pLQ8OthEaEets+97smWellbs1zZYohvCbiZbGZwG6CFmcNm/C6Zk9 OTDW+Ye3UzLkB2lqNMy3oPYypECwDPW8LhYXt2K3+aYvQGuPjM1aC1vL0 c=;
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: AvgHAPKhXVStJV2Z/2dsb2JhbABWBYMOVFkEgwLITwyGeFUCHH8WAQEBAQF9hAIBAQEDAQEBASAROgsMBgEGAg4DBAEBAQICBh0DAgQfBgsUAQgJAQQBDQUIiCQDCQkNnCScX456DYZZAQEBAQEBAQEBAQEBAQEBAQEBAQEBF4EtiUiDYoFPKhAxDYJxNoEeBYRqMwKNCIRUhEpDg0Q9jTtCgmeECYN5bAGBByQcgQMBAQE
X-IronPort-AV: E=Sophos;i="5.07,337,1413244800"; d="scan'208";a="94663894"
Received: from rcdn-core-2.cisco.com ([173.37.93.153]) by alln-iport-7.cisco.com with ESMTP; 08 Nov 2014 04:56:40 +0000
Received: from xhc-rcd-x11.cisco.com (xhc-rcd-x11.cisco.com [173.37.183.85]) by rcdn-core-2.cisco.com (8.14.5/8.14.5) with ESMTP id sA84uefH004270 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=FAIL); Sat, 8 Nov 2014 04:56:40 GMT
Received: from xmb-rcd-x10.cisco.com ([169.254.15.250]) by xhc-rcd-x11.cisco.com ([173.37.183.85]) with mapi id 14.03.0195.001; Fri, 7 Nov 2014 22:56:40 -0600
From: "Tirumaleswar Reddy (tireddy)" <tireddy@cisco.com>
To: Emil Ivov <emcho@jitsi.org>, "Dan Wing (dwing)" <dwing@cisco.com>
Thread-Topic: [MMUSIC] Continuous Nomination (Was: Faster ICE by role reversal?)
Thread-Index: Ac/7EFz6NUzJiCvAQKOA1KCeBUvJNw==
Date: Sat, 08 Nov 2014 04:56:39 +0000
Message-ID: <913383AAA69FF945B8F946018B75898A28357FF0@xmb-rcd-x10.cisco.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-originating-ip: [10.70.232.155]
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
Archived-At: http://mailarchive.ietf.org/arch/msg/mmusic/DXWQIDv1UNhnl4c6SyvUViZPZBA
Cc: Jonathan Lennox <jonathan@vidyo.com>, Ari Keränen <ari.keranen@ericsson.com>, mmusic <mmusic@ietf.org>
Subject: Re: [MMUSIC] Continuous Nomination (Was: Faster ICE by role reversal?)
X-BeenThere: mmusic@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Multiparty Multimedia Session Control Working Group <mmusic.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/mmusic>, <mailto:mmusic-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/mmusic/>
List-Post: <mailto:mmusic@ietf.org>
List-Help: <mailto:mmusic-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/mmusic>, <mailto:mmusic-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sat, 08 Nov 2014 04:56:45 -0000
> -----Original Message----- > From: mmusic [mailto:mmusic-bounces@ietf.org] On Behalf Of Emil Ivov > Sent: Saturday, November 08, 2014 6:49 AM > To: Dan Wing (dwing) > Cc: Jonathan Lennox; Ari Keränen; mmusic > Subject: Re: [MMUSIC] Continuous Nomination (Was: Faster ICE by role > reversal?) > > > > On 8.11.14, 1:35, 🔓Dan Wing wrote: > > > > On Nov 7, 2014, at 2:41 PM, Emil Ivov <emcho@jitsi.org> wrote: > > > >> Hey all, > >> > >> In the context of the ongoing discussion on two potential ICE > >> improvements, I wanted to spin off this thread on the idea of > >> continuous nomination. > >> > >> So first of all, as I already mentioned in Toronto, I am very much in > >> favour of a mechanism that would allow ICE processing to yield more > >> than a single nominated pair. Back then the discussion was about > >> MPRTP but there would likely be other use cases as well. > >> > >> In that context, it seems perfectly valid to me that nomination among > >> all validated pairs can occur multiple times within a session. Again, > >> I find this to be a very valid and useful feature. > >> > >> I am however bothered by the "ICE never ends" suggestions made by the > >> document below and more specifically by the fact that candidates may > >> continue to be trickled forever. I think that's both unnecessary and > >> a problem. > >> > >> It is a problem because > >> > >> a) being able to know when the remote agent is done trickling is one > >> of the very reasons we started the work on trickle ICE. This allows > >> to quickly and deterministically detect and declare failure when it > >> occurs. Not having this would require implementations to use magic > >> timers of the sort: "Surely if I couldn't connect in .. > >> say 20 seconds ... then the situation must be hopeless ... I think". > >> > >> b) being able to continuously trickle new candidates forever and ever > >> means that they would have to be paired with all of the peer's > >> *initial* candidates. This means that ICE agents would have to > >> maintain all gathered candidates even when they are not working for > >> them. > >> > >> More importantly however, the whole concept is likely unnecessary > >> because an ICE restart only sounds scary, and it doesn't actually > >> need to be ;). > >> > >> A restart is non-disruptive as media can keep flowing while we are > >> doing ICE processing. > >> > >> 5245 already supports pair reuse and we can easily port that concept > >> to multipath ICE. > >> > >> The one thing that we might be missing today is the syntax to allow > >> for a restart without using offer/answer. > > > > For MICE and some other use cases, I agree that need to signal (in > > SDP) is the 'scary' part of an ICE restart. > > > >> This would be trivial to resolve: we just need to allow trickling a > >> restart command. Sending your ufrag and pwd in a trickle update > >> should do the job. > > > > That is a nice approach -- move the 'ICE restart' signaling to an > > (existing, working) media path. > > I was actually thinking of the signalling path. So for SIP this would be a SIP > INFO request with the ufrag/pwd as the sole content. A couple of a= lines > would do it for WebRTC. > > I am slightly uncomfortable about doing it on the media path because it > requires you to make the assumption that one of your media paths is certain > to survive any sort of mobility event. > > Even if you keep your TURN connection open for that purpose, how do you > know that your new location wouldn't be one where TURN-TCP is the only > way to get out of the local network? TURN Mobility can be used to solved the problem and allows client to switch-over to TURN-TCP. Only TURN works in case of Simultaneous Mobility (If both the endpoints are mobile and roam at the same time between networks.) > > Or what if you don't even have a TURN server? TURN servers could be provided by access network, application service provider or a third party provider (https://tools.ietf.org/html/draft-patil-tram-turn-serv-selection-00) and should be reachable across different networks. > > You signalling channel would be a safer bet, but more importantly, you'd > likely want to tear down your call if it didn't. > > >> To put that into perspective, let's look at the following use > >> cases: > >> > >> I. You have used the new multipath ICE and you have successfully > >> discovered a couple of working routes: one going through your wi-fi > >> interface and another one going through 4G. During your session, you > >> move closer to your Wi-Fi access point so you detect that RTT and > >> packet loss start looking better on your Wi-Fi interface. > >> > >> You decide to switch from 4G to Wi-Fi. > >> > >> *No ICE restart* would be necessary here because no new paths would > >> need to negotiated. This would be a native feature of the new > >> multipath ICE. > >> > >> II. You start on Wi-Fi in the presence of a 4G interface that you > >> keep for backup. Multipath ICE comes up with pairs over both your > >> interfaces. I don't believe this requires an ICE restart either. > >> You just switch between pre-existing path and one of them expires as > >> pointed out in Justin's document below > >> > >> III. You setup a session at a point of time where 4G is your only > >> working interface. Your Wi-Fi interface then comes up and you want to > >> include it in the game. Here's what you do: > >> > >> a) You gather host, srflx and relay candidates for the new interface. > >> b) You gather candidates on the old interface that haven't been valid > >> before but that are worth trying again (this is > >> non-essential) > >> > >> d) you then trickle a new ufrag and pwd to trigger a restart. > > > > If that trickling happens over the SIP/WebRTC/XMPP signaling channel, > > MICE would prefer not requiring that SDP signaling step or to at least > > allow it to be done later. > > Well, if you had multipath ICE, you would be able to switch your media over > to TURN (this wouldn't require any signalling) if that still works and then do > the non-disruptive restart after that to discover other paths. Yes, it's discussed in http://tools.ietf.org/html/draft-wing-mmusic-ice-mobility-06#section-3.2. -Tiru > > Would this work? > > Emil > > > > > -d > > > > > >> b) you batch trickle all currently working candidates that you'd wish > >> to preserve (you can omit any candidates you no longer wish to use, > >> for whatever reason). c) you trickle the newly gathered candidates. > >> > >> The remote party, your peer, would then do the following > >> > >> a) Gather all candidates that didn't work before but that deserve a > >> second chance. This time *this is essential*. SRFLX candiates on your > >> peer might not have worked with your 4G connection but they have > >> every chance of working this time. There are a number of other > >> scenarios where candidates would be worth retrying. > >> > >> b) Your peer would then trickle back to you all the working > >> candidates it wishes to preserve (as long as they are still valid) > >> c) It trickles all candidates it gathered for the occasion, that it > >> wishes to retry. > >> > >> Connectivity checks then proceed as usual. It might be worth paying > >> special attention to the in-use candidates. Implementations might > >> want to either confirm that data is still flowing there, or start the > >> checks with them. This would determine how urgently ICE processing > >> needs to yield results and it may imply changes in nomination > >> strategies. > >> > >> Thoughts? > >> > >> Emil > >> > >> > >> On 7.11.14, 0:44, Justin Uberti wrote: > >>> Agreed. > >>> > >>> I wrote up a slightly more fleshed-out proposal at > >>> > https://docs.google.com/document/d/1P1XPCRJKBkSjwCzIIEUJmp7V694_FzJ > Q > >>> e-fvN8bk-Xw/edit > >>> > >>> > >>> > On Thu, Nov 6, 2014 at 3:29 PM, Martin Thomson > <martin.thomson@gmail.com > >>> <mailto:martin.thomson@gmail.com>> wrote: > >>> > >>> On 6 November 2014 13:47, Justin Uberti <juberti@google.com > >>> <mailto:juberti@google.com>> wrote: > >>>> I looked into how MICE works; I think that continuous nomination > >>>> might be able to effectively support that use case, as well as the > >>>> case that Brandon was interested in, namely picking the route that > >>>> uses the best set of TURN servers. > >>> > >>> > >>> I've always believe that continuous ICE operation was the only way > >>> to ensure proper reliability. Multipath or otherwise. You just > >>> need to work out when it is safe to completely stop on any given > >>> pair, assuming that you don't want to be testing the complete mesh > >>> all the time. But you also might want multiple paths available, or > >>> maybe backup paths. > >>> > >>> > >> > >> -- https://jitsi.org > > > > > > -- > https://jitsi.org > > _______________________________________________ > mmusic mailing list > mmusic@ietf.org > https://www.ietf.org/mailman/listinfo/mmusic
- Re: [MMUSIC] Continuous Nomination (Was: Faster I… Tirumaleswar Reddy (tireddy)