Merged revisions 112209 via svnmerge from
authorJoshua Colp <jcolp@digium.com>
Tue, 1 Apr 2008 18:06:13 +0000 (18:06 +0000)
committerJoshua Colp <jcolp@digium.com>
Tue, 1 Apr 2008 18:06:13 +0000 (18:06 +0000)
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r112209 | file | 2008-04-01 15:02:43 -0300 (Tue, 01 Apr 2008) | 4 lines

Disable Packet2Packet bridging when we need to feed DTMF frames into the core. Some implementations do not like how we switch between things.
(closes issue #12212)
Reported by: bamby

........

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@112210 65c4cc65-6c06-0410-ace0-fbb531ad65f3

main/rtp.c

index ff2b83f..7db8fc4 100644 (file)
@@ -3826,9 +3826,9 @@ enum ast_bridge_result ast_rtp_bridge(struct ast_channel *c0, struct ast_channel
                audio_p1_res = AST_RTP_TRY_PARTIAL;
        }
 
-       /* If the core will need to compensate and the P2P bridge will need to feed up DTMF frames then we can not reliably do so yet, so do not P2P bridge */
-       if ((audio_p0_res == AST_RTP_TRY_PARTIAL && ast_test_flag(p0, FLAG_P2P_NEED_DTMF) && ast_test_flag(p0, FLAG_DTMF_COMPENSATE)) ||
-           (audio_p1_res == AST_RTP_TRY_PARTIAL && ast_test_flag(p1, FLAG_P2P_NEED_DTMF) && ast_test_flag(p1, FLAG_DTMF_COMPENSATE))) {
+       /* If we need to feed frames into the core don't do a P2P bridge */
+       if ((audio_p0_res == AST_RTP_TRY_PARTIAL && ast_test_flag(p0, FLAG_P2P_NEED_DTMF)) ||
+           (audio_p1_res == AST_RTP_TRY_PARTIAL && ast_test_flag(p1, FLAG_P2P_NEED_DTMF))) {
                ast_channel_unlock(c0);
                ast_channel_unlock(c1);
                return AST_BRIDGE_FAILED_NOWARN;