From: Joshua Colp Date: Mon, 10 Aug 2009 14:12:18 +0000 (+0000) Subject: Merged revisions 211347 via svnmerge from X-Git-Tag: 1.6.1.5-rc1~8 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=cba1b6e411dcd6a036da4cff2d43ee512e33d86b;p=thirdparty%2Fasterisk.git Merged revisions 211347 via svnmerge from https://origsvn.digium.com/svn/asterisk/trunk ........ r211347 | file | 2009-08-10 11:07:44 -0300 (Mon, 10 Aug 2009) | 5 lines Fix retrieval of the port used for the video stream when adding SDP to a SIP message. (closes issue #15121) Reported by: jsmith ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.1@211349 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- diff --git a/channels/chan_sip.c b/channels/chan_sip.c index 44bf2fe3bd..99168840ac 100644 --- a/channels/chan_sip.c +++ b/channels/chan_sip.c @@ -8878,6 +8878,15 @@ static enum sip_result add_sdp(struct sip_request *resp, struct sip_pvt *p, int p->sessionversion++; } + /* Check if we need video in this call */ + if (add_audio && (capability & AST_FORMAT_VIDEO_MASK) && !p->novideo) { + if (p->vrtp) { + needvideo = TRUE; + ast_debug(2, "This call needs video offers!\n"); + } else + ast_debug(2, "This call needs video offers, but there's no video support enabled!\n"); + } + get_our_media_address(p, needvideo, &sin, &vsin, &tsin, &dest, &vdest); snprintf(owner, sizeof(owner), "o=%s %d %d IN IP4 %s\r\n", ast_strlen_zero(global_sdpowner) ? "-" : global_sdpowner, p->sessionid, p->sessionversion, ast_inet_ntoa(dest.sin_addr)); @@ -8895,15 +8904,6 @@ static enum sip_result add_sdp(struct sip_request *resp, struct sip_pvt *p, int if (capability & AST_FORMAT_AUDIO_MASK) needaudio = TRUE; - /* Check if we need video in this call */ - if ((capability & AST_FORMAT_VIDEO_MASK) && !p->novideo) { - if (p->vrtp) { - needvideo = TRUE; - ast_debug(2, "This call needs video offers!\n"); - } else - ast_debug(2, "This call needs video offers, but there's no video support enabled!\n"); - } - if (debug) ast_verbose("Audio is at %s port %d\n", ast_inet_ntoa(p->ourip.sin_addr), ntohs(sin.sin_port)); @@ -8916,7 +8916,7 @@ static enum sip_result add_sdp(struct sip_request *resp, struct sip_pvt *p, int if (p->maxcallbitrate) snprintf(bandwidth, sizeof(bandwidth), "b=CT:%d\r\n", p->maxcallbitrate); if (debug) - ast_verbose("Video is at %s port %d\n", ast_inet_ntoa(p->ourip.sin_addr), ntohs(vsin.sin_port)); + ast_verbose("Video is at %s port %d\n", ast_inet_ntoa(p->ourip.sin_addr), ntohs(vdest.sin_port)); } /* Check if we need text in this call */