aboutsummaryrefslogtreecommitdiffstats
path: root/main/rtp.c
diff options
context:
space:
mode:
Diffstat (limited to 'main/rtp.c')
-rw-r--r--main/rtp.c20
1 files changed, 15 insertions, 5 deletions
diff --git a/main/rtp.c b/main/rtp.c
index 4203974c5..fdf4ed68f 100644
--- a/main/rtp.c
+++ b/main/rtp.c
@@ -2873,9 +2873,14 @@ static enum ast_bridge_result bridge_native_loop(struct ast_channel *c0, struct
return AST_BRIDGE_COMPLETE;
}
} else {
- if ((fr->frametype == AST_FRAME_DTMF) ||
+ if ((fr->frametype == AST_FRAME_DTMF_BEGIN) ||
+ (fr->frametype == AST_FRAME_DTMF) ||
(fr->frametype == AST_FRAME_VOICE) ||
- (fr->frametype == AST_FRAME_VIDEO)) {
+ (fr->frametype == AST_FRAME_VIDEO) ||
+ (fr->frametype == AST_FRAME_IMAGE) ||
+ (fr->frametype == AST_FRAME_HTML) ||
+ (fr->frametype == AST_FRAME_MODEM) ||
+ (fr->frametype == AST_FRAME_TEXT)) {
ast_write(other, fr);
}
ast_frfree(fr);
@@ -3082,12 +3087,17 @@ static enum ast_bridge_result bridge_p2p_loop(struct ast_channel *c0, struct ast
break;
}
} else {
- /* If this is a DTMF, voice, or video frame write it to the other channel */
- if ((fr->frametype == AST_FRAME_DTMF) ||
+ if ((fr->frametype == AST_FRAME_DTMF_BEGIN) ||
+ (fr->frametype == AST_FRAME_DTMF) ||
(fr->frametype == AST_FRAME_VOICE) ||
- (fr->frametype == AST_FRAME_VIDEO)) {
+ (fr->frametype == AST_FRAME_VIDEO) ||
+ (fr->frametype == AST_FRAME_IMAGE) ||
+ (fr->frametype == AST_FRAME_HTML) ||
+ (fr->frametype == AST_FRAME_MODEM) ||
+ (fr->frametype == AST_FRAME_TEXT)) {
ast_write(other, fr);
}
+
ast_frfree(fr);
}
/* Swap priority */