From: Joshua Colp Date: Wed, 19 Sep 2012 17:05:47 +0000 (+0000) Subject: Fix a regression where direct media was not permitted for calls using SIP INFO DTMF. X-Git-Tag: 10.10.0-rc1~51 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=7af34e67ad55defd5d64da19e354ec58fed046c4;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 ........ Merged revisions 373165 from http://svn.asterisk.org/svn/asterisk/branches/1.8 git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/10@373179 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- diff --git a/channels/chan_sip.c b/channels/chan_sip.c index 10dbd5032a..1b92b70ccc 100644 --- a/channels/chan_sip.c +++ b/channels/chan_sip.c @@ -30187,7 +30187,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; }