From: Josh Allmann Date: Fri, 28 Oct 2016 14:41:19 +0000 (-0400) Subject: FS-9654: Fix RTP packet drops X-Git-Tag: v1.8.0~1146^2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=4a15d0a3c3e472c62e99f44e00ba5f3abeceeb8e;p=thirdparty%2Ffreeswitch.git 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. --- diff --git a/src/switch_rtp.c b/src/switch_rtp.c index 5737434787..1acd1d5b08 100644 --- a/src/switch_rtp.c +++ b/src/switch_rtp.c @@ -6841,7 +6841,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;