[GIT] branch master updated. git2svn-syncpoint-master-1676-g52bf042
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@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 --
participants (1)
-
git@svn.freeswitch.org