only hack sdp in proxy or bypass

git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@16472 d0543943-73ff-0310-b7d9-9358b9ac24b2
This commit is contained in:
Anthony Minessale 2010-01-22 22:17:17 +00:00
parent 9a3a7f3ee1
commit 46595b5470
1 changed files with 14 additions and 9 deletions

View File

@ -3958,17 +3958,22 @@ static void sofia_handle_sip_i_state(switch_core_session_t *session, int status,
r_sdp = tech_pvt->last_sdp_str;
}
/* This marr in our code brought to you by people who can't read........*/
if (profile->ndlb & PFLAG_NDLB_ALLOW_BAD_IANANAME && r_sdp && (p = (char *) switch_stristr("g729a/8000", r_sdp))) {
p += 4;
*p++ = '/';
*p++ = '8';
*p++ = '0';
*p++ = '0';
*p++ = '0';
*p++ = ' ';
if ((channel && (switch_channel_test_flag(channel, CF_PROXY_MODE) || switch_channel_test_flag(channel, CF_PROXY_MEDIA))) ||
(sofia_test_flag(profile, TFLAG_INB_NOMEDIA) || sofia_test_flag(profile, TFLAG_PROXY_MEDIA))) {
/* This marr in our code brought to you by people who can't read........*/
if (profile->ndlb & PFLAG_NDLB_ALLOW_BAD_IANANAME && r_sdp && (p = (char *) switch_stristr("g729a/8000", r_sdp))) {
p += 4;
*p++ = '/';
*p++ = '8';
*p++ = '0';
*p++ = '0';
*p++ = '0';
*p++ = ' ';
}
}
if (ss_state == nua_callstate_terminated) {
if ((status == 300 || status == 302 || status == 305) && session) {