From 43f889cfeef5eb1b1166530ab9c0702d2f52a578 Mon Sep 17 00:00:00 2001 From: Josh Allmann Date: Fri, 28 Oct 2016 10:41:19 -0400 Subject: [PATCH] FS-9654: Fix RTP packet drops There was issue with certain endpoints that would lead to dropping nearly every other RTP packet from the callee. The scenario is as follows: the caller (bridged through FreeSWITCH) offers codecs A and B with payload types X and Y, respectively. The callee answers with codec B and payload type X. The fix is to use the sender's expected payload type when checking against the received RTP packet, rather than the receiver's. --- src/switch_rtp.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/switch_rtp.c b/src/switch_rtp.c index 9e2b708444..77d4603c95 100644 --- a/src/switch_rtp.c +++ b/src/switch_rtp.c @@ -6830,7 +6830,7 @@ static int rtp_common_read(switch_rtp_t *rtp_session, switch_payload_t *payload_ continue; } - if (rtp_session->last_rtp_hdr.pt == pmap->pt) { + if (rtp_session->last_rtp_hdr.pt == pmap->recv_pt) { accept_packet = 1; if (pmapP) { *pmapP = pmap;