Re: [MMUSIC] Comment on SIP Trickle ICE based on INFO draft
Christer Holmberg <christer.holmberg@ericsson.com> Sun, 30 March 2014 22:00 UTC
Return-Path: <christer.holmberg@ericsson.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 6CA641A07DC for <mmusic@ietfa.amsl.com>; Sun, 30 Mar 2014 15:00:51 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.901
X-Spam-Level:
X-Spam-Status: No, score=-1.901 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, SPF_PASS=-0.001] 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 5X6FrvfU_6d5 for <mmusic@ietfa.amsl.com>; Sun, 30 Mar 2014 15:00:39 -0700 (PDT)
Received: from sesbmg20.ericsson.net (sesbmg20.ericsson.net [193.180.251.56]) by ietfa.amsl.com (Postfix) with ESMTP id ECFF91A0344 for <mmusic@ietf.org>; Sun, 30 Mar 2014 15:00:38 -0700 (PDT)
X-AuditID: c1b4fb38-b7f518e000000889-26-533894026274
Received: from ESESSHC019.ericsson.se (Unknown_Domain [153.88.253.124]) by sesbmg20.ericsson.net (Symantec Mail Security) with SMTP id 20.BB.02185.20498335; Mon, 31 Mar 2014 00:00:35 +0200 (CEST)
Received: from ESESSMB209.ericsson.se ([169.254.9.213]) by ESESSHC019.ericsson.se ([153.88.183.75]) with mapi id 14.03.0174.001; Mon, 31 Mar 2014 00:00:34 +0200
From: Christer Holmberg <christer.holmberg@ericsson.com>
To: Emil Ivov <emcho@jitsi.org>, Parthasarathi R <partha@parthasarathi.co.in>
Thread-Topic: [MMUSIC] Comment on SIP Trickle ICE based on INFO draft
Thread-Index: AQHPRocL8dnxxOHFaUGVW6LszOxaAJruf3aAgAUpmQCAAElPgIAFdqWNgACWL4CAADN1hA==
Date: Sun, 30 Mar 2014 22:00:33 +0000
Message-ID: <7594FB04B1934943A5C02806D1A2204B1D26C6D2@ESESSMB209.ericsson.se>
References: <01e601cf423c$57255890$057009b0$@co.in> <00c901cf4687$0a48dbb0$1eda9310$@co.in> <CAPvvaaKW+vxhJFqUPRZ-YfPQ4dHOS-=YwZaW+=NS3DttaaXD=Q@mail.gmail.com> <013601cf4923$754b35e0$5fe1a1a0$@co.in>, <53335D95.6000806@jitsi.org> <7594FB04B1934943A5C02806D1A2204B1D26BE29@ESESSMB209.ericsson.se>, <53387EE5.3050501@jitsi.org>
In-Reply-To: <53387EE5.3050501@jitsi.org>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-originating-ip: [153.88.183.147]
Content-Type: text/plain; charset="Windows-1252"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFrrLLMWRmVeSWpSXmKPExsUyM+JvjS7zFItgg0n3eSzW7JzAYtFyx8ti 6vLHLBaTP/WxOrB4LFnyk8nj/5tAjw/zv7B7tJzrZQ9gieKySUnNySxLLdK3S+DK2PF+A3PB F7uKUx1hDYzdhl2MHBwSAiYSDY1BXYycQKaYxIV769m6GLk4hASOMkpMa3rLCuEsYZSYuq+b DaSBTcBCovufNkiDiICvxO3trcwgNrNAnMTz2VfYQGxhAReJX0s2MEPUuEp8Xb6JHcIOk7j5 ZzFYnEVAVeLx0zNMIDYv0Jy2VyBxkF1nmCQ6tv4AG8QpoCnx7fEnRhCbEei676fWMEEsE5e4 9WQ+E8TVAhJL9pxnhrBFJV4+/scK8ZiSxLStaRDlBhLvz82HulNbYtnC18wQewUlTs58wjKB UWwWkqmzkLTMQtIyC0nLAkaWVYwcxanFSbnpRgabGIFRdHDLb4sdjJf/2hxilOZgURLn/fjW OUhIID2xJDU7NbUgtSi+qDQntfgQIxMHp1QDI7v5y9UzDmQei697L/Dl7VqbFqU5F98ni7z/ 3OpcnOpgk7DtlVOsdWzN3cbT9haeSs3sjYd3B6t9fHZGSd4rIme6q/7augmVq0vE3fJfXEsJ uRtz6F/Qn67Jd9kvF2tl+QiutCxMlOCcLHDJ5e2UgJmy9luUfyvOr/ob/Pz3p7btLLN0kgtv KLEUZyQaajEXFScCAKAjaORwAgAA
Archived-At: http://mailarchive.ietf.org/arch/msg/mmusic/qSP-BdN-Hec-F9QC3y_97VFo580
Cc: 'mmusic' <mmusic@ietf.org>
Subject: Re: [MMUSIC] Comment on SIP Trickle ICE based on INFO draft
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: Sun, 30 Mar 2014 22:00:51 -0000
Hi, >> I have tried to understand the whole issue discussed here, with little success :) >> >> So, rather than trying to come up with a solution, I think we first need to agree on some basic assumptions. >> >> If we claim that Trickle ICE has no impact on the SDP O/A state, then: >> >> 1) There should be no need to figure out whether an INFO is sent before an UPDATE; and > > That's not exactly true because, like ICE, trickle ICE does depend on > O/A in order to operate. In other words: if you change your location and > do a new Offer/Answer, you don't expect vanilla ICE to magically > continue, blissfully ignorant of that fact. It needs to restart and so > does Trickle ICE. Ok, I hear what you are syaing. You need a way to indicate whether the trickled candidates are pre-restart or not. >> 2) There should be no need to include the o= line, or any other information that binds the INFO to a specific SDP O/A state. > > The main reason you need that is so that you can drop stray INFOs that > have been delayed and have arrived when the ICE processing context they > were related to is no longer valid (i.e. after an ICE restart). > > But I agree that an o= line is not the most convenient way to handle > this and using ice-ufrag and ice-pwd would be better. Or, some part of the o= line. Keep in mind that you don't need to put everything in the INFO message body. You can also define parameters associated with the info package. >>> Instead, Trickle ICE is only a mechanism to transport candidate information from one endpoint to another. >> >> Agreed. >> >> Endpoints may of course add those candidates to subsequent Offer/Answers. > >This should be clarified. I think it's not necessary. Basically an O/A >can have the following two possible relations to trickle ICE: > >1. ICE restart: (ice-ufrag and ice-pwd have changed). This basically >means that your addressing situation has most likely changed and you >need to start everything from scratch. So you do. > >2. Non-ICE session modification: you are currently doing ICE and while >you are at it, you change some aspect of your session that has >no-relation to addressing. For example, you add formats, change the >direction of a stream, or something like that. In this case trickle ICE >continues with no modification. > >Case 1 obviously doesn't need any of the trickle candidates but they can >be included if the agent is comfortable reusing them. This is compatible >with 5245 which says something like this: > > If ICE is restarting [...] the set of candidates MAY include some, > none, or all of the previous candidates for that stream and MAY > include a totally new set of candidates > >Case 2 is less obvious to me. Requiring agents to include all currently >known addresses sounds a bit risky to me because it's easy to get into >situations where an agent receives a set of candidates that does not >match its current view of the session: > >Case 2.1: New candidates appear >Case 2.2: Some candidates are not there. > >Case 2.1 is easy to handle: the new candidates are handled as if they >were trickled. > >Case 2.2 is kind of a headache. 5245 says that it MUST NOT happen but I >don't think this can be guaranteed because various race conditions may >cause trickled candidates to arrive before the O/A and make an agent >believe that some of them are lacking. > >I think the easiest way to handle this would be to say that, when using >Trickle ICE, candidates and addressinf information from offers that DO >NOT restart ICE MUST be ignored. Well, you can't ignore the "ice completed" Offer, can you? Regards, Christer > ________________________________________ > From: Emil Ivov [emcho@jitsi.org] > Sent: Thursday, 27 March 2014 1:07 AM > To: Parthasarathi R > Cc: 'mmusic'; Christer Holmberg; 'Enrico Marocco (TiLab)' > Subject: Re: [MMUSIC] Comment on SIP Trickle ICE based on INFO draft > > On 26.03.14, 19:44, Parthasarathi R wrote: >> > > This race condition is very much possible during >> > > early >> > > dialog scenarios with UPDATE. >> > > >> > > Could you please explain how SIP trickle ICE using INFO works for >> > > >> > > 1) UPDATE from remote before Trickle ICE is completed >> >> This is analogous to an UPDATE that is received before regular 5245 ICE >> processing has completed. >> >> <Partha> No, in case UDPATE before the offer is completed, 491 response >> will send out whereas it will not happen in case of INFO </Partha> > > I think you might be confusing "before ICE processing has completed" and > "before O/A has completed" > > An UPDATE that is received while "vanilla ICE processing is in progress" > would have exactly the same effect as an UPDATE received while "trickle > ICE processing is in progress". If O/A has completed then the UPDATE > will NOT cause a 491 in either case. > >> > > a) INVITE from local >> > > b) 183 session progress from remote >> > > c) PRACK from local >> > > d) INFO from local (relay candidates) >> > > e) UPDATE from remote >> > > >> > > Here, the remote has to consider whether INFO belongs to UPDATE or >> > > INVITE as >> > > it is possible for INFO to reach before 200 OK for UPDATE as well in >> > > the >> > > same sequence. >> >> And CSeq headers wouldn't help here because ....? >> >> > > Also, RFC 2976 >> >> which FWIW is obsoleted by RFC6086 >> >> <Partha> Thanks..I still majorly interwork with RFC 2976 implementation >> :-( but please note that RFC 6086 does not change much in these SIP >> dialog or session aspects. The exact snippet of RFC 6086 is as follows: >> >> “Note that the INFO method is not used to update characteristics of a >> SIP dialog or session, but to allow the applications that use the SIP >> session to exchange information (which might update the state of >> those applications).” > > Trickle ICE does not update the characteristics of a SIP dialog and I > don't believe it violates the above in any way. > >> > > " - The extensions that use the INFO message MUST NOT rely on the >> > > INFO message to do anything that effects the SIP call state or the >> > > state of related sessions." >> >> And I don't believe that it does. >> >> <Partha> No, it is not possible to implement this draft without impact >> offer/answer state machine </Partha> > > Please provide an example where you think it actually breaks something. > (It might be worth waiting until we submit the new version, which should > probably clarify a few things). > >> > > 2) Trickle ICE INFO with serial forking >> >> INFO requests are sent within a dialog. They will go through the prong >> associated with that dialog and would not be forked. >> >> <Partha> IOW, Trickle ICE INFO will be buffered till 18x response is >> received. So, INFO has no much advantage compare to UPDATE except for >> the non-reliable response scenario. > > No advantage? INFOs can be send in both directions and arrive completely > asynchronously without ever causing glare or without having to worry > whose turn it is to send an offer or an answer because you need to > piggyback candidates on top of it. > > We've been through this exact same argument several times already, you > haven't pointed out any flaws with this logic so I can't see a reason > why you keep coming back to it. > > You claim you are worried about needing to modify the offer/answer state > machine in your implementation, but that is a very strange argument > since that implementation would be much more heavily impacted if you > were to try and trickle with offers and answers. > > I think the source of the confusion might be the fact that the draft is > currently in a relatively poor state, which is my fault, and I am > hopeful that you may find many of your answers in the next version. > > Emil
- Re: [MMUSIC] Comment on SIP Trickle ICE based on … Paul Kyzivat
- Re: [MMUSIC] Comment on SIP Trickle ICE based on … Emil Ivov
- [MMUSIC] Comment on SIP Trickle based on INFO dra… Parthasarathi R
- Re: [MMUSIC] Comment on SIP Trickle ICE based on … Parthasarathi R
- Re: [MMUSIC] Comment on SIP Trickle ICE based on … Emil Ivov
- Re: [MMUSIC] Comment on SIP Trickle ICE based on … Parthasarathi R
- Re: [MMUSIC] Comment on SIP Trickle ICE based on … Emil Ivov
- Re: [MMUSIC] Comment on SIP Trickle ICE based on … Paul Kyzivat
- Re: [MMUSIC] Comment on SIP Trickle ICE based on … Parthasarathi R
- Re: [MMUSIC] Comment on SIP Trickle ICE based on … Parthasarathi R
- Re: [MMUSIC] Comment on SIP Trickle ICE based on … Paul Kyzivat
- Re: [MMUSIC] Comment on SIP Trickle ICE based on … Emil Ivov
- Re: [MMUSIC] Comment on SIP Trickle ICE based on … Emil Ivov
- Re: [MMUSIC] Comment on SIP Trickle ICE based on … Christer Holmberg
- Re: [MMUSIC] Comment on SIP Trickle ICE based on … Emil Ivov
- Re: [MMUSIC] Comment on SIP Trickle ICE based on … Christer Holmberg
- Re: [MMUSIC] Comment on SIP Trickle ICE based on … Parthasarathi R
- Re: [MMUSIC] Comment on SIP Trickle ICE based on … Parthasarathi R