Re: [MMUSIC] [rtcweb] Translating Plan A into No Plan (Was: No Plan)
Christer Holmberg <christer.holmberg@ericsson.com> Tue, 04 June 2013 13:25 UTC
Return-Path: <christer.holmberg@ericsson.com>
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 2392721F9CB2 for <mmusic@ietfa.amsl.com>; Tue, 4 Jun 2013 06:25:10 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -5.08
X-Spam-Level:
X-Spam-Status: No, score=-5.08 tagged_above=-999 required=5 tests=[AWL=-0.631, BAYES_00=-2.599, HELO_EQ_SE=0.35, J_CHICKENPOX_12=0.6, J_CHICKENPOX_15=0.6, J_CHICKENPOX_18=0.6, RCVD_IN_DNSWL_MED=-4]
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 jDtLWGcNawbl for <mmusic@ietfa.amsl.com>; Tue, 4 Jun 2013 06:24:54 -0700 (PDT)
Received: from mailgw1.ericsson.se (mailgw1.ericsson.se [193.180.251.45]) by ietfa.amsl.com (Postfix) with ESMTP id A1A1D21F9C4A for <mmusic@ietf.org>; Tue, 4 Jun 2013 04:53:04 -0700 (PDT)
X-AuditID: c1b4fb2d-b7f5d6d000003d54-d6-51add51e79fb
Received: from ESESSHC001.ericsson.se (Unknown_Domain [153.88.253.125]) by mailgw1.ericsson.se (Symantec Mail Security) with SMTP id 76.D3.15700.E15DDA15; Tue, 4 Jun 2013 13:53:02 +0200 (CEST)
Received: from ESESSMB209.ericsson.se ([169.254.9.167]) by ESESSHC001.ericsson.se ([153.88.183.21]) with mapi id 14.02.0328.009; Tue, 4 Jun 2013 13:53:02 +0200
From: Christer Holmberg <christer.holmberg@ericsson.com>
To: Paul Kyzivat <pkyzivat@alum.mit.edu>, Emil Ivov <emcho@jitsi.org>
Thread-Topic: [rtcweb] Translating Plan A into No Plan (Was: No Plan)
Thread-Index: AQHOYKCLf/LJiFWy5UGn9OZbviAeCZkkYgWAgAAChQCAAQ10MA==
Date: Tue, 04 Jun 2013 11:53:02 +0000
Message-ID: <7594FB04B1934943A5C02806D1A2204B1C3826F4@ESESSMB209.ericsson.se>
References: <51A65017.4090502@jitsi.org> <51A65DB8.9060702@alum.mit.edu> <51A880A7.7010908@jitsi.org> <C5E08FE080ACFD4DAE31E4BDBF944EB113528171@xmb-aln-x02.cisco.com> <51A8EAB7.8080206@jitsi.org> <C5E08FE080ACFD4DAE31E4BDBF944EB11352940B@xmb-aln-x02.cisco.com> <51ACD224.8080100@jitsi.org> <51AD07B4.3070702@alum.mit.edu> <51AD0C5B.6080508@jitsi.org> <51AD0E78.8050100@alum.mit.edu>
In-Reply-To: <51AD0E78.8050100@alum.mit.edu>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-originating-ip: [153.88.183.17]
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFrrNLMWRmVeSWpSXmKPExsUyM+Jvra7c1bWBBl2nLS3W7JzAYtExmc1i 6vLHLBYrNhxgdWDx+Pv+A5PHlN8bWT2WLPnJ5PH/TWAASxSXTUpqTmZZapG+XQJXxr+NFxkL XlhWPL+4hrGB8b92FyMnh4SAicTJq5+ZIGwxiQv31rN1MXJxCAkcZpQ4f3QLM4SzmFHi59St QFUcHGwCFhLd/7RBTBEBV4l5zxRBepkFIiTm797KDhIWFnCR2DcdbCRIxe6Px6BsJ4l1T34z gpSwCKhIfFnrChLmFfCVmHj5NNTWLmaJI/t62EESnAI6EruftLOB2IxAp30/tYYJYpW4xK0n 86FOFpBYsuc8M4QtKvHy8T9WkPkSAooSy/vlIMp1JBbs/sQGYWtLLFv4mhlir6DEyZlPWCYw is1CMnUWkpZZSFpmIWlZwMiyipE9NzEzJ73ccBMjMIIObvmtu4Px1DmRQ4zSHCxK4rx6vIsD hQTSE0tSs1NTC1KL4otKc1KLDzEycXBKNTBGqO3fqn+hfltkTOHeCb4xe09zpJrZO1VZ/qms rBfgWrdPJbRLhVc0g8VaTNSV5Yh2Str2ldXckgsP+2l/e8LZePFQ7qEZvbvrX7244WV1tWve I+0K8c+L+xtzvwTn3mKwm1wYoXJs3tx1wXsmbe67rT3bYVPS0XSGG/dkl29VltQpqt22KFOJ pTgj0VCLuag4EQC6M6kebgIAAA==
Cc: "Cullen Jennings (fluffy)" <fluffy@cisco.com>, "mmusic@ietf.org" <mmusic@ietf.org>
Subject: Re: [MMUSIC] [rtcweb] Translating Plan A into No Plan (Was: No Plan)
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: Tue, 04 Jun 2013 13:25:10 -0000
Hi, >>> I don't understand why we would be talking about translating from one >>> of these plans to another. AFAIK they are *alternatives*, and that we >>> will at some point agree on one, and that will be the only one implemented. >> >> It has been pointed out that some existing non-WebRTC endpoints expect >> to get SDP "the Plan A way". Cullen asked how such devices could be >> made to communicate with "No Plan" browsers. This was my answer. >> >> Personally I haven't come across such devices so I can only speculate >> about the reasons why they work the way they work. Still I don't see >> why they shouldn't be able to talk to WebRTC browsers ... hence my answer. > > They clearly *don'* expect to get it the Plan A way (bundled). > > > I accept that there must be a variety of things that employ multiple > (unbundled) m-lines, each on its own 5-tuple with one RTP stream. I asked about that in a separate thread, but nobody replied, so I'll ask again :) If the JS app receives multiple unbundled m- lines on the wire, does the JS app have to "convert" it into whatever Plan/Format supported by the API? Regards, Christer >> On 6/3/13 1:28 PM, Emil Ivov wrote: >>> Hey Cullen, Paul, all >>> >>> On 31.05.13, 22:19, Cullen Jennings (fluffy) wrote: >>>> On 31.05.2013, at 12:23 PM, Emil Ivov <emcho@jitsi.org> wrote: >>>> >>>>> Certainly. Could you please post the SDP that you would like to >>>>> see translated in a way that's compatible with "No Plan"? >>>>> >>>>> Emil >>>> >>>> We can start with the SDP in plan A >>> >>> The example in "7.3. Many Videos" looks like a good start: >>> >>> http://tools.ietf.org/html/draft-roach-rtcweb-plan-a-00#section-7.3 >>> >>> Here it is: >>> >>> v=0 >>> o=- 20518 0 IN IP4 198.51.100.1 >>> s= >>> t=0 0 >>> c=IN IP4 203.0.113.1 >>> a=ice-ufrag:F7gI >>> a=ice-pwd:x9cml/YzichV2+XlhiMu8g >>> a=fingerprint:sha-1 42:89:c5:c6:55:9d:39:f9:b6:eb:e7 >>> a=group:BUNDLE m0 m1 m2 m3 >>> >>> m=audio 56600 RTP/SAVPF 0 96 >>> a=mid:m0 >>> a=rtpmap:0 PCMU/8000 >>> a=rtpmap:96 opus/48000 >>> a=ptime:20 >>> a=sendrecv >>> a=rtcp-mux >>> [ICE Candidates] >>> >>> m=video 0 RTP/SAVPF 97 98 >>> a=mid:m1 >>> a=rtpmap:97 H264/90000 >>> a=fmtp:97 profile-level-id=4d0028;packetization-mode=1 >>> a=rtpmap:98 VP8/90000 >>> a=sendrecv >>> a=rtcp-mux >>> a=bundle-only >>> a=ssrc:11111 cname:45:5f:fe:cb:81:e9 >>> >>> m=video 0 RTP/SAVPF 97 98 >>> a=mid:m2 >>> a=rtpmap:97 H264/90000 >>> a=fmtp:97 profile-level-id=4d0028;packetization-mode=1 >>> a=rtpmap:98 VP8/90000 >>> a=sendrecv >>> a=rtcp-mux >>> a=bundle-only >>> a=ssrc:22222 cname:45:5f:fe:cb:81:e9 >>> >>> m=video 0 RTP/SAVPF 97 98 >>> a=mid:m3 >>> a=rtpmap:97 H264/90000 >>> a=fmtp:97 profile-level-id=4d0028;packetization-mode=1 >>> a=rtpmap:98 VP8/90000 >>> a=sendrecv >>> a=rtcp-mux >>> a=bundle-only >>> a=ssrc:333333 cname:45:5f:fe:cb:81:e9 >>> >>> >>> An offer generated by a "No Plan" browser in this case would look >>> something like this: >>> >>> v=0 >>> o=- 20518 0 IN IP4 198.51.100.1 >>> s= >>> t=0 0 >>> c=IN IP4 203.0.113.1 >>> a=ice-ufrag:F7gI >>> a=ice-pwd:x9cml/YzichV2+XlhiMu8g >>> a=fingerprint:sha-1 42:89:c5:c6:55:9d:39:f9:b6:eb:e7 >>> a=group:BUNDLE m0 m1 >>> >>> m=audio 56600 RTP/SAVPF 96 0 >>> a=mid:m0 >>> a=rtpmap:96 opus/48000 >>> a=rtpmap:0 PCMU/8000 >>> a=ptime:20 >>> a=sendrecv >>> a=rtcp-mux >>> [ICE candidates] >>> >>> m=video 56602 RTP/SAVPF 97 98 >>> a=mid:m1 >>> a=rtpmap:97 H264/90000 >>> a=fmtp:97 profile-level-id=4d0028;packetization-mode=1 >>> a=rtpmap:98 VP8/90000 >>> a=sendrecv >>> a=rtcp-mux >>> [ICE candidates] >>> >>> I. Talking to legacy >>> >>> In case you need to talk to an actual legacy (as in widely deployed >>> SIP) endpoint, the above would translate into a regular two-stream >>> call. Both Plan A and No Plan would lead to essentially the same >>> result (if we accept that older endpoints won't throw an exception >>> at the sight of 4 m= lines) so not much to discuss here. >>> >>> II. Talking to Plan A style endpoints >>> >>> If you need to talk to a Plan A endpoint you basically have the >>> following options: >>> >>> 1. You use JavaScript to prettify the "No Plan" SDP and turn it into >>> something that looks like "Plan A". Not my favourite option, but I >>> am sure some would like to use it. Maybe vendors of Plan A equipment >>> would even distribute JS libs that do this. It would basically all >>> come down to generating one ssrc attribute and two additional >>> m=lines and appending this to the existing SDP string. >>> >>> 2. The application retrieves SSRCs from the browser, adds additional >>> application-specific signalling to it and then sends the whole thing >>> to a signalling gateway. The gateway (which you would also have with >>> Plan >>> A) would convert the SDP into what it needs it to be. >>> >>> The application specific signalling can look like this: >>> >>> { >>> "firstStream": >>> { >>> "SSRC": "11111", >>> "CNAME": "45:5f:fe:cb:81:e9" >>> }, >>> "secondStream": >>> { >>> "SSRC": "22222", >>> "CNAME": "45:5f:fe:cb:81:e9" >>> }, >>> "thirdStream": >>> { >>> "SSRC": "333333", >>> "CNAME": "45:5f:fe:cb:81:e9" >>> }, >>> } >>> >>> 3. In Plan B, section 3.1 talks about generating "Plan A" style SDP >>> with the help of .content properties. If browser vendors are willing >>> to implement support for this then I suppose it would be a third option. >>> >>> III. Talking to other WebRTC applications >>> >>> This is the fun case and the one we should be most concerned with. >>> Let's imagine that the answerer needs to add a fourth video stream. >>> To make this work endpoints would need to do the following: >>> >>> a) with Plan A and draft-roach-rtcweb-glareless-add: >>> - send application specific signalling to the offerer >>> - have a new O/A exchange >>> >>> b) with Plan A: >>> - have a new O/A exchange >>> - potentially risk glare with some impact on user experience >>> >>> c) with No Plan: >>> ... nothing >>> >>> I am intentionally not going into how all plans would require >>> additional metadata that would place SSRC 1 left and 2 right as I >>> don't think this conveys any meaningful differences. >>> >>> Comments on the above are welcome. We could also move to another >>> scenario from the Plan A draft, if you believe that 7.3 is not >>> representative enough. >>> >>> Emil >>> >>> >> >> > _______________________________________________ rtcweb mailing list rtcweb@ietf.org https://www.ietf.org/mailman/listinfo/rtcweb
- Re: [MMUSIC] [rtcweb] Translating Plan A into No … Cullen Jennings
- Re: [MMUSIC] [rtcweb] Translating Plan A into No … Emil Ivov
- Re: [MMUSIC] [rtcweb] Translating Plan A into No … Eric Rescorla
- Re: [MMUSIC] [rtcweb] Translating Plan A into No … Emil Ivov
- Re: [MMUSIC] [rtcweb] No Plan Paul Kyzivat
- Re: [MMUSIC] [rtcweb] Translating Plan A into No … Emil Ivov
- Re: [MMUSIC] [rtcweb] No Plan Emil Ivov
- Re: [MMUSIC] [rtcweb] Translating Plan A into No … Eric Rescorla
- Re: [MMUSIC] [rtcweb] Translating Plan A into No … Emil Ivov
- Re: [MMUSIC] [rtcweb] Translating Plan A into No … Christer Holmberg
- Re: [MMUSIC] [rtcweb] Translating Plan A into No … Eric Rescorla
- Re: [MMUSIC] [rtcweb] No Plan Paul Kyzivat
- Re: [MMUSIC] [rtcweb] Translating Plan A into No … Paul Kyzivat
- Re: [MMUSIC] [rtcweb] Translating Plan A into No … Enrico Marocco
- Re: [MMUSIC] [rtcweb] Translating Plan A into No … Emil Ivov
- Re: [MMUSIC] [rtcweb] No Plan Emil Ivov
- Re: [MMUSIC] [rtcweb] No Plan Paul Kyzivat
- Re: [MMUSIC] [rtcweb] No Plan Emil Ivov