|Summary:||ASTERISK-18889: SRTP packet corruption with SRTCP packet contents|
|Reporter:||Dan Collins (dcollins0)||Labels:|
|Date Opened:||2011-11-18 11:45:17.000-0600||Date Closed:||2011-12-12 13:32:39.000-0600|
|Versions:||SVN 18.104.22.168 10.0.0-rc2||Frequency of|
|Environment:||Attachments:||( 0) ASTERISK-18889.diff|
|Description:||The function ast_srtp_protect uses a common buffer for both SRTP and SRTCP packets. Since this function can be called from multiple threads for the same SRTP session (scheduler for SRTCP and channel for SRTP) it is possible for the packets to become corrupted as the buffer is used by both threads simultaneously.|
|Comments:||By: Matt Jordan (mjordan) 2011-11-18 15:28:29.427-0600|
It does look like this is the case. Have you had this happen when using srtp? How often does it occur?
By: Dan Collins (dcollins0) 2011-11-18 15:49:56.329-0600
Yes, we've seen this in our lab and on production servers. We discovered it doing phone interop tests -- it caused the phone to lose ROC sync and drop audio.
We tend to see it once every 2-3 hours.
I have a patch (add dedicated srtcp buffer). I will upload pending license acceptance.
By: Dan Collins (dcollins0) 2011-11-28 08:26:04.427-0600
Patch for svn trunk to resolve issue. Creates another buffer in the srtp struct for use by the rtcp packets.