Subject: [rtcweb] Which RTCP packet types are valid in WebRTC?

From: Iñaki Baz Castillo <[email-masked]>
Date: Sun, 31 Aug 2014 13:47:47 +0200

Hi, in order to correctly distinguish between RTP and RTCP, RFC 5761
(RTCP-mux) states:

> To allow this multiplexing, future RTCP packet type assignments SHOULD be made after the current assignments in the range 209-223, then in the range 194-199, so that only the RTP payload types in the range 64-95 are blocked.

IANA has the following assignments for RTCP types:

http://www.iana.org/assignments/rtp-parameters/rtp-parameters.xhtml#rtp-parameters-4

194 SMPTETCSMPTE time-code mapping [RFC5484]
195 IJExtended inter-arrival jitter report [RFC5450]
200 SRsender report [RFC3550]
201 RRreceiver report [RFC3550]
202 SDESsource description [RFC3550]
203 BYEgoodbye [RFC3550]
204 APPapplication-defined [RFC3550]
205 RTPFBGeneric RTP Feedback [RFC4585]
206 PSFBPayload-specific [RFC4585]
207 XRextended report [RFC3611]
208 AVBAVB RTCP packet ["Standard for Layer 3 Transport Protocol for
Time Sensitive Applications in Local Area Networks." Work in
progress.]
209 RSIReceiver Summary Information [RFC5760]
210 TOKENPort Mapping [RFC6284]
211I DMSIDMS Settings [RFC7272]

RFC 3550 defines RTCP packets types in 200-204, so I do not understand
the sentence above: "future RTCP packet type assignments SHOULD be
made after the current assignments in the range 209-223".

So what about 205-208? It is confusing IMHO.

Given the above information, is it safe to use the following check in
order to find RTCP packets when RTCP-mux is used?:

if (type >= 194 && type <= 223)
  // it is RTCP
else
  // it is not RTCP

Thanks a lot.

-- 
Iñaki Baz Castillo
<[email-masked]>

---

From: Colin Perkins <[email-masked]>
Date: Sun, 31 Aug 2014 14:24:54 +0100

> So what about 205-208? It is confusing IMHO.

RTCP packet types 205-208 were already assigned when the draft that formed RFC 5761 was submitted for publication. At that time, the current assignments were 194, 195, and 200-208. The phrase “after the current assignments in the range 209-223” therefore makes sense, although maybe “after the current assignments, in the range 209—223” would have been clearer.

> if (type >= 194 && type <= 223)

RTCP packet types 192 and 193 are assigned, so a better check would be to use the range 192-223 inclusive for RTCP packets. 

Future RTCP packet type assignments outside that range are possible, but would seem unlikely.

-- 
Colin Perkins
http://csperkins.org/

---

From: Iñaki Baz Castillo <[email-masked]>
Date: Sun, 31 Aug 2014 15:31:04 +0200

> Future RTCP packet type assignments outside that range are possible, but would seem unlikely.

Thanks, so then I assume that detecting RTCP packets by checking their
packet type in the range 192-223 will not conflict with RTP packets
detection.

Thanks a lot.

-- 
Iñaki Baz Castillo
<[email-masked]>

---

From: Colin Perkins <[email-masked]>
Date: Sun, 31 Aug 2014 14:34:03 +0100

> packet type in the range 192-223 will not conflict with RTP packets

Don’t assume – look at what’s signalled.

-- 
Colin Perkins
http://csperkins.org/

---

From: Iñaki Baz Castillo <[email-masked]>
Date: Sun, 31 Aug 2014 15:36:47 +0200

> Don’t assume – look at what’s signalled.

Of course, I mean the case in which rtcp-mux is enabled.

-- 
Iñaki Baz Castillo
<[email-masked]>