Re: [MMUSIC] draft-ivov-dispatch-trickle-ice-sip/draft-ivov-mmusic-trickle-ice
Paul Kyzivat <pkyzivat@alum.mit.edu> Wed, 03 April 2013 17:22 UTC
Return-Path: <pkyzivat@alum.mit.edu>
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 5A2C021F8D82 for <mmusic@ietfa.amsl.com>; Wed, 3 Apr 2013 10:22:08 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.337
X-Spam-Level:
X-Spam-Status: No, score=-0.337 tagged_above=-999 required=5 tests=[AWL=0.100, BAYES_00=-2.599, FH_RELAY_NODNS=1.451, HELO_MISMATCH_NET=0.611, RDNS_NONE=0.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 s2VoqKbg1Etq for <mmusic@ietfa.amsl.com>; Wed, 3 Apr 2013 10:22:06 -0700 (PDT)
Received: from qmta05.westchester.pa.mail.comcast.net (qmta05.westchester.pa.mail.comcast.net [IPv6:2001:558:fe14:43:76:96:62:48]) by ietfa.amsl.com (Postfix) with ESMTP id 9E5A021F8E6C for <mmusic@ietf.org>; Wed, 3 Apr 2013 10:21:59 -0700 (PDT)
Received: from omta21.westchester.pa.mail.comcast.net ([76.96.62.72]) by qmta05.westchester.pa.mail.comcast.net with comcast id KQDr1l0051ZXKqc55VMwvj; Wed, 03 Apr 2013 17:21:56 +0000
Received: from Paul-Kyzivats-MacBook-Pro.local ([50.138.229.164]) by omta21.westchester.pa.mail.comcast.net with comcast id KVMv1l00R3ZTu2S3hVMvQ2; Wed, 03 Apr 2013 17:21:56 +0000
Message-ID: <515C6531.5060001@alum.mit.edu>
Date: Thu, 04 Apr 2013 01:21:53 +0800
From: Paul Kyzivat <pkyzivat@alum.mit.edu>
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.7; rv:17.0) Gecko/20130307 Thunderbird/17.0.4
MIME-Version: 1.0
To: mmusic@ietf.org
References: <515AFCFE.7030608@acm.org>
In-Reply-To: <515AFCFE.7030608@acm.org>
Content-Type: text/plain; charset="ISO-8859-1"; format="flowed"
Content-Transfer-Encoding: 7bit
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=comcast.net; s=q20121106; t=1365009716; bh=JlBswu8iKNtZ2ZdVmyKOPjIuBQ2y0wALTBtN9loicYU=; h=Received:Received:Message-ID:Date:From:MIME-Version:To:Subject: Content-Type; b=NNClXql+No2DKBOc78x7YemJVGXl8uE6jXlHtaYcZ6xQGaXmWJnG2MCKSHQJPJGeG hoW3D4z0Ly6xEk9UdEsXV6zBA3+yxMaCZrsaxwMCWXh808WGdGsf3PEq8FxiqVgUTZ 8yGrKCEjR+2tdLLzJzBfdUt6ffiSEM06UP07huV9mtnzeiNWEt9h+dVXplTwM/kemc 9mkgdaQ/EE5/s9h5hMkiEKzM1Gi+RkZ0z1jJggxJSZka2FnAppg/7xfJ9pNgjFsgcP bal7dmBhOvUPNmcvs/LGtfs9MnqgM8tCxVgcmS2XivmLqmOPV17K4uB983XsgGd3bo 4PEF3/VqmKO0A==
Subject: Re: [MMUSIC] draft-ivov-dispatch-trickle-ice-sip/draft-ivov-mmusic-trickle-ice
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: Wed, 03 Apr 2013 17:22:10 -0000
I just replied to a later message before dealing with this one. :-( Using UPDATE (in normal sip o/a discipline) means that the hard learned knowledge of how to make o/a work in complex cases can be reused. Conversely, adding INFO as a way to extend the existing O/A mechanism with some additional variations is likely to introduce great additional complexity. Thanks, Paul On 4/2/13 11:45 PM, Marc Petit-Huguenin wrote: > -----BEGIN PGP SIGNED MESSAGE----- > Hash: SHA256 > > I read draft-ivov-dispatch-trickle-ice-sip and draft-ivov-mmusic-trickle-ice > during the preparation of the rfc5245bis draft and I have some suggestions > that I will be presenting step by step below: > > 1. The 180 needs to be reliable > > In section 6 of trickle-ice-sip, the Answer is carried by a 180 response, > which can be lost before the INFO request is received. The 180 will probably > be resent later, but that still does not look right to send new candidates > without be sure that the first batch of candidates have been received. PRACK > seems the right solution to this issue. Also 183 seems a better fit than 180, > at least until all the candidates are sent, but that's not really important. > That gives us this call flow: > > > STUN/Turn STUN/TURN > Servers Alice Bob Servers > | | | | > |<--------------| | | > | Candidate | | | > | Discovery | | | > |-------------->| INVITE (Offer) | | > | |------------------------>| | > | | 183 (Answer) |-------------->| > | |<------------------------| | > | | PRACK | | > | |------------------------>| | > | | 200 PRACK | | > | |<------------------------| | > | | | | > | | INFO (more candidates) | Candidate | > | |<------------------------| | > | | Connectivity Checks | | > | |<=======================>| Discovery | > | | INFO (more candidates) |<--------------| > | |<------------------------| | > | | 180 | | > | |<------------------------| | > | | Connectivity Checks | | > | |<=======================>| | > | | | | > | | 200 OK | | > | |<------------------------| | > | | | | > | | 5245 SIP re-INVITE | | > | |------------------------>| | > | | 200 OK | | > | |<------------------------| | > | | | | > | | | | > | |<===== MEDIA FLOWS =====>| | > | | | | > > > 2. Use UPDATE instead of INFO > > UPDATE works as well as INFO, and is more SIPish. > > Here's the call flow: > > STUN/Turn STUN/TURN > Servers Alice Bob Servers > | | | | > |<--------------| | | > | Candidate | | | > | Discovery | | | > (1) |-------------->| INVITE (Offer) | | > | |------------------------>| | > (2) | | 183 (Answer) |-------------->| > | |<------------------------| | > | | PRACK | | > | |------------------------>| | > | | 200 PRACK | | > | |<------------------------| | > | | | | > (3) | | UPDATE (more cands) | Candidate | > | |<------------------------| | > (4) | | 200 UPDATE | | > | |------------------------>| Discovery | > | | Connectivity Checks | | > | |<=======================>| | > (5) | | UPDATE (last cands) |<--------------| > | |<------------------------| | > (6) | | 200 UPDATE | | > | |------------------------>| | > | | 180 | | > | |<------------------------| | > | | Connectivity Checks | | > | |<=======================>| | > | | | | > | | 200 INVITE | | > | |<------------------------| | > | | | | > | | 5245 SIP re-INVITE | | > | |------------------------>| | > | | 200 reINVITE | | > | |<------------------------| | > | | | | > | | | | > | |<===== MEDIA FLOWS =====>| | > | | | | > > > 3. Use accumulated candidate list > > As far as I understand the documents, the candidates are sent as soon as they > are discovered. I think that it would be better to send an accumulated list > of candidates instead of the delta list of candidates. The priority > calculation and the elimination of redundant candidates do not need to know > the complete list of candidate to work, but sending the accumulated list > instead of a delta could permit in the future to remove candidates, if we find > a need to do so. This also removed the need for sdpfrag. > > But the most important reason is for the next step. > > > 4. Replace end-of-candidates attribute by precandidate attributes > > There is currently an end-of-candidates attribute that is sent to signal the > end of the candidate gathering phase. I think it is better to do it the > opposite way, i.e. to send candidates as they are discovered under a different > attribute name, and then to send all the candidates only when the gathering > phase is done. Here's the partial SDPs exchanged in the call flow in 2) but > skipping one update (examples are from RFC 5245): > > (1) Alice sends all the candidates after the end of the gathering phase > (half-trickle). She also signals that she supports trickle. > > a=ice-options:trickle > a=candidate:1 1 UDP 2130706431 192.0.2.1 3478 typ host > > (2) Bob knows that Alice supports half trickle, so he sends only the host > candidates, which is all he has so far, but using the attribute precandidate > instead of candidate. He sends them in a reliable 183: > > a=ice-options:trickle > a=precandidate:1 1 UDP 2130706431 10.0.1.1 8998 typ host > a=precandidate:1 1 UDP 2130706431 10.0.1.2 8998 typ host > > If Bob supported ICE but not trickle, he would have answered with its complete > list of candidates. > > (3) Bob discovers some candidates, but there is more to come, so it sends a > accumulated list of precandidates: > > a=ice-options:trickle > a=precandidate:1 1 UDP 2130706431 10.0.1.1 8998 typ host > a=precandidate:2 1 UDP 1694498815 192.0.2.3 45664 typ srflx raddr 10.0.1.1 > rport 8998 > a=precandidate:1 1 UDP 2130706431 10.0.1.2 8998 typ host > > (4) Alice responds with the same SDP than in (1) > > (5) Bob receives the last batch of candidates, so now it sends an SDP > containing the all the candidates, as if it did not understand trickle.: > > a=ice-options:trickle > a=candidate:1 1 UDP 2130706431 10.0.1.1 8998 typ host > a=candidate:2 1 UDP 1694498815 192.0.2.3 45664 typ srflx raddr 10.0.1.1 rport > 8998 > a=candidate:1 1 UDP 2130706431 10.0.1.2 8998 typ host > > (6) Alice sends back the same SDP. Because Bob use candidate attributes > instead of precandidate, she knows that she has all the candidates, as if > end-of-candidates was received. > > - -- > Marc Petit-Huguenin > Email: marc@petit-huguenin.org > Blog: http://blog.marc.petit-huguenin.org > Profile: http://www.linkedin.com/in/petithug > -----BEGIN PGP SIGNATURE----- > Version: GnuPG v1.4.12 (GNU/Linux) > > iQIcBAEBCAAGBQJRWvz6AAoJECnERZXWan7Ez6YQAIP3FzJHMD+X135/jr2ZpUYO > J3Ogf/JfoOC8Wwwe+btmWG3KuLMnaqzmQnmJNpdypyaEQN6ExK+giMZ136D/R8JH > MVwdL5T+NMRZSLfJwgkDK+gnZgJx8aKfIycB3RRQWgY1tXNuQhPyZsE20V5k2Rli > 6vz6sJ9eN4p4e7WhKRSuc9+IhLYAkAmPTRd6JVhF6aHGED8PMNI/AYNo+SJuwaJh > uDXoUPuox1W/zN9DocsTdeNo3rK0gLT59WHHmHEcMpyyjsjjcUm0RYHt0NIhaQ+0 > snpKFx5akZWUMN8R+IqmXnMVIYlXxVkHxLJFbAYLRYOUFGDJJp22p13i14WvSF4r > mM7mVDuWIBd9DBIB6UH4PGKcU9gPhXif+37S2gB5LNofVgOBvvt4jcHPMxgII8Wm > eybWcfc1YseKhqsJq4DqJ0cc3vnxfyL0rfb22uB/E82cErLz6fyxjKJhGhuqyyKR > FAWXXjxKMfQOsThMlobvDjMR2oTyjz8IZc65MdOU+bQHy2SSPVxQjX6xMVSVR4yr > Z66GZsJkdg5mw0h6scS+T4dbF+/4a6tUG/0hCTvhaI3vyULmBf/YLg5VdodP1HzJ > GUIDFEzR9whKt0+nkwAumLPpHmTbIF7VuWg/YZmbq5tqY2n4gpuUDfCk7pusuBRb > yk3C5OOf2RWXhf6ekDuf > =jzXd > -----END PGP SIGNATURE----- > _______________________________________________ > mmusic mailing list > mmusic@ietf.org > https://www.ietf.org/mailman/listinfo/mmusic >
- [MMUSIC] draft-ivov-dispatch-trickle-ice-sip/draf… Marc Petit-Huguenin
- Re: [MMUSIC] draft-ivov-dispatch-trickle-ice-sip/… Stach, Thomas
- Re: [MMUSIC] draft-ivov-dispatch-trickle-ice-sip/… Marc Petit-Huguenin
- Re: [MMUSIC] draft-ivov-dispatch-trickle-ice-sip/… Paul Kyzivat
- Re: [MMUSIC] draft-ivov-dispatch-trickle-ice-sip/… Paul Kyzivat
- Re: [MMUSIC] draft-ivov-dispatch-trickle-ice-sip/… Marc Petit-Huguenin
- Re: [MMUSIC] draft-ivov-dispatch-trickle-ice-sip/… Emil Ivov
- Re: [MMUSIC] draft-ivov-dispatch-trickle-ice-sip/… Paul Kyzivat
- Re: [MMUSIC] draft-ivov-dispatch-trickle-ice-sip/… Marc Petit-Huguenin
- Re: [MMUSIC] draft-ivov-dispatch-trickle-ice-sip/… Emil Ivov
- Re: [MMUSIC] draft-ivov-dispatch-trickle-ice-sip/… Emil Ivov
- Re: [MMUSIC] draft-ivov-dispatch-trickle-ice-sip/… Alan Johnston
- [MMUSIC] Using connectivity check to carry additi… Marc Petit-Huguenin
- Re: [MMUSIC] draft-ivov-dispatch-trickle-ice-sip/… Stach, Thomas
- Re: [MMUSIC] draft-ivov-dispatch-trickle-ice-sip/… Emil Ivov
- Re: [MMUSIC] draft-ivov-dispatch-trickle-ice-sip/… Paul Kyzivat
- Re: [MMUSIC] Using connectivity check to carry ad… Martin Thomson
- Re: [MMUSIC] Using connectivity check to carry ad… Marc Petit-Huguenin
- Re: [MMUSIC] draft-ivov-dispatch-trickle-ice-sip/… Emil Ivov
- Re: [MMUSIC] draft-ivov-dispatch-trickle-ice-sip/… Stach, Thomas
- Re: [MMUSIC] draft-ivov-dispatch-trickle-ice-sip/… Stach, Thomas
- Re: [MMUSIC] draft-ivov-dispatch-trickle-ice-sip/… Emil Ivov
- [MMUSIC] Trickle ICE Dale R. Worley
- Re: [MMUSIC] draft-ivov-dispatch-trickle-ice-sip/… Stach, Thomas
- Re: [MMUSIC] draft-ivov-dispatch-trickle-ice-sip/… Paul Kyzivat
- Re: [MMUSIC] Trickle ICE Stach, Thomas
- Re: [MMUSIC] draft-ivov-dispatch-trickle-ice-sip/… Stach, Thomas