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

Reply via email to