Re: [MMUSIC] Trickle ICE for SIP Questions

"Cullen Jennings (fluffy)" <> Wed, 24 July 2013 03:29 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id D394211E81CE for <>; Tue, 23 Jul 2013 20:29:03 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -110.599
X-Spam-Status: No, score=-110.599 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, RCVD_IN_DNSWL_HI=-8, USER_IN_WHITELIST=-100]
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id W2wxhiy1eLc9 for <>; Tue, 23 Jul 2013 20:28:59 -0700 (PDT)
Received: from ( []) by (Postfix) with ESMTP id EE8A511E81C7 for <>; Tue, 23 Jul 2013 20:28:53 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;;; l=3343; q=dns/txt; s=iport; t=1374636539; x=1375846139; h=from:to:subject:date:message-id:references:in-reply-to: content-id:content-transfer-encoding:mime-version; bh=4gHWefjD8horLG6sx2XThc33VIfC/k0tJ2CX0Pe/1w4=; b=dCc6uCXH9ZBG1Bjo+Hc6UrtBZ2OYA/W/vwAm1J8LH4cOop+whNBfko+a XtQbkvtIkh5zixhDPr3XdjxfY9eJ+KfWm4+f75r4S4p5hekIvVnj2WNpo KDuKyjq83oIH7fdU05eM+PH92zPu2dWQsTGtSBOJk+edlSPv1SfGV+HyA w=;
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-AV: E=Sophos;i="4.89,732,1367971200"; d="scan'208";a="238578750"
Received: from ([]) by with ESMTP; 24 Jul 2013 03:28:53 +0000
Received: from ( []) by (8.14.5/8.14.5) with ESMTP id r6O3Sqoc014949 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=FAIL); Wed, 24 Jul 2013 03:28:52 GMT
Received: from ([]) by ([]) with mapi id 14.02.0318.004; Tue, 23 Jul 2013 22:28:53 -0500
From: "Cullen Jennings (fluffy)" <>
To: Emil Ivov <>, MMUSIC IETF WG <>
Thread-Topic: [MMUSIC] Trickle ICE for SIP Questions
Thread-Index: AQHOiB3rsesO7v/XCUiNMNrfupXiAQ==
Date: Wed, 24 Jul 2013 03:28:52 +0000
Message-ID: <>
References: <>
In-Reply-To: <>
Accept-Language: en-US
Content-Language: en-US
x-originating-ip: []
Content-Type: text/plain; charset="us-ascii"
Content-ID: <>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Subject: Re: [MMUSIC] Trickle ICE for SIP Questions
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Multiparty Multimedia Session Control Working Group <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Wed, 24 Jul 2013 03:29:03 -0000

I prefer the 180 resend approach and all the right things are already looking at them.  I have always objected to mandating use of PRACK. Obviously I'm fine with things that have PRACK can use it but I want some solution for things that don't. 

One small note, the SDP in the 180 can change as long as the to-tag is also changed. 

On Jul 3, 2013, at 8:13 AM, Emil Ivov <> wrote:

> Hey all,
> Christer, Enrico and I are preparing the next version of Trickle ICE for SIP. Now that discussions on BUNDLE and the plans seem to be winding down, we wanted to run a few questions by the working group.
> Q1: Making reliable provisional responses and PRACK mandatory. Obviously this would be nice to avoid, so the question is: is there a reasonable mechanism to achieve this (and by reasonable, we mean something that wouldn't be harder than implementing support for PRACK).
> There was some discussion about this back in April and there was a suggestion for implementing a 5245-style hack where the answerer basically resends the 180 until it knows that it has been received.
> 5245 uses connectivity checks for this (i.e. it stops 180 retransmissions when the first connectivity check is received) but we don't have that option here since the 180 may contain either none or only host candidates so there are strong chances that no binding request would be received on them.
> Thomas also suggested a second option which would be to also use INFO requests with trickled candidates as an indication that 180 was received. This however wouldn't work with half trickle so we are basically back to vanilla ICE for all (non-re) INVITEs.
> Another option would be to mandate an INFO request with "end-of-candidates" in response to the 180, but that would be just the same as mandating PRACK support.
> Thomas also suggested that the answerer can start sending INFOs right after it sends its answer in the 180 and then it can just resend the 180 if the INFOs result in a 481 response.
> Personally I think this could potentially be made to work, but it would imply a level of complexity that considerably exceeds PRACK support.
> Opinions?
> Q2: How do we send INFOs? Are they blocking or do we just send them in parallel? If the latter, then what happens when an INFO fails because it is received out of order? Do we just tell the application to resend the candidates asap?
> This also leads to the following question:
> Q3: What exactly do we send in INFOs? Just the latest batch of freshly learned candidates or all candidates we've learned so far? Dale suggested that if we do this cumulatively we wouldn't need to worry about the case with the out-of-order INFOs from Q2 since the information gets resent anyway. A drawback here would obviously be that this adds more complexity for trickle ICE users (WebRTC applications specifically)
> A third option would be to allow both and leave it to the application.
> Comments are most welcome!
> Emil
> -- 
> _______________________________________________
> mmusic mailing list