[asterisk-dev] Adventures in RTCP - a short report

Olle E. Johansson oej at edvina.net
Wed Jan 27 10:53:38 CST 2010


Friends,

During my adventures in RTCP I've discovered that it's not only Asterisk that has been paying too little attention to RTCP...

Grandstream GXV3140 doesn't send any RTCP reports during a five minute call. And it's a video phone. Video really needs RTCP. I *hope* there's a setting somewhere that I've missed.

Polycom Soundpoint IP600 - propably with old firmware - sends NTP timestamps that Wireshark tells me are dated Feb 7, 2036. This means that we have many years of roundtrip time, measured in millisecs. For a phone connected to the same switch as my Asterisk server, that's a huge latency. I guess they need a bit more of CPU power for that device. :-) (or it's me that needs help to upgrade my phone to a version where they've fixed this bug).

SNOM 370 sends a timestamp that's all zeroes, so we can't measure RTT.

Cisco/Linksys sends a valid timestamp and Asterisk measures RTT properly.

Many phones only send RTCP at regular intervals. If this interval is longer than the call, we'll get no report at all from the other side and can't get any idea about QoS for the outbound stream. It should really be a requirement to send a final report at hangup time for every call.

RTCP is also affected by NAT, the same way as RTP and SIP. So if there's too much time between each RTCP report, NAT relationships will be forgotten and RTCP packets lost. There should be a setting for the RTCP timer, so you can make sure that NAT is kept open. Asterisk has that and in my "pinefrog-1.4" version also sends a packet to open up the NAT when media starts.

We need to get the industry to shape up here and treat RTCP seriously. It will become even more important with new codecs that use the stats from RTCP to adapt to current network conditions. If you buy a lot of phones from a vendor, require proper RTCP support in the bid. I'll try to update a blacklist document in my svn branch. So far, CounterPath Eyebeam is the winner - final report sent together with the GoodBye packet. Cisco SPA is the second on the list, even though I get no final report from that phone.

Please keep testing my test branch "pinefrog-deluxe-rtcp-test" and provide me with feedback!

http://svn.digium.com/svn/asterisk/team/oej/pinefrog-deluxe-rtcp-test/

Cheers,
/Olle




More information about the asterisk-dev mailing list