summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--channels/chan_sip.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/channels/chan_sip.c b/channels/chan_sip.c
index 50183c288..63bfd1989 100644
--- a/channels/chan_sip.c
+++ b/channels/chan_sip.c
@@ -8148,12 +8148,17 @@ static struct ast_channel *sip_new(struct sip_pvt *i, int state, const char *tit
We also check for vrtp. If it's not there, we are not allowed do any video anyway.
*/
if (i->vrtp) {
- if (ast_test_flag(&i->flags[1], SIP_PAGE2_VIDEOSUPPORT))
+ if (ast_test_flag(&i->flags[1], SIP_PAGE2_VIDEOSUPPORT_ALWAYS))
needvideo = 1;
else if (ast_format_cap_count(i->prefcaps))
needvideo = ast_format_cap_has_type(i->prefcaps, AST_MEDIA_TYPE_VIDEO); /* Outbound call */
else
needvideo = ast_format_cap_has_type(i->jointcaps, AST_MEDIA_TYPE_VIDEO); /* Inbound call */
+
+ if (!needvideo) {
+ ast_rtp_instance_destroy(i->vrtp);
+ i->vrtp = NULL;
+ }
}
if (i->trtp) {