diff --git a/main/rtp.c b/main/rtp.c index 3c33d820e8..3d2d826e37 100644 --- a/main/rtp.c +++ b/main/rtp.c @@ -3308,7 +3308,7 @@ static enum ast_bridge_result bridge_native_loop(struct ast_channel *c0, struct } fr = ast_read(who); other = (who == c0) ? c1 : c0; - if (!fr || ((fr->frametype == AST_FRAME_DTMF) && + if (!fr || ((fr->frametype == AST_FRAME_DTMF_BEGIN || fr->frametype == AST_FRAME_DTMF_END) && (((who == c0) && (flags & AST_BRIDGE_DTMF_CHANNEL_0)) || ((who == c1) && (flags & AST_BRIDGE_DTMF_CHANNEL_1))))) { /* Break out of bridge */ @@ -3360,7 +3360,7 @@ static enum ast_bridge_result bridge_native_loop(struct ast_channel *c0, struct } } else { if ((fr->frametype == AST_FRAME_DTMF_BEGIN) || - (fr->frametype == AST_FRAME_DTMF) || + (fr->frametype == AST_FRAME_DTMF_END) || (fr->frametype == AST_FRAME_VOICE) || (fr->frametype == AST_FRAME_VIDEO) || (fr->frametype == AST_FRAME_IMAGE) || @@ -3548,7 +3548,7 @@ static enum ast_bridge_result bridge_p2p_loop(struct ast_channel *c0, struct ast fr = ast_read(who); other = (who == c0) ? c1 : c0; /* Depending on the frame we may need to break out of our bridge */ - if (!fr || ((fr->frametype == AST_FRAME_DTMF) && + if (!fr || ((fr->frametype == AST_FRAME_DTMF_BEGIN || fr->frametype == AST_FRAME_DTMF_END) && ((who == c0) && (flags & AST_BRIDGE_DTMF_CHANNEL_0)) | ((who == c1) && (flags & AST_BRIDGE_DTMF_CHANNEL_1)))) { /* Record received frame and who */ @@ -3589,7 +3589,7 @@ static enum ast_bridge_result bridge_p2p_loop(struct ast_channel *c0, struct ast } } else { if ((fr->frametype == AST_FRAME_DTMF_BEGIN) || - (fr->frametype == AST_FRAME_DTMF) || + (fr->frametype == AST_FRAME_DTMF_END) || (fr->frametype == AST_FRAME_VOICE) || (fr->frametype == AST_FRAME_VIDEO) || (fr->frametype == AST_FRAME_IMAGE) ||