]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
Fix a regression where direct media was not permitted for calls using SIP INFO DTMF.
authorJoshua Colp <jcolp@digium.com>
Wed, 19 Sep 2012 17:05:47 +0000 (17:05 +0000)
committerJoshua Colp <jcolp@digium.com>
Wed, 19 Sep 2012 17:05:47 +0000 (17:05 +0000)
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

channels/chan_sip.c

index 10dbd5032ab090370dce1954b9dd29df98a1d30c..1b92b70cccce9b832ace2a5f6aed64e90423c6e3 100644 (file)
@@ -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;
        }