diff --git a/src/switch_rtp.c b/src/switch_rtp.c index f9b2c1a7d8..5e741c4eb7 100644 --- a/src/switch_rtp.c +++ b/src/switch_rtp.c @@ -3008,7 +3008,10 @@ static int rtp_common_read(switch_rtp_t *rtp_session, switch_payload_t *payload_ if (rtcp_poll_status == SWITCH_STATUS_SUCCESS) { rtcp_status = read_rtcp_packet(rtp_session, &rtcp_bytes, flags); - if (rtcp_status == SWITCH_STATUS_SUCCESS && switch_test_flag(rtp_session, SWITCH_RTP_FLAG_RTCP_PASSTHRU)) { + if (rtcp_status == SWITCH_STATUS_SUCCESS) { + switch_rtp_reset_media_timer(rtp_session); + + if (switch_test_flag(rtp_session, SWITCH_RTP_FLAG_RTCP_PASSTHRU)) { switch_core_session_t *session = switch_core_memory_pool_get_data(rtp_session->pool, "__session"); switch_channel_t *channel = switch_core_session_get_channel(session); @@ -3075,6 +3078,7 @@ static int rtp_common_read(switch_rtp_t *rtp_session, switch_payload_t *payload_ } } } + } if (bytes && rtp_session->recv_msg.header.version == 2 &&