[Freeswitch-trunk] [GIT] branch master updated. git2svn-syncpoint-master-1676-g52bf042

git at svn.freeswitch.org git at svn.freeswitch.org
Tue Feb 1 20:34:49 MSK 2011


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "".

The branch, master has been updated
       via  52bf0423e2231e7e16126baa13b8fef14132ac57 (commit)
      from  33848eb01c327b04ad3c34bb5165bb1e01891863 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit 52bf0423e2231e7e16126baa13b8fef14132ac57
Author: Anthony Minessale <anthm at freeswitch.org>
Date:   Tue Feb 1 11:23:32 2011 -0600

    try to fix SOA problem with early and answer audio with dissimilar sdp

diff --git a/src/mod/endpoints/mod_sofia/mod_sofia.c b/src/mod/endpoints/mod_sofia/mod_sofia.c
index 6c91ce1..8bceb3b 100644
--- a/src/mod/endpoints/mod_sofia/mod_sofia.c
+++ b/src/mod/endpoints/mod_sofia/mod_sofia.c
@@ -707,11 +707,20 @@ static switch_status_t sofia_answer_channel(switch_core_session_t *session)
 		cid = generate_pai_str(tech_pvt);
 
 
-		if (switch_channel_test_flag(tech_pvt->channel, CF_PROXY_MODE) && tech_pvt->early_sdp && strcmp(tech_pvt->early_sdp, tech_pvt->local_sdp_str)) {
-			/* The SIP RFC for SOA forbids sending a 183 with one sdp then a 200 with another but it won't do us much good unless 
-			   we do so in this case we will abandon the SOA rules and go rogue.
-			 */
-			sofia_clear_flag(tech_pvt, TFLAG_ENABLE_SOA);
+		if (switch_channel_test_flag(tech_pvt->channel, CF_PROXY_MODE) && tech_pvt->early_sdp) {
+			char *a, *b;
+			
+			/* start at the s= line to avoid some devices who update the o= between messages */
+			a = strstr(tech_pvt->early_sdp, "s=");
+			b = strstr(tech_pvt->local_sdp_str, "s=");
+
+			if (!a || !b || strcmp(a, b)) {
+
+				/* The SIP RFC for SOA forbids sending a 183 with one sdp then a 200 with another but it won't do us much good unless 
+				   we do so in this case we will abandon the SOA rules and go rogue.
+				*/
+				sofia_clear_flag(tech_pvt, TFLAG_ENABLE_SOA);
+			}
 		}
 
 		if (sofia_use_soa(tech_pvt)) {

-----------------------------------------------------------------------

Summary of changes:
 src/mod/endpoints/mod_sofia/mod_sofia.c |   19 ++++++++++++++-----
 1 files changed, 14 insertions(+), 5 deletions(-)


hooks/post-receive
-- 




More information about the Freeswitch-trunk mailing list