]> git.ipfire.org Git - thirdparty/asterisk.git/commit
res_pjsip_sdp_rtp: Fix accidentally native bridging calls
authorHolger Hans Peter Freyther <holger@moiji-mobile.com>
Wed, 23 Sep 2020 03:39:12 +0000 (11:39 +0800)
committerFriendly Automation <jenkins2@gerrit.asterisk.org>
Wed, 30 Sep 2020 12:09:30 +0000 (07:09 -0500)
commit0c1d9d4730bc5cac25f1fd653f7df6a49c5b2a9d
tree423ecf167b9e2321f5f7ebc40f2df9bbb44b83cc
parent1746703d2561138255739f57b04f2f9b3bed95c3
res_pjsip_sdp_rtp: Fix accidentally native bridging calls

Stop advertising RFC2833 support on the rtp_engine when DTMF mode is
auto but no tel_event was found inside SDP file.

On an incoming call create_rtp will be called and when session->dtmf is
set to AST_SIP_DTMF_AUTO, the AST_RTP_PROPERTY_DTMF will be set without
looking at the SDP file.

Once get_codecs gets called we move the DTMF mode from RFC2833 to INBAND
but continued to advertise RFC2833 support.

This meant the native_rtp bridge would falsely consider the two channels
as compatible. In addition to changing the DTMF mode we now set or
remove the AST_RTP_PROPERTY_DTMF.

The property is checked in ast_rtp_dtmf_compatible and called by
native_rtp_bridge_compatible.

ASTERISK-29051 #close

Change-Id: I1e0c1e324598a437932c0b7836bcb626aba8e287
res/res_pjsip_sdp_rtp.c