Subject: [AVT] Help with SSRC in RTCP

From: "O'Connor, Kevin" <[email-masked]>
Date: Fri, 25 Aug 2006 13:14:12 -0400

In the fixed header portion of the RTCP receiver and sender reports
described in RFC3550, the SSRC is referred to as the "SSRC of sender" or
"SSRC of packet sender".

I'm a little confused as to what this value should be in some cases. For
example, in the case of a single, unicast stream (one RTP sender and one
RTP receiver), it's clear to me that the RTP sender will use the SSRC of
the stream being sent in the fixed header of the RTCP sender reports it
sends to the receiver. But what value does the RTP receiver use for SSRC
in the RTCP fixed header when sending RTCP receiver reports back to the
sender?

It would seem to me that the receiver, even though it does not send an
RTP stream, should generate its own unique SSRC for sending reports back
to the sender, but I can't find any indication of this in RFC3550. In
fact, RFC3550 defines SSRC as "The source of a stream of RTP packets,
identified by a 32-bit numeric SSRC identifier carried in the RTP header
so as not to be dependent upon the network address."

Kevin O'Connor

Interactive Intelligence, Inc.

_______________________________________________
Audio/Video Transport Working Group
[email-masked]
https://www1.ietf.org/mailman/listinfo/avt

---

From: Ron Frederick <[email-masked]>
Date: Fri, 25 Aug 2006 14:01:49 -0700

O'Connor, Kevin wrote:
> described in RFC3550, the SSRC is referred to as the “SSRC of sender” or 
> “SSRC of packet sender”.
> 
> I’m a little confused as to what this value should be in some cases. For 
> RTP receiver), it’s clear to me that the RTP sender will use the SSRC of 
> to the sender, but I can’t find any indication of this in RFC3550. In 
> fact, RFC3550 defines SSRC as “The source of a stream of RTP packets, 
> so as not to be dependent upon the network address.”

Yes - all participants (both senders and receivers) will need to assign 
themselves a 32-bit SSRC identifier in order to be able to send either 
RTP or RTCP packets, and follow the usual rules for detecting and 
correcting for SSRC collisions. Also, receivers will need to choose a 
CNAME value and transmit that along with their receiver reports, 
providing a mapping from their SSRC to a canonical name. So, RFC 3550 
really should say that the SSRC identifies any source of RTP or RTCP 
packets, not just RTP packets.
-- 
Ron Frederick
[email-masked]

---

From: "Desineni, Harikishan" <[email-masked]>
Date: Fri, 25 Aug 2006 18:02:53 -0700

>From Section 6.5, RFC3550
"End systems send one SDES packet containing their own source identifier
(the same as the SSRC in the fixed RTP header)".

Based on your comment, I think that the above stmt from Sec 6.5 should
be interpreted as stated below.

If I am a sender and receiver (or just a sender) then I should provide a
mapping between "sender SSRC" and CNAME. "Sender SSRC" is same the SSRC
in fixed RTP header.

If I am just a receiver (does not transmit any RTP packets) then I
should provide a mapping between "SSRC of packet sender" and CNAME.
"SSRC of packet sender" is the SSRC used for sending RTCP packets.

- - - - - - - - - - - - - - - - - -
Harikishan Desineni
Qualcomm Inc.,
mailto:[email-masked]

---

From: Ron Frederick <[email-masked]>
Date: Fri, 25 Aug 2006 20:16:48 -0700

> "SSRC of packet sender" is the SSRC used for sending RTCP packets.

That's correct.

For senders, the chosen SSRC will appear both in the SSRC identifier 
field in the fixed header of RTP packets (at offset 8) and in the "SSRC 
of sender" field in the fixed header of RTCP SR packets (at offset 4, 
just before the sender info). In some cases, senders may receive their 
own packets (such as when sending to a multicast group). In that case, 
this same SSRC value MAY appear as one of the SSRC_n values in the 
report blocks which follow the sender info. However, this is not required.

For receivers which do not transmit any RTP packets, the chosen SSRC 
will appear in the fixed header of RTCP RR packets (at offset 4, just 
before the report blocks).

In both cases, this same SSRC value will also appear later in an RTCP 
SDES packet containing one or more SDES items. Currently, only the CNAME 
SDES item is mandatory, but other SDES items may be sent as well. End 
systems should only send SDES items with their own SSRC identifier in 
them. The RTCP SDES packet containing the end system's CNAME should be a 
part of the same compound RTCP packet which contains the SR or RR, 
unless that packet is being split to allow for partial encryption.
-- 
Ron Frederick
[email-masked]