mirror of
https://github.com/asterisk/asterisk.git
synced 2025-11-09 03:18:30 +00:00
We can not reliably do P2P bridging with DTMF passing back with compensation if we need to listen for DTMF frames. (issue #8962 reported by caio1982)
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@53434 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
@@ -3227,6 +3227,14 @@ enum ast_bridge_result ast_rtp_bridge(struct ast_channel *c0, struct ast_channel
|
|||||||
audio_p1_res = AST_RTP_TRY_PARTIAL;
|
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))) {
|
||||||
|
ast_channel_unlock(c0);
|
||||||
|
ast_channel_unlock(c1);
|
||||||
|
return AST_BRIDGE_FAILED_NOWARN;
|
||||||
|
}
|
||||||
|
|
||||||
/* Get codecs from both sides */
|
/* Get codecs from both sides */
|
||||||
codec0 = pr0->get_codec ? pr0->get_codec(c0) : 0;
|
codec0 = pr0->get_codec ? pr0->get_codec(c0) : 0;
|
||||||
codec1 = pr1->get_codec ? pr1->get_codec(c1) : 0;
|
codec1 = pr1->get_codec ? pr1->get_codec(c1) : 0;
|
||||||
|
|||||||
Reference in New Issue
Block a user