Colin, More comments inline. > Thanks for the review - some comments inline. > > On 16 Jul 2007, at 22:35, Black_David@xxxxxxx wrote: > > I have been selected as the General Area Review Team (Gen-ART) > > reviewer for this draft (for background on Gen-ART, please see > > http://www.alvestrand.no/ietf/gen/art/gen-art-FAQ.html). > > > > Please resolve these comments along with any other Last Call > > comments you may receive. > > > > > > Document: draft-ietf-avt-rtp-and-rtcp-mux-05.txt > > Reviewer: David Black > > Review Date: 16 July 2007 > > IETF LC End Date: 17 July 2007 > > > > Summary: > > This draft is on the right track, but has open issues, > > described in the review. > > > > Comments: > > > > The draft is generally in good shape, although one needs to > > be an RTP expert to understand all the details. > > > > The only "open issue" is the missing instructions to IANA > > for RTCP packet type registration - from a technical standpoint, > > this is a nit, but getting it right is of sufficient importance > > to avoidance of future restrictions RTP/RTCP multiplexing that > > I've flagged it as an open issue. > > > > Everything else in this review is an editorial comment, although > > the absence of the explanation of the mechanics of the RTP/RTCP > > conflicts makes that section of the draft difficult to read. > > > > Section 1 talks about NAT (Network Address Translation) as a > > motivation, but the real motivation appears to be NAPT (Network > > Address Port Translation). This ought to be discussed, and I > > strongly suggest an Informative reference to RFC 3022. The > > term "NAT pinhole" also needs to be explained here to connect > > the problems caused by two UDP ports to NAPT usage, and it > > may be useful to mention firewall pinholes as a related issue. > > We can change "Network Address Translation (NAT)" to "Network Address > Port Translation (NAPT)" in the Introduction, and add a reference to > RFC 3022, sure. Sloppy terminology on my part. > > Would changing "since opening multiple NAT pinholes can be costly" to > "since maintaining multiple NAT bindings can be costly" address your > other concern? Yes, although the firewall interaction would still be useful to mention as the number of ports that have to be opened for an application is a consideration in firewall administration. > > Section 4 should explain the mechanics of the RTP/RTCP conflict: > > - The RTCP PT is bits 8-15. > > - The RTP PT is bits 9-15. > > - RTP uses bit 8 in that word for a M (Marker) bit that > > may be on or off. > > The latter item is the cause for needing to check for whether the > > RTCP PT conflicts with either the RTP PT or the RTP PT + 128. > > The draft hints at this already in section 4: > > This demultiplexing method works because the RTP payload type and > RTCP packet type occupy the same position within the packet. > > If you think more is needed, please suggest wording, and I'll add it. Try this - it's mostly a rewrite for clarity, the important structural change is describing the involvement of the marker bit before stating the restrictions. OLD: When RTP and RTCP packets are multiplexed onto a single port, they can be distinguished provided: 1) the RTP payload type (PT) values used are distinct from the RTCP packet types used; and 2) for each RTP payload type, PT+128 is distinct from the RTCP packet types used. The first constraint precludes a direct conflict between RTP payload type and RTCP packet type, the second constraint precludes a conflict between an RTP data packet with marker bit set and an RTCP packet. This demultiplexing method works because the RTP payload type and RTCP packet type occupy the same position within the packet. NEW: When RTP and RTCP packets are multiplexed onto a single port, the RTCP packet type field occupies the same position in the packet as the combination of the RTP marker (M) bit and the RTP payload type (PT). This field can be used to distinguish RTP and RTCP packets when two restrictions are observed: 1) the RTP payload type values used are distinct from the RTCP packet types used; and 2) for each RTP payload type (PT), PT+128 is distinct from the RTCP packet types used. The first constraint precludes a direct conflict between RTP payload type and RTCP packet type, the second constraint precludes a conflict between an RTP data packet with the marker bit set and an RTCP packet. > > The last 2 paragraphs in Section 4 before the final Note in that > > section need attention: > > - The paragraph on registration of new RTCP packet types needs to > > instruct IANA on what rules to enforce. The use of "SHOULD" > > in the current text is not sufficient, instead this needs to > > be restated as instructions to IANA on how to assign RTCP > > packet types and noted in the IANA considerations section. > > Makes sense. I suggest adding something like the following to the > IANA considerations: > > The rules for assignment of RTP RTCP Control Packet Types in the RTP > Parameters registry are updated as follows. When assigning RTP RTCP > Control Packet types, IANA is requested to assign unused values from > the range 200-254 where possible. If that range is fully occupied, > values from the range 194-199 may be used, and then values from the > range 1-191. This improves header validity checking of RTCP packets > compared to RTP packets or other unrelated packets. The values 0 and > 255 are avoided for improved validity checking relative to random > packets since all-zeros and all-ones are common values. Ok, and please bring the Section 4 text into line with this. > > > - In this text in the second paragraph: > > > > Given these constraints, it is RECOMMENDED to follow the guidelines > > in the RTP/AVP profile [7] for the choice of RTP payload type values, > > > > Insert the word "dynamic" between "the choice of" and "RTP > > payload type values" for clarity. > > The guidelines in the RTP/AVP profile apply to both static and > dynamic RTP payload types, so inserting "dynamic" here would be > incorrect. Ok, but IANA thinks the RTP static payload type registry is closed. OTOH, if static payload types are a concern, should the current 72--76 "reserved for RTCP conflict avoidance" range in the RTP payload type registry be expanded to 64--95 or 66--95 to prevent conflicts with future RTCP packet type allocations? That would seem like a prudent thing to do. Thanks, --David ---------------------------------------------------- David L. Black, Senior Technologist EMC Corporation, 176 South St., Hopkinton, MA 01748 +1 (508) 293-7953 FAX: +1 (508) 293-7786 black_david@xxxxxxx Mobile: +1 (978) 394-7754 ---------------------------------------------------- _______________________________________________ Ietf@xxxxxxxx https://www1.ietf.org/mailman/listinfo/ietf