[Home]

Summary:ASTERISK-26487: res_rtp_asterisk: RTP stream frozen when receiving RTCP packets
Reporter:Daniel Berteaud (dani)Labels:
Date Opened:2016-10-20 04:59:07Date Closed:2016-10-20 06:47:34
Priority:MajorRegression?
Status:Closed/CompleteComponents:Resources/res_rtp_asterisk
Versions:13.11.1 13.11.2 Frequency of
Occurrence
Frequent
Related
Issues:
duplicatesASTERISK-26280 DNS lookups can block channel media paths
Environment:CentOS 7 x86_64Attachments:
Description:Using asterisk rpm from Tucny (https://ast.tucny.com/) on CentOS 7 x86_64, with FreePBX 13 (from sources). Phones are Polycom soundpoint IP331 and IP651. A patton smartnode SN4636 is used to connect 2 T0 lines.

Everything is working well, except that sometime, very randomly, we have no more sound, for exactly 4 seconds. This is occuring very randomly (can be anywhere from every 5 minutes, to no problem in two hours of call). This coupled with the very short duration of the problem make it quite hard to analyse.

After spending hours looking at this, I found that the problem always occures when asterisk receive an RTCP packets (from either one of the polycom, or the smartnode). When the problem occurs, asterisk stops sending RTP streams for this call for exactely 4 sec (we can see this with a tcpdump capture on the asterisk server).

When the error occurs, there's nothing particular in asterisk log, no matter the log level. It looks like a thread is blocked. Not sure where, but maybe the duration of 4 seconds can talk to someone ?

I've worked around the problem by simply droping RTCP packets with this iptables rule:

-A INPUT -p udp --dport 10000:20000 -m length --length 90:130 -j DROP

Since then, no more audio issue.
Comments:By: Asterisk Team (asteriskteam) 2016-10-20 04:59:07.895-0500

Thanks for creating a report! The issue has entered the triage process. That means the issue will wait in this status until a Bug Marshal has an opportunity to review the issue. Once the issue has been reviewed you will receive comments regarding the next steps towards resolution.

A good first step is for you to review the [Asterisk Issue Guidelines|https://wiki.asterisk.org/wiki/display/AST/Asterisk+Issue+Guidelines] if you haven't already. The guidelines detail what is expected from an Asterisk issue report.

Then, if you are submitting a patch, please review the [Patch Contribution Process|https://wiki.asterisk.org/wiki/display/AST/Patch+Contribution+Process].