An SdesPacket can contain multiple Sdes reports (ssrc, SdesData) which we process here Due to our architecture with 1 RtpSession / RtpParticipant and multiple RtpSenders / RtpStreams (each of which get their own ssrc and SdesData) it is difficult to properly map the SdesData to the participant, because they all share the same CName. The participant properties will have a CName, Name, Email, Phone, etc plus any private extensions for the participant. In order to conserve Rtcp bandwidth, the streams will only send out CName, Name and any private extensions for the stream. And the stream's Name may be completely different from the participant's name. The problem is that we don't want the participant to be updated from the stream's properties due to sharing a CName. So we use the private extension "Source" to distinguish between a participant's SdesData and a Stream's SdesData The last complication is that AccessGrid doesn't have this private extension, probably because they have a 1:1 mapping between a sender and receiver. In order to not break interop, we allow for the case of the private extension not being there, in which case the participant data will be updated from any and all SdesData that share that CName