Re: [MMUSIC] draft-ivov-mmusic-trickle-ice-sip-00

Emil Ivov <emcho@jitsi.org> Thu, 25 July 2013 22:32 UTC

Return-Path: <emil@sip-communicator.org>
X-Original-To: mmusic@ietfa.amsl.com
Delivered-To: mmusic@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 12DF921F8F29 for <mmusic@ietfa.amsl.com>; Thu, 25 Jul 2013 15:32:40 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3.48
X-Spam-Level:
X-Spam-Status: No, score=-3.48 tagged_above=-999 required=5 tests=[AWL=0.119, BAYES_00=-2.599, RCVD_IN_DNSWL_LOW=-1]
Received: from mail.ietf.org ([12.22.58.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id NhQRYnuerMlC for <mmusic@ietfa.amsl.com>; Thu, 25 Jul 2013 15:32:36 -0700 (PDT)
Received: from mail-wg0-f49.google.com (mail-wg0-f49.google.com [74.125.82.49]) by ietfa.amsl.com (Postfix) with ESMTP id 9A0E821F8E3D for <mmusic@ietf.org>; Thu, 25 Jul 2013 15:32:35 -0700 (PDT)
Received: by mail-wg0-f49.google.com with SMTP id y10so1497965wgg.4 for <mmusic@ietf.org>; Thu, 25 Jul 2013 15:32:34 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=message-id:date:from:organization:user-agent:mime-version:to:cc :subject:references:in-reply-to:content-type :content-transfer-encoding:x-gm-message-state; bh=+KWhVM1iEjgojC1iRTU9KHvZ+rtHXQ3V5speXF+KEFE=; b=D6IglI3t9oND3ueiXJRVQQngj37UkuivNlEE12DikgnsCdvInJ7yDkMJQLGabpS0bi pC+JG/bzcsWJ8JqwHP8jBnHM+jQEkD3WgAE7wA0aYdST6PxFXPygH7wXdlnJpXMlXU91 VTnKJHN0k9JiJ9UqIAR5FgGBXEDm6oXSbz1PkjyD0B+OixIzqLnY8tFA4QirB5H+9R7t qS5kl/f4LbI9K5uJTifPmxki2JjJWX5zCqAP48CNrNaTkYL8fByUEtvpeYlHDPLQ+1eG Omr/Prm1+bvaIKa/s2+eIflaJoHW2PhzseGcf70d+EmCRJgxBznuzKFJT9l3NEZu3GY9 B67Q==
X-Received: by 10.194.1.226 with SMTP id 2mr21952898wjp.91.1374791554618; Thu, 25 Jul 2013 15:32:34 -0700 (PDT)
Received: from camionet.local ([2a01:e35:8a55:abc0:fd7b:1632:360c:32df]) by mx.google.com with ESMTPSA id d8sm934146wiz.0.2013.07.25.15.32.32 for <multiple recipients> (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Thu, 25 Jul 2013 15:32:33 -0700 (PDT)
Message-ID: <51F1A77F.10608@jitsi.org>
Date: Fri, 26 Jul 2013 00:32:31 +0200
From: Emil Ivov <emcho@jitsi.org>
Organization: Jitsi
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.8; rv:17.0) Gecko/20130620 Thunderbird/17.0.7
MIME-Version: 1.0
To: Paul Kyzivat <pkyzivat@alum.mit.edu>
References: <51F15BC0.2000401@alum.mit.edu> <7594FB04B1934943A5C02806D1A2204B1C408F15@ESESSMB209.ericsson.se> <51F17512.8090700@jitsi.org> <51F184E8.40406@alum.mit.edu> <51F18DA9.1080509@jitsi.org> <51F19C9A.3040706@alum.mit.edu>
In-Reply-To: <51F19C9A.3040706@alum.mit.edu>
Content-Type: text/plain; charset="ISO-8859-1"; format="flowed"
Content-Transfer-Encoding: 7bit
X-Gm-Message-State: ALoCoQkR7uxDIDF9g5PDfikzK75H/wKq3BUBurJLXh1HElDp7A0hjpFklI2TqOpX0fzawm+kM44E
Cc: IETF MMUSIC WG <mmusic@ietf.org>, Christer Holmberg <christer.holmberg@ericsson.com>
Subject: Re: [MMUSIC] draft-ivov-mmusic-trickle-ice-sip-00
X-BeenThere: mmusic@ietf.org
X-Mailman-Version: 2.1.12
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: Thu, 25 Jul 2013 22:32:40 -0000

Hey Paul,

On 25.07.13, 23:46, Paul Kyzivat wrote:
> On 7/25/13 4:42 PM, Emil Ivov wrote:
>
>>>>> On 25.07.13, 19:09, Paul Kyzivat wrote:
>>>>>
>>>>> Section 4 says that trickled candidates are transported as INFO
>>>>> payloads
>>>>> containing SDP formatted according to ivov-mmusic-trickle-ice. But
>>>>> AFAICT that draft doesn't specify this.
>>>>
>>>> Well, it just borrows the format from 5245 and says that this is how you
>>>> represent trickled candidates.
>>>
>>> But all of that assumes a full SDP body.
>>
>> I don't see how the syntax of an "a=candidate" line depends on the full
>> SDP body, so I don't see the problem with just pointing there. Again, I
>> mean this only about syntax.
>
> My point is that 5245 never suggests that ICE will be represented in SDP
> in anything but a full SDP body.
>
> If you said that you were proposing to send subsets of SDP as described
> in 5245, that would make some sense.

The section that deals with this is 9.1

http://tools.ietf.org/html/draft-ivov-mmusic-trickle-ice-00#section-9.1

The intention is exactly what you describe above.

> (As long as you specify how to
> select the subset.)

The subset is an "a=candidate" line. I don't think select is the right 
word here though. You just encode an ICE candidate, as you would encode 
it for an SDP offer or answer.

>>>>> Also the example in this section
>>>>> shows an info payload that contains only a subset of SDP, and doesn't
>>>>> conform to mime type application/sdp.
>>>>
>>>> Yup, should be application/sdpfrag.
>>>
>>> Well, AFAIK there is currently no such mime type. So its necessary to
>>> define it.
>>
>> This is the point of the draft I pasted above:
>> http://tools.ietf.org/html/draft-ivov-dispatch-sdpfrag-00
>>
>> Of course, it does need more work (by the way, help there is more than
>> welcome so if you want to join just let me know).
>
> Oh, duh. That slipped right by me. But of course it is incomplete.
>
> I could help, once I understand what it needs to say.

Great!

> The first decision is:

Did you miss something here?

>>> And while you could define a generic one, you have some specific
>>> requirements about what this needs to contain, so you might want to
>>> define application/trickle-ice-sdp with all the requisite rules.
>>
>> The original idea (which I believe came from Adam) was that this could
>> be avoided in a way similar to how application/sipfrag does it. I
>> basically specifies syntax (as a SIP subset) and leaves semantics to
>> specs that are using it, like for example 3515
>>
>> Do you see any reason why this couldn't work here?
>
> Its a choice. In the case of sipfrag, IIRC it was defined for use with
> 3515. In that it isn't crucial what is in it. So it works there.
>
> In your case what goes in it is more critical. It can still be defined
> this way. But it will take some care to get it right.
>
> The main thing is that it be done somewhere!

Agreed!

> Can an INFO trickle ICE candidates for more than one m-line?

Yes.

> If so, it gets messy. Consider a full SDP:
>
> ...
> m=...
> a=mid:1
> a=candidate:...
> ...
> m=...
> a=candidate:...
> a=mid:2
> a=candidate:...
>
> (AFAIK the above is entirely legal.)
>
> Now consider a sipfrag for trickle from the above:
>
> a=mid:1
> a=candidate:...
> a=candidate:...
> a=mid:2
> a=candidate:...
>
> Now, which candidates go with which m-line? So, I think your sdpfrag
> needs special constraints that don't apply to ICE in full SDP.

I think the problem with the above is that you are trying to present it 
as an extract from some pre-existing offer or answer, while it isn't.

When you are trickling you find yourself in a situation where you have 
one or more newly learned candidates. You want to send those to the 
remote agent.

To do this you group them by stream (as in "m=" line). For each group 
you start by creating an "a=mid:x" attribute that matches the one from 
the "m=" line that created the stream. You then create and append 
"a=candidate" lines for every candidate in that group.

That's it.

The receiving peer does the opposite: it parses the "a=mid:x" line, it 
finds the stream object that it refers to, then parses all the 
candidates and adds them there.

Does this make sense?

Emil


>
> 	Thanks,
> 	Paul
>
>> Emil
>>
>>>>> Section 5.6 again references the trickle-ice draft (section 4) for
>>>>> definition of the body of the info message, but that section of that
>>>>> draft doesn't contain any such definition.
>>>>
>>>> Will need to fix.
>>>>
>>>>> Aside from that, it occurs to me that trickle-ice, and for that matter
>>>>> ice in sip even without trickle, is a good candidate for preconditions.
>>>>> The use of preconditions could eliminate the need for half trickle.
>>>>> This
>>>>> would of course require a new precondition type, but that is doable.
>>>>
>>>> Hmmm ... that's a good point!
>>>>
>>>>> By using preconditions, you can establish the dialog without alerting
>>>>> the callee. Then the alert can be deferred until at least one workable
>>>>> path has been detected.
>>>>>
>>>>> (But I suppose the hate for preconditions is so great that this is not
>>>>> to be considered.)
>>>>
>>>> Well, it doesn't have to be mandatory ...
>>>>
>>>> Emil
>>>>
>>>>>
>>>>>            Thanks,
>>>>>            Paul
>>>>> _______________________________________________
>>>>> mmusic mailing list
>>>>> mmusic@ietf.org
>>>>> https://www.ietf.org/mailman/listinfo/mmusic
>>>>
>>>
>>> .
>>>
>>
>
>

-- 
https://jitsi.org