From 43f889cfeef5eb1b1166530ab9c0702d2f52a578 Mon Sep 17 00:00:00 2001
From: Josh Allmann <joshua.allmann@gmail.com>
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;