From 12e2f9cdeb6f802ee91b16307060e5946d316bd9 Mon Sep 17 00:00:00 2001 From: Terry Wilson Date: Mon, 9 May 2011 20:04:41 +0000 Subject: [PATCH] Don't offer video to directmedia callee unless caller offered it as well Make sure that when directmedia is enabled, that video is not offered to the callee even if it supports it. p->vrtp will not exist since the caller didn't offer video. (closes issue #19195) Reported by: one47 Patches: sip_cant_add_video_rtp uploaded by one47 (license 23) git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.2@318331 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- channels/chan_sip.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/channels/chan_sip.c b/channels/chan_sip.c index 9c6dd7ebb0..9c2779b80d 100644 --- a/channels/chan_sip.c +++ b/channels/chan_sip.c @@ -10597,11 +10597,14 @@ static enum sip_result add_sdp(struct sip_request *resp, struct sip_pvt *p, int doing_directmedia = (p->redirip.sin_addr.s_addr && p->redircodecs) ? TRUE : FALSE; /* Check if we need video in this call */ if ((p->jointcapability & AST_FORMAT_VIDEO_MASK) && !p->novideo) { - if (p->vrtp) { + if (doing_directmedia && !(p->jointcapability & AST_FORMAT_VIDEO_MASK & p->redircodecs)) { + ast_debug(2, "This call needs video offers, but caller probably did not offer it!\n"); + } else if (p->vrtp) { needvideo = TRUE; ast_debug(2, "This call needs video offers!\n"); - } else + } else { ast_debug(2, "This call needs video offers, but there's no video support enabled!\n"); + } } /* Check if we need text in this call */ if ((p->jointcapability & AST_FORMAT_TEXT_MASK) && !p->notext) { -- 2.47.2