Subject: [Last-Call] Genart last call review of draft-ietf-rtcweb-sdp-11

From: Peter Yee via Datatracker <[email-masked]>
Date: Tue, 28 Apr 2020 23:50:03 -0700

Reviewer: Peter Yee
Review result: Ready with Nits

I am the assigned Gen-ART reviewer for this draft. The General Area
Review Team (Gen-ART) reviews all IETF documents being processed
by the IESG for the IETF Chair.  Please treat these comments just
like any other last call comments.

For more information, please see the FAQ at

<https://trac.ietf.org/trac/gen/wiki/GenArtfaq>.

Document: draft-ietf-rtcweb-sdp-11
Reviewer: Peter Yee
Review Date: 2020-04-28
IETF LC End Date: 2020-04-28
IESG Telechat date: Not scheduled for a telechat

Summary: This informative specification gives examples of using SDP to
negotiate session capabilities between WebRTC peers.  I lack the ability to
machine check each example for correctness, but I’ve read them and offered
suggestions to improve clarity and consistency.  I’ve also marked a large
number of nits that should be fixed prior to the document being submitted to
the RFC Editor to prevent gnashing of teeth and pulling of hair. ;-)  [Ready
with nits]

Major issues: None.

Minor issues:  None.

Nits:
(Given the difficulty in specifying a location within the examples, I’m relying
on the page numbers, section numbers, and other identifying marks to point out
where changes would be helpful.  That means you have to use the text version of
the draft to find what I'm specifying)

General:

Change “use-cases” to “use cases”.  The hyphen is unnecessary.  There’s also
one instance of “use-case” (singular) that needs to be changed.

Change “48khz” to “48 kHz” throughout the document.  That aligns with preferred
SI formatting and the proper name for the unit.

Strongly consider changing “Audio” to “audio”, “Video” to “video”, “Stream” to
“stream”, and “Session” to “session” throughout the document (with the obvious
exception of at the beginning of sentences and in section titles).  RFC 3550
does not capitalize these terms.

There’s inconsistent usage of “n-way” throughout the document.  To wit,
sometimes I see the number (generally n is 1 or 2) spelled out in English,
other times it is shown as numeric digits.  Sometimes the hyphen is present,
sometimes it is missing.  “Way” is sometimes capitalized, sometimes it’s not. 
I don’t care whether you usage the English word for a number or the actual
digits, but choose one for and use it consistently.  The hyphen is not
optional.  “Way” is lower case in this usage.  There are way too many of these
occurrences for me to mark them individually, but you should be able to find
them with a different searches.

Change “reduced size” to “reduced-size” throughout the draft.  This change
aligns the draft with RFC 5506.

In the “RFC#/Notes” column in several example, when RFC 5104 FIR is explained,
drop the word “Frame” from the entry.  RFC 5104 does not include “Frame” in the
term.  FIR is just “Full Intra Request”.

Change “sreams” to “streams” everywhere.  Change “stram” to “stream” everywhere.

Consider changing “Offer” to “offer”, “Answer” to “answer”, “Offerer” to
“offerer”, and “Answerer” to “answerer” to align with RFC 3264.

Change “end-point” to “endpoint” everywhere.

Specific:

Page 1, Abstract, 1st paragraph, 1st sentence: append a comma after “video”.

Page 1, Abstract, 1st paragraph, 2nd sentence: change “With in” to “Within”. 
Change “Rtcweb” to “WebRTC”.  Change “protocol” to “Protocol”.

Page 1, Abstract, 2nd paragraph, change “Rtcweb” to “WebRTC”, to maintain
alignment with draft-ietf-rtcweb-overview usage.

Page 3, section 1, 1st paragraph, 1st sentence: change “Javascript” to
“JavaScript”.  Append a comma after “updating”.

Page 3, section 3, title: delete “the”.

Page 3, section 3, 1st paragraph, 2nd sentence: delete “the”.

Page 3, 2nd paragraph, 2nd sentence: insert “a” before “multimedia”.  Append a
comma after “addresses”.  Append a comma after “invitation”.

Page 3, section 3, 3rd paragraph: append a comma after “[RFC3550]”.  Move
“[RFC7826]” between “Protocol” and “applications”.

Page 4, 1st paragraph: Insert “The figure” at the beginning of the sentence. 
Replace “Below figure” with “below”.  Insert “a” before “high-level”.

Page 5, 1st paragraph (after the figure), 1st sentence: insert “using a” before
“JavaScript”.

Page 5, 2nd numbered item: insert “a” before “participant’s”.

Page 5, section 4, 1st paragraph, 1st sentence: insert “the” before “SDP”. 
Append a comma after “updating”.

Page 5, section 4, 1st paragraph, 1st sentence: insert “to” before “[RFC3264]”.
 Change “operation” to “operations”.

Page 6, 1st paragraph, 1st sentence: change “rule” to “rules”.

Page 6, 1st paragraph, 2nd sentence: insert “a” before “protocol”.  Delete
“with”.  Insert “the” before “participants”.  Change “from” to “with”.  Change
“others” to “other”.  Delete “perspective”.  Append “messages” (or another
similar word) after “SDP”.

Page 6, 2nd paragraph, 1st sentence: insert a space before “the protocol”.

Page 6, 4th paragraph, 1st sentence: change “With in” to “Within”.  Change
“them” to “themselves”.

Page 6, 4th paragraph, 2nd sentence: Insert “The” before “JSEP”.  Insert “and”
before “transport”.

Page 6, section 5, 1st paragraph: change “web based” to “web-based”.  Change
“below” to “follows”.

Page 6, 1st bullet item: change “Audio only” to “audio-only”.  Change “Video
only” to “video-only”.  Change “Audio/Video” to “audio/video”.  Change
“Sessions” to “sessions”.  RFC 3550 does not capitalize these words.

Page 6, 4th bullet item: insert “the” before “ICE”.

Page 6, 5th bullet item: change “RTCP based” to “RTCP-based”.

Page 6, 6th bullet item: insert “or” before “dual”.  Change “dual-stack based”
to “dual stack-based”.

Page 7, 1st bullet item: change “BUNDLE based” to “BUNDLE-based”.

Page 7, section 5.1, 2nd bullet item: change “apriori” to “a priori”.  Insert
“a” before “successful”.

Page 7, section 5.1, 3rd bullet item: change “is” to “are”.  Append a comma
after “detailed”.

Page 7, section 5.1, 4th bullet item: change “Eventhough” to “Even though”.

Page 7, section 5.1, 5th bullet, 3rd sub-bullet: change the “an” before “ASCII”
to “a” in both places.  Change “ASCII” to “US-ASCII” in both occurrences to
align with IANA’s preferred usage.

Page 8, 1st bullet item: insert “The” at the beginning of the sentence:  Change
“Following” to “following”.

Page 8, 1st paragraph following the sub-bullets: insert “the” before
“[I-D.ietf-rtcweb-jsep]”.

Page 8, 2nd bullet item: change “a” to “an” before “RTP Session”.  Change the
“a” before “RTP Stream” to “an”.  Also review the general nit regarding
capitalization of terms.

Page 8, 3rd bullet item: append a comma after “H.264”.

Page 8, 4th bullet item: change “is” to “are”.

Page 8, 5th bullet item: change “is” to “are”.

Page 8, 6th bullet item: append “’s” after “Bob”.

Page 8, 7th bullet item: change “Mediastream” to “MediaStream”.  Insert “and”
before “MediaStreamTrack”.  Change “Ids” to “IDs”.  Insert “than” before
“and/or” append “in comparison to” after “random”.  Delete “than” before “the
ones”.

Page 9, 3rd bullet item: delete “section”.

Page 9, section 5.2.1, 1st paragraph: insert “the” before “SDP”.  Insert “a”
before “secure”.

Page 9, ladder diagram: see general nit “n-way”.

Page 14, section 5.2.2, ladder diagram heading: change the comma to a slash.

Page 14, section 5.2.2.1, 1st sentence: change “IPv4 only” to “IPv4-only”.

Page 19, RFC#/Notes column, RFC4585: change “NACK based” to “NACK-based”.

Page 19, RFC#/Notes column, RFC5104: delete an extraneous space after they
hyphen.

Page 24, RFC#/Notes column, RFC4585: change “NACK based” to “NACK-based”.

Page 24, section 5.2.3, title: change “Data Only” to “Data-only”.

Page 24, section 5.2.3, 1st sentence: change “setup” to “set up”.  Change
“file-transfer” to “file transfer”.  Change the comma after “file-transfer” to
“ or”.  Append a comma after “control”.

Page 25, ladder diagram: change “SCTP based” to “SCTP-based”.  Change
“DataChannel” to “data channel”.

Page 31, section 5.2.5, 2nd sentence: insert “the” before “first”.

Page 35, section 5.2.6: I had some difficulty in rewriting this sentence to
make sure it’s clear that no one mistakenly believes the audio is somehow muxed
into the video stream.  I ended up with “In this scenario Alice and Bob engage
in a one-way audio and video session with Bob receiving Alice's her
presentation slides as a video stream and her audio.”  I’m not entirely happy
with that either.  If you believe that the original wording is unlikely to be
mistaken in its intent by the reader, feel free to ignore this suggestion.

Page 36, ladder diagram: change “send only” to “send-only”.

Page 37, RFC#/Notes column, RFC3264: change “Send only” to “Send-only”

Page 38, RFC#/Notes column, RFC3264: change “Receive only” to “Receive-only”.

Page 39, section 5.2.7: insert “the” before “following”.  Change “setup” to
“set up”.  Append a period at the end of the sentence.

Page 40, 1st bullet item: delete “the” before “Alice”.

Page 40, 2nd bullet item: change “offerer’s” to “Offerer’s” to be consistent
with the previous bullet.  Or see the general nit concerning the terms “Offer”,
“Offerer”, “Answer”, and “Answerer” for a more general solution.  If accepting
that general nit, then a correction in the previous bullet item is needed and
this bullet item does not need to be changed.

Page 40, 1st paragraph after bullet items: insert “a” before “single”.  Insert
“of” before “the Media Streams”.  Consider making “Media Streams” lower case.

Page 40, ladder diagram, title: change the comma to “ and “.

Page 40, ladder diagram: change “address” to “addresses”.

Page 45, section 5.2.8, title: insert a space before “Video”.  Append a comma
after “Video”.

Page 45, ladder diagram, title: insert “ and “ before Data.

Page 45, ladder diagram: insert “an “ before “identical”.  Insert a space
before “Video” at the bottom of the diagram.

Page 50, ladder diagram, title: change the comma to “ and “.

Page 54, section 5.2.10, title: drop the parentheses.

Page 54, section 5.2.10, 1st sentence: change “show-cases” to “showcases”. 
Append a comma after “Video”.  Insert “the” before “data”.

Page 54, section 5.2.10, 2nd (partial) sentence: insert “a” before “unique”.

Page 55, 1st partial paragraph: insert “the” before “data”.

Page 59, section 5.2.11, 2nd sentence: insert “The” at the beginning of the
sentence.  Change “First” to “first”.  Change “setup” to “set up”.  Insert “an”
before “Audio”.  Insert “a” before “video”.

Page 60, ladder diagram, title: delete the space after “Only”.

Page 66, section 5.3, 1st sentence: change “coding, simulcast” to “coding and
simulcast”.

Page 66, section 5.3, 2nd sentence: insert “a” before “few”.

Page 66, section 5.3, 3rd sentence: change “to” to “of”.

Page 66, section 5.3.1, title: change “Sendonly” to “Send-only”.  Capitalize
“cameras”, “encodings”, and “camera” to match your other capitalization scheme
for most other section titles.

Page 66, section 5.3.1, 1st paragraph, 1st sentence: append “example” after
“SDP”.  Insert “an” before “Offer/Answer”.

Page 66, section 5.3.1, 1st paragraph, 2nd sentence: change “source” to
“sources”.

Page 66, section 5.3.1, 3rd, 4th, and 5th paragraphs: insert “The” at the
beginning of the paragraph.

Page 66, section 5.3.1, 5th paragraph: append “solely” after “sources”.

Page 67, 1st paragraph: Insert “The” at the beginning of the sentence:  delete
“the” before “5”.

Page 67, 2nd paragraph: delete “a” before “non-interactive”.

Page 67, ladder diagram: change “sendonly” to “send-only”.  Append a comma
after “H.264”.

Page 70, RFC#/Notes column, RFC3264: change “Send only” to “Send-only”.

Page 74, section 5.3.2, 1st paragraph, 2nd sentence: insert “is” before
“being”.  Change “stream” to “streams”.

Page 74, ladder diagram: insert “a” before “sendonly”.  Change “sendonly” to
“send-only”.  This section says the session has audio and a single video
source, but the diagram doesn’t show an audio offer being made.  Is that
correct?  Change “Codec” to “codec”.

Page 78, 1st paragraph: change “[RFC4588] style” to “[RFC4588]-style”.  Delete
the hyphen in “re-transmission” to align with RFC 4588 usage.

Page 78, 2nd and 3rd paragraphs: insert “The” at the beginning of the paragraph.

Page 79, ladder diagram: insert a space before “all muxed”.

Page 83, section 5.3.4, 2nd paragraph: change “Stream” to “Streams” and append
a comma.

Page 84 ladder diagram: change “audio,video” to “audio and video” at the bottom.

Page 88, section 5.3.5, 1st paragraph: insert “a” before “Simulcast”.  Change
“Simulcast” to “simulcast”.  Delete an extraneous “and”.  Change “[RFC5956]
style” to “[RFC5956]-style”.

Page 88, section 5.3.5, 2nd paragraph: append a comma after “mechanism”. 
Insert “with” before “one”.  Append a comma after “video streams”.  Append a
comma after “FEC streams”.  Insert “which” before “are sent”.

Page 89, ladder diagram: at the bottom of the diagram, you refer to this as “4
video streams”.  In the description on page 88, you referred to this as “2
simulcast video streams, and 2 associated FEC streams”.  Which one is it?  Are
FEC streams considered video streams?  Also, change the comma to “ and “. 
Change “Simulcast” to “simulcast”.  Append a comma after the “)”.

Page 93, section 5.4:  change “the” to “this”.  Change “exchange” to
“exchanges”.  Change “extension” to “extensions”.  Append a comma after
“scenarios”.

Page 93, section 5.4.1: change “audio-level” to “audio level”.

Page 97, section 5.4.2: change the sentence to start “This example of SDP
highlights the RTP header”

Page 97, ladder diagram: change “interest to audio” to “interest in audio”. 
Change “audio-levels” to “audio levels”.  Change “Audio-levels” to “Audio
levels”.  Change “CSRCS is” to “CSRCS are”.

Page 100, section 5.4.3, title: change “legacy” to “Legacy”.  Change “bundle”
to “Bundle”.

Page 100, section 5.4.3, 1st paragraph, 1st sentence: append a comma after
“WebRTC endpoint”.

Page 100, section 5.4.3, 1st paragraph, 2nd sentence: insert “an” before
“audio”.  Change “audio only” to “audio-only”.  Insert “the” before
“bundle-only”.

Page 100, section 5.4.3, 1st paragraph, last word: change the comma to a colon.

Page 100, section 5.4.3, 1st bullet item: Insert “The” at the beginning of the
sentence.  General nit regarding capitalization applies. Page 100, section
5.4.3, 2nd bullet: insert “the” before “BUNDLE”.

Page 100, NOTE: insert “the” before “BUNDLE”.

Page 101, ladder diagram: insert “the” between “accepts” and “audio” on the
side.

Page 105, section 5.4.4, 1st paragraph: change “which” to “that”.  Insert “an”
before “[RFC3264]”.  Change “RTP/AVP based” to “RTP/AVP-based”.  Insert “a”
before “DTLS”.

Page 105, section 5.4.4, 2nd paragraph: append a comma after “Bob”.  Append a
comma after “end-point” (noting general nit about end-point).  Insert “the”
before “procedures”.  Insert “a” before “DTLS”.  Change “DTLS-SRTP based” to
“DTLS-SRTP-based”.

Page 106, ladder diagram: change “End-point” to “endpoint” (lowercase, no
hyphen) twice.  Change “Legacy compliant” to “Legacy-compliant”.  Change “dtls”
to “DTLS”.  Change “rtcp” to “RTCP”.  On the side, change “legacy compliant” to
“legacy-compliant”.

Page 108, RFC#/Notes column, RFC4585, change “loss” to “Loss”.

Page 108, RFC#/Notes column, RFC4566 change “RTP/AVP based” to “RTP/AVP-based”
in two places.

Page 109, section 7, 2nd paragraph: append a comma after “TLS transport”.

Page 109, section 8, 2nd sentence: insert “a” before “syntax”.

Page 118, section A.1, 2nd sentence: change “compliant to” to “compliant with”.

Page 118, 2nd bullet item: insert “a” before “64”.  Change “64 bit” to
“64-bit”.  Append a comma after “’addrtype’”.

Page 118, 3rd bullet item: change “cases” to “case”.

Page 119, 1st bullet item: change “with” to “and have”.

Page 119, 3rd bullet item: change “WEBRTC” to “WebRTC”.

Page 119, section A.1.2: insert “The” at the beginning of the sentence.  Change
“Following” to “following”.

Page 119, section A.1.2, 1st bullet item: insert “the” before “dummy”.

Page 119, section A.1.2, 3rd bullet item: insert “The” at the beginning of the
sentence.

Page 119, section A.1.2, 5th bullet item: delete “in” before “included”.

Page 119, section A.1.2, 7th bullet item: append a comma after “retransmission”.

Page 119, section A.1.2, 8th bullet item: append a period at the end of the
sentence.

Page 119, section A.1.2, 10th bullet item: change “i.e” to “i.e.,”, i.e., add a
period and a comma.

Page 120, 4th bullet item: change “lines” to “line”.

Page 120, 6th bullet item: insert “the” before “following”.

Page 120, 8th bullet item: change “session level” to “session-level”.  Change
“lip same” to “same lip”.

Page 121, section A.1.3, title: change “DataChannel” to “Data Channel”.

Page 121, section A.1.3, change “datachannel” to “data channel”.

Page 121, 2nd bullet item: change “An JSEP” to “A JSEP”.

Page 121, 5th bullet item: insert “an” before “SCTP”.