better to publish it on jira yes, thanks Abdullah On 1/16/2018 7:04 AM, Vallimamod Abdullah wrote:
Hi,
Check the 2 first bits of the raw rtcp packet, it is where the version is set (http://www.networksorcery.com/enp/protocol/rtcp.htm). In your case, it looks that the 2 bits are set, that's why you are getting 3. Are you sure it's the same packet for which you are seeing version = 2 in wireshark?
It would be really interesting to check the version on each rtcp packet from the call to validate that some are indeed incorrect.
But if you are willing to accept the bad version, you can apply the following patch (beware, it's a non tested hack):
diff --git a/src/switch_rtp.c b/src/switch_rtp.c index 0ae3b641f0..fe975aca32 100644 --- a/src/switch_rtp.c +++ b/src/switch_rtp.c @@ -6586,8 +6586,8 @@ static switch_status_t process_rtcp_packet(switch_rtp_t *rtp_session, switch_siz return SWITCH_STATUS_SUCCESS; } else { switch_log_printf(SWITCH_CHANNEL_SESSION_LOG(rtp_session->session), - SWITCH_LOG_WARNING, "Received an unsupported RTCP packet version %d\n", msg->header.version); - return SWITCH_STATUS_FALSE; + SWITCH_LOG_WARNING, "Received an unsupported RTCP packet version %d, forcing to 2\n", msg->header.version); + msg->header.version = 2; } }
Best Regards,