Re: [rtcweb] Filling in details on "trickle ICE"
Bernard Aboba <bernard_aboba@hotmail.com> Tue, 28 August 2012 03:12 UTC
Return-Path: <bernard_aboba@hotmail.com>
X-Original-To: rtcweb@ietfa.amsl.com
Delivered-To: rtcweb@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 7ACF821F848B for <rtcweb@ietfa.amsl.com>; Mon, 27 Aug 2012 20:12:55 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -102.359
X-Spam-Level:
X-Spam-Status: No, score=-102.359 tagged_above=-999 required=5 tests=[AWL=0.239, BAYES_00=-2.599, HTML_MESSAGE=0.001, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([64.170.98.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 9xuwiZiYDofS for <rtcweb@ietfa.amsl.com>; Mon, 27 Aug 2012 20:12:54 -0700 (PDT)
Received: from blu0-omc1-s28.blu0.hotmail.com (blu0-omc1-s28.blu0.hotmail.com [65.55.116.39]) by ietfa.amsl.com (Postfix) with ESMTP id 72BCB21F842F for <rtcweb@ietf.org>; Mon, 27 Aug 2012 20:12:54 -0700 (PDT)
Received: from BLU002-W161 ([65.55.116.7]) by blu0-omc1-s28.blu0.hotmail.com with Microsoft SMTPSVC(6.0.3790.4675); Mon, 27 Aug 2012 20:12:53 -0700
Message-ID: <BLU002-W161FE7AE76153E3E8A6A81293A10@phx.gbl>
Content-Type: multipart/alternative; boundary="_92527f5c-e9ac-4243-b55f-d9c7c3c400f5_"
X-Originating-IP: [24.16.96.166]
From: Bernard Aboba <bernard_aboba@hotmail.com>
To: Francois Audet <francois.audet@skype.net>
Date: Mon, 27 Aug 2012 20:12:54 -0700
Importance: Normal
In-Reply-To: <66F9C712A970F74A8376BBE53013193C0DD0C76C@tk5ex14mbxc272.redmond.corp.microsoft.com>
References: <CABcZeBMzgAs=hK38hCjS7t6yLjkTydS2TQUb8R3rBbRKGakVdQ@mail.gmail.com><CABkgnnVBBAH=HCkn_cksBs_9A_hm=VfFwcTtvOM3C7XB2h2KTA@mail.gmail.com><CABcZeBMFUFjU=FQo5LeJrcMfajeae0j+PWw5U2g5dUQNcJLWaA@mail.gmail.com><CABkgnnXiL3_U+Hci9ooDqBCsoV3KF8pwgcf9zbuN6EKZkK+aiQ@mail.gmail.com><CABcZeBNkkH93ybuMWoFg-ddKWnRgdn2Vgyb50W21A2GoMWxw6Q@mail.gmail.com><CABkgnnXQ25ZYNqeO+=FsYDR3aNvFS2zvrKWGs5o=h8m+Eq=Y+Q@mail.gmail.com><3B8DB12B-ABB3-4AC2-A0A0-93DC62C619D3@iii.ca><CABkgnnU3ecmhUwCYHmppwLJz-nbSA6=VRF7nF7wcpb+5QAWmdQ@mail.gmail.com>, , <E17CAD772E76C742B645BD4DC602CD81069D82BF@NAHALD.us.int.genesyslab.com>, , <AE1A6B5FD507DC4FB3C5166F3A05A4840E4E7B56@tk5ex14mbxc272.redmond.corp.microsoft.com>, , <E17CAD772E76C742B645BD4DC602CD81069D8500@NAHALD.us.int.genesyslab.com>, , <AE1A6B5FD507DC4FB3C5166F3A05A4840E4E7C02@tk5ex14mbxc272.redmond.corp.microsoft.com>, , <503BDC75.7050008@stpeter.im> <BLU002-W2286956624CC6600038246993A20@phx.gbl>, <503BEEFD.40301@jitsi.org> <BLU169-DS457B54FA311A048E5E68B093A20@phx.gbl>, <66F9C712A970F74A8376BBE53013193C0DD0C76C@tk5ex14mbxc272.redmond.corp.microsoft.com>
MIME-Version: 1.0
X-OriginalArrivalTime: 28 Aug 2012 03:12:53.0685 (UTC) FILETIME=[0393AE50:01CD84CB]
Cc: "rtcweb@ietf.org" <rtcweb@ietf.org>
Subject: Re: [rtcweb] Filling in details on "trickle ICE"
X-BeenThere: rtcweb@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Real-Time Communication in WEB-browsers working group list <rtcweb.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/rtcweb>, <mailto:rtcweb-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/rtcweb>
List-Post: <mailto:rtcweb@ietf.org>
List-Help: <mailto:rtcweb-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/rtcweb>, <mailto:rtcweb-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 28 Aug 2012 03:12:55 -0000
Francois said:
> Wouldn't the same mechanism as XEP-0176 work with SIP too, by sending new offer/answers with new candidates?
>
> In either cases, it is true that the "trapezoid" model makes this process more difficult than with the "triangle" model.
>
> But you don't *have* to do trickle ICE don't you, in the trapezoid scenario (especially when involving protocol mapping).
[BA] Looking at XEP-0176 Section 5.8, it does seem possible to use new offer/answers with new candidates to similar effect. Here is what Section 5.8 says:
Section 5.8 Negotiating a new candidate
Even after media has begun to flow, either party MAY continue to send
additional candidates to the other party (e.g., because the user agent
has become aware of a new media proxy or network interface card). Such
candidates are shared by sending a transport-info message.... The
receiving party MUST acknowledge receipt of the candidate. The parties
would check the newly-offered candidate for
connectivity, as described previously. If the parties determine that
media can flow over the candidate, they MAY then use the new candidate
in subsequent communications.
[BA] If ICE completed and media was already flowing, the controlling agent can generate a RE-INVITE with a candidate from the in-use pair as the default as well as additional candidates. There is no need to do an ICE restart. As described in RFC 5245 Section 8.1.2, if the additional candidate ends up in a highest-priority nominated candidate-pair, then an updated offer is sent:
* If an agent is controlling, it examines the highest-priority
nominated candidate pair for each component of each media
stream. If any of those candidate pairs differ from the
default candidate pairs in the most recent offer/answer
exchange, the controlling agent MUST generate an updated offer
as described in Section 9. If the controlling agent is using
an aggressive nomination algorithm, this may result in several
updated offers as the pairs selected for media change. An
agent MAY delay sending the offer for a brief interval (one
second is RECOMMENDED) in order to allow the selected pairs to
stabilize.
Details of the updated offer are described in RFC 5245 Section 9.1.2.2:
If an agent generates an updated offer including a media stream that
was previously established, and for which ICE checks are in the
Completed state, the agent follows the procedures defined here.
The default destination for media (i.e., the values of the IP
addresses and ports in the m and c lines used for that media stream)
MUST be the local candidate from the highest-priority nominated pair
in the valid list for each component. This "fixes" the default
destination for media to equal the destination ICE has selected for
media.
The agent MUST include candidate attributes for candidates matching
the default destination for each component of the media stream, and
MUST NOT include any other candidates.
In addition, if the agent is controlling, it MUST include the
a=remote-candidates attribute for each media stream whose check list
is in the Completed state. The attribute contains the remote
candidates from the highest-priority nominated pair in the valid list
for each component of that media stream. It is needed to avoid a
race condition whereby the controlling agent chooses its pairs, but
the updated offer beats the connectivity checks to the controlled
agent, which doesn't even know these pairs are valid, let alone
selected. See Appendix B.6 for elaboration on this race condition.
- [rtcweb] Filling in details on "trickle ICE" Eric Rescorla
- Re: [rtcweb] Filling in details on "trickle ICE" … Cullen Jennings
- Re: [rtcweb] Filling in details on "trickle ICE" Martin Thomson
- Re: [rtcweb] Filling in details on "trickle ICE" Eric Rescorla
- Re: [rtcweb] Filling in details on "trickle ICE" Martin Thomson
- Re: [rtcweb] Filling in details on "trickle ICE" Eric Rescorla
- Re: [rtcweb] Filling in details on "trickle ICE" Martin Thomson
- Re: [rtcweb] Filling in details on "trickle ICE" Cullen Jennings
- Re: [rtcweb] Filling in details on "trickle ICE" Martin Thomson
- Re: [rtcweb] Filling in details on "trickle ICE" Jim Barnett
- Re: [rtcweb] Filling in details on "trickle ICE" Martin Thomson
- Re: [rtcweb] Filling in details on "trickle ICE" Matthew Kaufman
- Re: [rtcweb] Filling in details on "trickle ICE" Jim Barnett
- Re: [rtcweb] Filling in details on "trickle ICE" Matthew Kaufman
- Re: [rtcweb] Filling in details on "trickle ICE" Peter Saint-Andre
- Re: [rtcweb] Filling in details on "trickle ICE" Bernard Aboba
- Re: [rtcweb] Filling in details on "trickle ICE" Emil Ivov
- Re: [rtcweb] Filling in details on "trickle ICE" Bernard Aboba
- Re: [rtcweb] Filling in details on "trickle ICE" Francois Audet
- Re: [rtcweb] Filling in details on "trickle ICE" Bernard Aboba
- Re: [rtcweb] Filling in details on "trickle ICE" Francois Audet
- Re: [rtcweb] Filling in details on "trickle ICE" Emil Ivov
- Re: [rtcweb] Filling in details on "trickle ICE" Emil Ivov
- Re: [rtcweb] Filling in details on "trickle ICE" Cullen Jennings (fluffy)
- Re: [rtcweb] Filling in details on "trickle ICE" Lishitao
- Re: [rtcweb] Filling in details on "trickle ICE" Magnus Westerlund
- Re: [rtcweb] Filling in details on "trickle ICE" Martin Thomson
- Re: [rtcweb] Filling in details on "trickle ICE" Justin Uberti
- Re: [rtcweb] Filling in details on "trickle ICE" Emil Ivov
- Re: [rtcweb] Filling in details on "trickle ICE" Justin Uberti
- Re: [rtcweb] Filling in details on "trickle ICE" Cullen Jennings (fluffy)
- Re: [rtcweb] Filling in details on "trickle ICE" Emil Ivov
- Re: [rtcweb] Filling in details on "trickle ICE" Christer Holmberg
- Re: [rtcweb] Filling in details on "trickle ICE" Matthew Kaufman
- Re: [rtcweb] Filling in details on "trickle ICE" Christer Holmberg
- Re: [rtcweb] Filling in details on "trickle ICE" Emil Ivov
- Re: [rtcweb] Filling in details on "trickle ICE" Christer Holmberg
- Re: [rtcweb] Filling in details on "trickle ICE" Emil Ivov
- Re: [rtcweb] Filling in details on "trickle ICE" Christer Holmberg
- Re: [rtcweb] Filling in details on "trickle ICE" Emil Ivov
- Re: [rtcweb] Filling in details on "trickle ICE" Christer Holmberg
- Re: [rtcweb] Filling in details on "trickle ICE" Emil Ivov
- Re: [rtcweb] Filling in details on "trickle ICE" Ted Hardie
- Re: [rtcweb] Filling in details on "trickle ICE" Christer Holmberg