Re: [rtcweb] Working Group Last Call: JSEP
Magnus Westerlund <magnus.westerlund@ericsson.com> Mon, 14 November 2016 02:10 UTC
Return-Path: <magnus.westerlund@ericsson.com>
X-Original-To: rtcweb@ietfa.amsl.com
Delivered-To: rtcweb@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 02160129441 for <rtcweb@ietfa.amsl.com>; Sun, 13 Nov 2016 18:10:25 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.221
X-Spam-Level:
X-Spam-Status: No, score=-4.221 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_MED=-2.3, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
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 Vak23J13bEeZ for <rtcweb@ietfa.amsl.com>; Sun, 13 Nov 2016 18:10:23 -0800 (PST)
Received: from sesbmg22.ericsson.net (sesbmg22.ericsson.net [193.180.251.48]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id B0D0B1293EE for <rtcweb@ietf.org>; Sun, 13 Nov 2016 18:10:22 -0800 (PST)
X-AuditID: c1b4fb30-dc07098000007ca6-56-58291d0c635e
Received: from ESESSHC013.ericsson.se (Unknown_Domain [153.88.183.57]) by (Symantec Mail Security) with SMTP id 54.F0.31910.C0D19285; Mon, 14 Nov 2016 03:10:21 +0100 (CET)
Received: from [127.0.0.1] (153.88.183.153) by smtp.internal.ericsson.com (153.88.183.59) with Microsoft SMTP Server id 14.3.319.2; Mon, 14 Nov 2016 03:08:16 +0100
To: Ted Hardie <ted.ietf@gmail.com>
References: <CA+9kkMBLcUFs-sdpSnTEHfGVwwG1iDsWpsk1ONHrq2M7LV4g3w@mail.gmail.com> <40497c7e-2c2a-d137-93f4-ff657e77b8fd@ericsson.com> <CA+9kkMCA5jDMf=NWN=sf2p+nCCfoY=CkhGF6O4Mo1=G=wU-DDw@mail.gmail.com>
From: Magnus Westerlund <magnus.westerlund@ericsson.com>
Message-ID: <c32ff3f6-739d-810c-5072-65f1736bc7f3@ericsson.com>
Date: Mon, 14 Nov 2016 11:08:10 +0900
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:45.0) Gecko/20100101 Thunderbird/45.4.0
MIME-Version: 1.0
In-Reply-To: <CA+9kkMCA5jDMf=NWN=sf2p+nCCfoY=CkhGF6O4Mo1=G=wU-DDw@mail.gmail.com>
Content-Type: text/plain; charset="utf-8"; format="flowed"
Content-Transfer-Encoding: 8bit
X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFrrMLMWRmVeSWpSXmKPExsUyM2K7pS6vrGaEwa6PnBbTz/xltOiYzGax 9l87u8WVVY3MFo1z7RxYPab83sjq8eXJSyaPnbPusnssWfKTyePgQcYA1igum5TUnMyy1CJ9 uwSujB0rJrAW3G1hrDi96D5bA2NXQhcjJ4eEgInEvH3P2boYuTiEBNYxStzZ/Z4ZwlnOKHFm +iZGkCphAWOJY9u/gdkiAsoSe6/sgOo4yyixedJHFhCHWaCPUeL01SlgVWwCFhI3fzSygdi8 AvYSrw9tYQexWQRUJXp+HQCzRQViJK4/ewRVIyhxcuYTFhCbUyBQYsOtdiYQmxlozsz55xkh bHmJ5q2zmUFsIQFtiYamDtYJjAKzkLTPQtIyC0nLAkbmVYyixanFSbnpRkZ6qUWZycXF+Xl6 eaklmxiBQX1wy2+DHYwvnzseYhTgYFTi4f1QrxEhxJpYVlyZe4hRgoNZSYTXXlozQog3JbGy KrUoP76oNCe1+BCjNAeLkjiv2cr74UIC6YklqdmpqQWpRTBZJg5OKWBIr/wj7O+vMdvixkKV 6z/4L64vy8kVPhC1ptcwJax83sQ5QZVBmnHZRyv2bWJSyOut6BGY0Pj6jdv618UsZi8E1njm CfDEengfWGtbEPOp4/8ZWbfYbZ08iTPUJ13rTGGdPHHdp4z7v3gPXPrbdoCFKzOs78r+s5uP OqkaPrkrdGxaIOOSqAglluKMREMt5qLiRADlQwL5ZgIAAA==
Archived-At: <https://mailarchive.ietf.org/arch/msg/rtcweb/WApCZbS7mfPyTxKkUtxkL0C1zDk>
Cc: Cullen Jennings <fluffy@cisco.com>, "rtcweb@ietf.org" <rtcweb@ietf.org>
Subject: Re: [rtcweb] Working Group Last Call: JSEP
X-BeenThere: rtcweb@ietf.org
X-Mailman-Version: 2.1.17
Precedence: list
List-Id: Real-Time Communication in WEB-browsers working group list <rtcweb.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/rtcweb>, <mailto:rtcweb-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/rtcweb/>
List-Post: <mailto:rtcweb@ietf.org>
List-Help: <mailto:rtcweb-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/rtcweb>, <mailto:rtcweb-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 14 Nov 2016 02:10:25 -0000
Thanks Ted, I think these two comments actually can be added as comments to Colin's earlier issue. https://github.com/rtcweb-wg/jsep/issues/364 I will do that. Cheers Magnus Den 2016-11-14 kl. 10:16, skrev Ted Hardie: > Hi Magnus, > > I've added github issues for most of these in the range 387 to 408. The > two final issues here (numbers 31 and 32), both related to section 6, > weren't really clear enough for me to provide a useful summary. Can you > try to rephrase those? It would be great if you can do that by adding > them to the issues list, but I'll try to add them if you update them here. > > thanks, > > Ted > > On Sun, Nov 13, 2016 at 4:13 PM, Magnus Westerlund > <magnus.westerlund@ericsson.com <mailto:magnus.westerlund@ericsson.com>> > wrote: > > Hi, > > As I am late, and we are having the discussion tomorrow I am taking > the easiest route for me to get my feedback out to the WG and > authors, thus an email rather than Github issues. > > So here are my comments on the -17 version of JSEP. > > 1. Terminology: m= section. I would propose that the document > creates a terminology section and are explicit that m= section and > SDP Media Description are the same thing. > > 2. There are a couple of terms that would really need a definition > and also possibly some reflection of how they relate to the RTCWeb > terms, like WebRTC Endpoint. So the terms I really like defined are: > > JSEP endpoint > JSEP implementation > > 3. Section 3.6: > > JSEP > implementations will not transmit non-square pixels, but SHOULD > receive and render such video with the correct aspect ratio. > > I have two issues with this. First of all, shouldn't JSEP > implementations be WebRTC endpoints? The second is these statement > that says that a JSEP/WebRTC foo will not do a thing. In most cases > that is not necessary, as there would be no issues if a particular > implementation supports this functionality. So, I think this should > be written as: > > WebRTC endpoints does not need to support transmission of non-square > pixels, but SHOULD > receive and render such video with the correct aspect ratio. > > 4. Section 3.6.2: > > When communicating with a non-JSEP endpoint, multiple relevant > "a=imageattr recv" attributes may be received. If this occurs, > attributes other than the one with the highest "q=" value MUST be > ignored. > > There is to my knowledge nothing preventing multiple parameters sets to > have the same preference value (q). Thus, the formulation of this > sentence needs to be addressed. > > 5. Section 3.6.2: > > If an "a=imageattr recv" attribute references a different video codec > than what has been selected for the MediaStreamTrack, it MUST be > ignored. > > So, to my understanding there can be multiple video codecs and > multiple RTP PTs that have been negotiated as possible to use. Is > selected just the single currently used one, one or all the possible > ones here? > > 6. Section 3.6.2: > > If the attribute includes a "sar=" (sample aspect ratio) value set to > something other than "1.0", indicating the receiver wants to receive > non-square pixels, this cannot be satisfied and the sender MUST NOT > transmit the track. > > Another instances where the language should allow for flexibility if > an implementation goes beyond the defined mandatory support. > Changing "this cannot be" to "if this cannot be" may resolve it. > Also, isn't the relevant "MUST NOT" is to not accept this in the > negotiation? > > 7. Section 3.7: > > JSEP supports simulcast of a MediaStreamTrack, where multiple > encodings of the source media can be transmitted within the context > of a single m= section. > > I think this should be explcit that it is "simulcast transmission of > a MediaStreamTrack". > > 8. Section 5.1.1: > > This list of mandatory-to-implement specifications is derived from > the requirements outlined in [I-D.ietf-rtcweb-rtp-usage]. > > R-5 [RFC4568] MUST NOT be implemented to signal SDES SRTP keying > information. > > So, the list of mandatory-to-implement includes also some to not > implement. That is fine, but probably should be moved to its own > list, or rename the list so that it can contain both types. > > Secondly, this specific requirement I think comes from the security > docs, rather than rtp-usage. > > 9. Section 5.1.1: > R-2 [RFC5764] MUST be supported for signaling the UDP/TLS/RTP/SAVPF > [RFC5764], TCP/DTLS/RTP/SAVPF > [I-D.nandakumar-mmusic-proto-iana-registration], "UDP/DTLS/ > SCTP" [I-D.ietf-mmusic-sctp-sdp], and "TCP/DTLS/SCTP" > [I-D.ietf-mmusic-sctp-sdp] RTP profiles. > > I would note that [I-D.nandakumar-mmusic-proto-iana-registration] is > actually published as RFC 7850. > > 10. Section 5.1.1: > R-12 [RFC5761] MUST be implemented to signal multiplexing of RTP and > RTCP. > > This should include the updated as ref also. > > > 11. Section 5.1.1: > > R-15 [RFC3556] with bandwidth modifiers MAY be supported for > specifying RTCP bandwidth as a fraction of the media bandwidth, > RTCP fraction allocated to the senders and setting maximum > media bit-rate boundaries. > > So, why wasn't support of RR and RS bandwidth modifiers made a MUST? > > Secondly, the RR and RS attributes do not specify the bandwidth as > fraction of the media bandwidth. The specify RTP session level > limits for RTCP bandwidth. > > 12. Section 5.1.1: > > R-16 TODO: any others? > > Please remove this. > > 13. Section 5.1.3: > > For media m= sections, JSEP endpoints MUST support both the "UDP/TLS/ > RTP/SAVPF" and "TCP/DTLS/RTP/SAVPF" profiles and MUST indicate one of > these two profiles for each media m= line they produce in an offer. > > Do I understand this correct, we are requiring support for the > "TCP/DTLS/RTP/SAVPF" proto so that in cases an endpoint supports the > optional to support ICE TCP, they can indicate it, and any WebRTC > endpoint will accept it, even if that is just one option? I do know > that different profiles are a negotiation issue. But, wouldn't it be > more reasonable in this case to use UDP/TLS/RTP/SAVPF in all cases > where one offer any candidates that also use UDP? And only use > TCP/DTLS/RTP/SAVPF in cases only TCP candidates are signalled, thus > not forcing TCP/DTLS/RTP/SAVPF onto clients that doesn't support it? > > 14. Section 5.1.3: > Otherwise, assume that AVPF is being used in an AVP > compatible mode and use AVP timing, i.e., "trr-int=4". > > I find this sentence confusing. I think this should be clarified to say: > > Otherwise, assume that AVPF is being used in an AVP > compatible mode, i.e. use AVPF timing configured with a > "trr-int=4". > > 15. Section 5.1.3: > > Spurious space in: > > For data m= sections, JSEP endpoints MUST support receiving the > "UDP/ DTLS/SCTP", "TCP/DTLS/SCTP", or "DTLS/SCTP" (for backwards > compatibility) profiles. > > 16. Section 5.2.1: > o Session Information ("i="), URI ("u="), Email Address ("e="), > Phone Number ("p="), Bandwidth ("b="), Repeat Times ("r="), and > Time Zones ("z=") lines are not useful in this context and SHOULD > NOT be included. > > Considering that b=CT is not useless, I am a bit surprised to see b= > on this list. Yes, b=CT: is only useful is one like to provide a > upper total bandwidth limitation. So, maybe some discussion of the > possible choice? > > 17. Section 5.2.1: > > This is done in the order > that their associated RtpTransceivers were added to the > PeerConnection and excludes RtpTransceivers that are stopped and not > associated with an m= section (either due to an m= section being > recycled or an RtpTransceiver having been stopped before being > associated with an m= section) . > > I am bit surprised to see "recycled" on a list of things that may > occur in generating an initial offer? Can that really occur? > > 18. Section 5.2.1: > > o An "a=mid" line, as specified in [RFC5888], Section 4. When > generating mid values, it is RECOMMENDED that the values be 3 > bytes or less, to allow them to efficiently fit into the RTP > header extension defined in > [I-D.ietf-mmusic-sdp-bundle-negotiation], Section 11. > > > Just to note that to my understanding we are having discussion if > this should be referencing a more specific generation algorithm. > > Such a change is likely to affect text on RID also: > > 19. Section 5.2.1: > The list of > RTCP feedback mechanisms that SHOULD/MUST be supported is > specified in [I-D.ietf-rtcweb-rtp-usage], Section 5.1. > > I would request that we don't use the quite confusing "SHOULD/MUST" > and instead write something like: > > mechanisms that are recommended or mandated to be supported > > 20. Section 5.3.1: > > o If this m= section is for media with configurable frame sizes, > e.g. audio, an "a=maxptime" line, indicating the smallest of the > maximum supported frame sizes out of all codecs included above, as > specified in [RFC4566], Section 6. > > In most cases the maxptime attribute doesn't affect the frame size > of the encoder, instead it affects the maximum amount of media that > are packetized into a RTP payload, i.e. how many frames that are > included. > > 21. Section 5.3.1: > > Each m= section which is not bundled into another m= section, MUST > contain the following attributes (which are of category IDENTICAL or > TRANSPORT): > > I react to "bundle into another m= section". I though they where > "bundled with"? > > 22. Section 5.7.2: > o If present, a single "a=rtcp" attribute MUST be parsed as > specified in [RFC3605], Section 2.1, but its value is ignored, as > this information is superfluous when using ICE. > > This is another case, where there is an exception to what is written > if one has supports the non RTP/RTCP mux usage. Thus, this should be > ammended to included such an exception. > > 23. Section 5.7.2: > > What about additional a= attributes? Any attribute supported by the > implementation MAY be parsed? > > 24. Section 5.8: > > + Find the RtpTransceiver that corresponds to the m= section > with the same MID in the created offer. > > + Set the value of the RtpTransceiver's mid attribute to the > MID of the m= section. > > I find this text strange. If you already know the MID, why is it > being set in the second sub-bullet? > > 25. Section 5.8: > > * If RTCP mux is indicated, prepare to demux RTP and RTCP from > the RTP ICE component, as specified in [RFC5761], > Section 5.1.1. If RTCP mux is not indicated, but was indicated > in a previous description, this MUST result in an error. > > I note that there can be difference here between an offer and an > answer if the RTCP mux indication may have changed or not between > these two description. > > 26. Section 5.9: > o For any specified "CT" bandwidth value, set this as the limit for > the maximum total bitrate for all m= sections, as specified in > Section 5.8 of [RFC4566]. The implementation can decide how to > allocate the available bandwidth between m= sections to > simultaneously meet any limits on individual m= sections, as well > as this overall session limit. > > I think this text can be improved to make it clearer that CT doesn't > imply a fixed over time divide of the bandwidth between RTP streams. > As long as individual media sources streams stay within other > requirements such as b=AS/TIAS they can be changed dynamically. > > 27. Section 5.10: > > * If the media section has RTCP mux enabled, discard any RTCP > component, and begin or continue muxing RTCP over the RTP > component, as specified in [RFC5761], Section 5.1.3. > Otherwise, prepare to transmit RTCP over the RTCP component; if > no RTCP component exists, because RTCP mux was previously > enabled, this MUST result in an error. > > I think this should say "any RTCP ICE component".. > > 28. Section 5.10: > When sending RTCP feedback, use the > SSRC of an outgoing Source RTP Stream as the RTCP sender SSRC; > if no outgoing Source RTP Stream exists, choose a random one. > > This is okay, but could be slightly more open in regards to sending > feedback packets efficiently. Section 5.4.1 in > https://datatracker.ietf.org/doc/draft-ietf-avtcore-rtp-multi-stream/?include_text=1 > <https://datatracker.ietf.org/doc/draft-ietf-avtcore-rtp-multi-stream/?include_text=1> > is providing more detailed rules for things to consider. > > 29. Section 6: > > If > any payload type could map to more than one RtpReceiver, map to > the RtpReceiver whose m= section appears earliest in the local > description. > > I think this is a bad advice. I think it should say that if this is > the case, PT should not be used to try to determine which m= section > it belongs to. I think wrongly attributing a packet is worse than > dropping it in cases where the information is incomplete. This rule > can result in that one associate an SSRC with the wrong m= section. > > 30. Section 6: > If the packet has a MID and that MID is in the table mapping MID > to RtpReceiver, update the incoming SSRC mapping table to include > an entry that maps the packet's SSRC to the RtpReceiver for that > MID. > > This is all fine, but requires an addition. If there was already a > MID associated with the SSRC, i.e. a new MID has been assigned to > this SSRC, then there is deleting in the old MIDs association table > that needs to happen. > > 31. Section 6: > > I think this section should be updated to work with the BUNDLE text > as that matures. I understand that there are a few additional cases > one likes to cover for non WebRTC endpoints, but still, lets not > introduce unnecessary failure cases over that. > > 32. Section 6: > > The RTCP packet routing. This doesn't match my view of how RTCP > processing happens. I think the "deliver a copy of the packet to > the RtpReceiver associated with that SSRC." > > Is the part that I have most issues with. What I find more relevant > and correct and likely matching more implementations are" > > deliver the information to > the RtpReceiver associated with that SSRC. > > > Cheers > > > Magnus Westerlund > > ---------------------------------------------------------------------- > Services, Media and Network features, Ericsson Research EAB/TXM > ---------------------------------------------------------------------- > Ericsson AB | Phone +46 10 7148287 > <tel:%2B46%2010%207148287> > Färögatan 6 | Mobile +46 73 0949079 > <tel:%2B46%2073%200949079> > SE-164 80 Stockholm, Sweden | mailto: magnus.westerlund@ericsson.com > <mailto:magnus.westerlund@ericsson.com> > ---------------------------------------------------------------------- > > -- Magnus Westerlund ---------------------------------------------------------------------- Services, Media and Network features, Ericsson Research EAB/TXM ---------------------------------------------------------------------- Ericsson AB | Phone +46 10 7148287 Färögatan 6 | Mobile +46 73 0949079 SE-164 80 Stockholm, Sweden | mailto: magnus.westerlund@ericsson.com ----------------------------------------------------------------------
- [rtcweb] Working Group Last Call: JSEP Ted Hardie
- Re: [rtcweb] Working Group Last Call: JSEP Colin Perkins
- Re: [rtcweb] Working Group Last Call: JSEP Bernard Aboba
- Re: [rtcweb] Working Group Last Call: JSEP Ted Hardie
- Re: [rtcweb] Working Group Last Call: JSEP Philipp Hancke
- Re: [rtcweb] Working Group Last Call: JSEP Bernard Aboba
- Re: [rtcweb] Working Group Last Call: JSEP Justin Uberti
- [rtcweb] PR-Answer (Re: Working Group Last Call: … Harald Alvestrand
- Re: [rtcweb] Working Group Last Call: JSEP Magnus Westerlund
- Re: [rtcweb] Working Group Last Call: JSEP Ted Hardie
- Re: [rtcweb] Working Group Last Call: JSEP Magnus Westerlund
- Re: [rtcweb] Working Group Last Call: JSEP Peter Thatcher