From: Joshua Colp Date: Wed, 19 Sep 2012 16:02:18 +0000 (+0000) Subject: Fix a regression where direct media was not permitted for calls using SIP INFO DTMF. X-Git-Tag: 1.8.18.0-rc1~47 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=c605d8d481c7a6b456b4ea08b0858a40ed4a8411;p=thirdparty%2Fasterisk.git Fix a regression where direct media was not permitted for calls using SIP INFO DTMF. A change was committed to fix direct media ACL support. This change wrongly assumed that only a single channel technology structure exists for chan_sip. This is in fact false as a second exists for calls using SIP INFO DTMF. The code which performs direct media ACL checking now checks for both the non-INFO DTMF and INFO DTMF channel technology structures. (closes issue ASTERISK-20409) Reported by: michele cicciotti privatewave git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@373165 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- diff --git a/channels/chan_sip.c b/channels/chan_sip.c index 1a7d60a406..381a52e7e6 100644 --- a/channels/chan_sip.c +++ b/channels/chan_sip.c @@ -29255,7 +29255,8 @@ static struct ast_udptl *sip_get_udptl_peer(struct ast_channel *chan) if (!(opp_chan = ast_bridged_channel(chan))) { return NULL; - } else if ((opp_chan->tech != &sip_tech) || (!(opp = opp_chan->tech_pvt))) { + } else if (((opp_chan->tech != &sip_tech) && (opp_chan->tech != &sip_tech_info)) || + (!(opp = opp_chan->tech_pvt))) { return NULL; }