I'm currently trying to get my head around the RTCP support in Asterisk and get some valuable data out of the basic support that we have. While debugging I've noticed a lot of different behaviour in phones.
Some phones end the RTP stream by sending RTCP goodbye message. Is this a good practise? When should it be sent? I've seen phone that send RTP and RTCP after they've transmitted a BYE, which is against RFC3261 if I understand it correctly. Is there any usage of the SDES fields apart from the CNAME? Eyebeam adds some proprietary field to connect the stream to the SDP, but other than that I've seen no interesting use of it. I was considering using the SDES for authentication of the stream. I've seen some ideas floating around in regards to that, and it doesn't seem too complicated to implement. I've also noticed some issues with NAT traversal and RTCP. For RTP, phones send packets and quickly adopts to the incoming stream, and changes RTP to be sent to the sender's address. For RTCP, I've seen no implementation that tries to open the NAT by starting to send a few packets at the beginning of the session - thus RTCP often fails over NAT. Reading the RTP RFC, I realize I can send a RTCP packet with an empty RR report and a SDES block with CNAME as a NAT keepalive and NAT opener... A few of those in the beginning of the RTP session will help RTCP flow and I actually get the RTCP packets I need from the other end. Has anyone else seen this as a problem and tried to solve it? If so, how? Cheers, /O _______________________________________________ Sip-implementors mailing list [email protected] https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors
