Re: [MMUSIC] draft-ivov-mmusic-trickle-ice-sip-00
Emil Ivov <emcho@jitsi.org> Fri, 26 July 2013 00:24 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 5E8FB21F8E97 for <mmusic@ietfa.amsl.com>; Thu, 25 Jul 2013 17:24:48 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.699
X-Spam-Level:
X-Spam-Status: No, score=-2.699 tagged_above=-999 required=5 tests=[AWL=-0.300, BAYES_00=-2.599, J_CHICKENPOX_13=0.6, J_CHICKENPOX_19=0.6, 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 D8Ntc+GMKAIg for <mmusic@ietfa.amsl.com>; Thu, 25 Jul 2013 17:24:44 -0700 (PDT)
Received: from mail-wi0-f174.google.com (mail-wi0-f174.google.com [209.85.212.174]) by ietfa.amsl.com (Postfix) with ESMTP id 116E521F8DDD for <mmusic@ietf.org>; Thu, 25 Jul 2013 17:24:43 -0700 (PDT)
Received: by mail-wi0-f174.google.com with SMTP id hi5so222579wib.1 for <mmusic@ietf.org>; Thu, 25 Jul 2013 17:24:42 -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=bWuF/Jy01gRFhCv9uS2gfmiPof5whYkUhgQn3W9ErXw=; b=ddMs3yqp4XDb3ios5vkhs1UUjltqmgmqLeGW6MTV/NlovXYVrfgPCtkrq49I65WP9l 5wEaB5U07ZUqhDQqYQUeD6LqksOidX9YVIAlHN4qbpgi/ho4bED8zec1E6LWaY+eERPD D5yyB3afkm94oK12Kfpf6qj0epRHTpdYmEVEu1m/hj22FdYLCrmVzx9sW38xG07C/P3d maHAKos5zuzlWolntCNrzzjDluHmKSRpcp8JiRDEIRLhsymrPWzxsKQLP13x3Hrk9+2q /rF08SvcHsn6ydOynWHJngfkBZYgX3yenSqVHPsPgAHPqCiyX4FKez1ZigpuTFebz86v 72nQ==
X-Received: by 10.180.185.74 with SMTP id fa10mr3827775wic.26.1374798282314; Thu, 25 Jul 2013 17:24:42 -0700 (PDT)
Received: from camionet.local ([2a01:e35:8a55:abc0:fd7b:1632:360c:32df]) by mx.google.com with ESMTPSA id x6sm1265120wiy.8.2013.07.25.17.24.40 for <multiple recipients> (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Thu, 25 Jul 2013 17:24:41 -0700 (PDT)
Message-ID: <51F1C1C6.7030508@jitsi.org>
Date: Fri, 26 Jul 2013 02:24:38 +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> <51F1A77F.10608@jitsi.org> <51F1B41A.3000700@alum.mit.edu>
In-Reply-To: <51F1B41A.3000700@alum.mit.edu>
Content-Type: text/plain; charset="ISO-8859-1"; format="flowed"
Content-Transfer-Encoding: 7bit
X-Gm-Message-State: ALoCoQmkARFMH7xeYguTYJjv+LfL4AOpaAYaDBx4OFkueaYLYeZlD6l5B0fNyBLyMQMD6xyH/Wis
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: Fri, 26 Jul 2013 00:24:48 -0000
On 26.07.13, 01:26, Paul Kyzivat wrote: > Emil, > > On 7/25/13 6:32 PM, Emil Ivov wrote: >> 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. > > Maybe you intended that. But I don't find sufficient words in the doc to > determine what you mean. The words that seem to pertain to this are: > > Given that such lines do not provide a relationship between the > candidate and the m line that it relates to, signalling protocols > using trickle ICE MUST establish that relation themselves. This can > be done in one of two ways: using the m-line index, or an MID > [RFC3388]. The m-line index is a zero-based index, referring to the > Nth m-line in the SDP. The MID uses "media stream identification", > as defined in [RFC3388], to identify the m-line. > > So I'm supposed to infer that you are proposing to use a subset of SDP > from that??? No, you are not. This is the generic trickle ICE draft and it says: when using trickle with a specific protocol, make sure you match candidates to m= lines through use of MIDs. It can't say anything more here because XMPP would encode the MID value one way (i.e. using content names attributes), SIP another (using a=mid) and WebRTC apps in yet another (likely json). > Also, what does "signalling protocols using trickle ICE MUST establish > that relation themselves" *mean*? I hope the above answers your question. > Does it mean that you intend the INFO > message containing the trickle ice info in its body to specify the > m-line somewhere other than in the same body??? I don't understand this part. Didn't my previous mail clarify this? Here's an example: INFO sip:alice@example.com SIP/2.0 ... Info-Package: trickle-ice Content-type: application/sdp Content-Disposition: Info-Package Content-length: ... a=mid:1 a=candidate:1 1 UDP 1658497328 192.168.100.33 5000 typ host a=candidate:2 1 UDP 1658497328 96.1.2.3 5000 typ srflx a=mid:2 a=candidate:2 1 UDP 1658497328 96.1.2.3 5002 typ srflx a=end-of-candidates That's the entire body and there are no m= lines in it. > I would expect that the body you send would include something to do > this. If you use mid, then the syntax to do so already exists, sort of. > If you use m-line index, then it doesn't. We kind of decided not to use "m=" line index in one of the previous meetings so we are only going for MID. The draft hasn't been updated since so it still refers to "m=" line index in a few locations but they will go. >>> (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? > > I forget. It doesn't matter. > >>>>> 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. > > I thought that is what you had in mind. > > But you have said you want to use application/sdpfrag, which means it > should be viewed as a subset of a full SDP. Doesn't this apply to the INFO example that I pasted above? Why could it not be viewed as a subset of *some* valid full SDP? > And that is especially so if > you intend to reference m-lines in an SDP No, there's no such intention any more. > , but don't want to include > them. And you haven't defined any new ordering rules for lines other > than what exist for SDP. And SDP allows the ordering I show above, which > doesn't work for you. I agree that there's no such definition in the draft. I did provide example rules in a couple of paragraphs above though. Do you see a problem using this logic as basis for defining the ordering in trickle-ice-sip? > I'll also mention that I think you need to explicitly reference the SDP > offer or answer that this trickle updates. Probably by replicating the > o-line from that SDP. That's a good point. We do need this for SIP. I'll make sure we add it. > So there are some significant syntax rules that need to be followed > here. I would expect something like: > > - must start with o-line of the SDP it is updating > - has one or more "media sections" > - each media section begins with an a:mid line, referencing > a mid defined in the referenced SDP > - each a:mid line is followed by one or more a:candidate lines > ... Sounds great to me! > If going that way, then I think it is better to define a mime type that > consists of exactly this syntax, with some extensibility hooks. Are you proposing this because you think this MIME type could be reused by someone else? Personally I don't really mind. However, if we leave sdpfrag with the current intention (i.e. any SDP line or combination of lines work) and then define the specifics in trickle-ice-sip, then we have a MIME type for the a=candidate lines that come out of WebRTC browsers, should anyone every need this. Cheers, Emil > > Thanks, > Paul > >> 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
- [MMUSIC] draft-ivov-mmusic-trickle-ice-sip-00 Paul Kyzivat
- Re: [MMUSIC] draft-ivov-mmusic-trickle-ice-sip-00 Christer Holmberg
- Re: [MMUSIC] draft-ivov-mmusic-trickle-ice-sip-00 Paul Kyzivat
- Re: [MMUSIC] draft-ivov-mmusic-trickle-ice-sip-00 Emil Ivov
- Re: [MMUSIC] draft-ivov-mmusic-trickle-ice-sip-00 Christer Holmberg
- Re: [MMUSIC] draft-ivov-mmusic-trickle-ice-sip-00 Christer Holmberg
- Re: [MMUSIC] draft-ivov-mmusic-trickle-ice-sip-00 Paul Kyzivat
- Re: [MMUSIC] draft-ivov-mmusic-trickle-ice-sip-00 Paul Kyzivat
- Re: [MMUSIC] draft-ivov-mmusic-trickle-ice-sip-00 Emil Ivov
- Re: [MMUSIC] draft-ivov-mmusic-trickle-ice-sip-00 Paul Kyzivat
- Re: [MMUSIC] draft-ivov-mmusic-trickle-ice-sip-00 Emil Ivov
- Re: [MMUSIC] draft-ivov-mmusic-trickle-ice-sip-00 Paul Kyzivat
- Re: [MMUSIC] draft-ivov-mmusic-trickle-ice-sip-00 Emil Ivov