[asterisk-commits] dvossel: trunk r239427 - /trunk/channels/chan_sip.c
SVN commits to the Asterisk project
asterisk-commits at lists.digium.com
Tue Jan 12 10:14:46 CST 2010
Author: dvossel
Date: Tue Jan 12 10:14:41 2010
New Revision: 239427
URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=239427
Log:
fixes text support in sdp answer
The code that handled setting 'm=text' in the sdp was not executing
in the correct order. The check to see if text was needed came after
the check to add 'm=text' to the sdp, this resulted in 'm=text' always
being set to 0 because it looked like text was never required.
(closes issue #16457)
Reported by: peterj
Patches:
textportinsdp.diff uploaded by peterj (license 951)
issue16457.diff uploaded by dvossel (license 671)
Tested by: peterj
Modified:
trunk/channels/chan_sip.c
Modified: trunk/channels/chan_sip.c
URL: http://svnview.digium.com/svn/asterisk/trunk/channels/chan_sip.c?view=diff&rev=239427&r1=239426&r2=239427
==============================================================================
--- trunk/channels/chan_sip.c (original)
+++ trunk/channels/chan_sip.c Tue Jan 12 10:14:41 2010
@@ -10568,13 +10568,29 @@
p->sessionversion++;
}
- /* Check if we need video in this call */
- if (add_audio && (p->jointcapability & 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 (add_audio) {
+ /* Check if we need video in this call */
+ if ((p->jointcapability & 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");
+ }
+ /* Check if we need text in this call */
+ if ((p->jointcapability & AST_FORMAT_TEXT_MASK) && !p->notext) {
+ if (sipdebug_text)
+ ast_verbose("We think we can do text\n");
+ if (p->trtp) {
+ if (sipdebug_text) {
+ ast_verbose("And we have a text rtp object\n");
+ }
+ needtext = TRUE;
+ ast_debug(2, "This call needs text offers! \n");
+ } else {
+ ast_debug(2, "This call needs text offers, but there's no text support enabled ! \n");
+ }
+ }
}
get_our_media_address(p, needvideo, needtext, &sin, &vsin, &tsin, &dest, &vdest, &tdest);
@@ -10610,19 +10626,6 @@
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 */
- if((capability & AST_FORMAT_TEXT_MASK) && !p->notext) {
- if (sipdebug_text)
- ast_verbose("We think we can do text\n");
- if (p->trtp) {
- if (sipdebug_text)
- ast_verbose("And we have a text rtp object\n");
- needtext = TRUE;
- ast_debug(2, "This call needs text offers! \n");
- } else
- ast_debug(2, "This call needs text offers, but there's no text support enabled ! \n");
- }
-
/* Ok, we need text. Let's add what we need for text and set codecs.
Text is handled differently than audio since we can not transcode. */
if (needtext) {
More information about the asterisk-commits
mailing list