From: Anthony Minessale Date: Wed, 29 Aug 2012 16:50:55 +0000 (-0500) Subject: FS-4570 --resolve X-Git-Tag: v1.2.3^2~143 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=c1d2624ce5276b579d71038eef28a099ebe47834;p=thirdparty%2Ffreeswitch.git FS-4570 --resolve --- diff --git a/src/mod/endpoints/mod_sofia/sofia.c b/src/mod/endpoints/mod_sofia/sofia.c index 63aa6c5379..58aba11076 100644 --- a/src/mod/endpoints/mod_sofia/sofia.c +++ b/src/mod/endpoints/mod_sofia/sofia.c @@ -5701,8 +5701,10 @@ static void sofia_handle_sip_r_invite(switch_core_session_t *session, int status switch_t38_options_t *t38_options = sofia_glue_extract_t38_options(session, sip->sip_payload->pl_data); if (!t38_options) { - switch_log_printf(SWITCH_CHANNEL_SESSION_LOG(tech_pvt->session), SWITCH_LOG_WARNING, "%s Error parsing SDP:\n%s\n", - switch_channel_get_name(tech_pvt->channel), sip->sip_payload->pl_data); + switch_log_printf(SWITCH_CHANNEL_SESSION_LOG(session), SWITCH_LOG_WARNING, "Could not parse T.38 options from sdp.\n"); + switch_channel_set_variable(channel, SWITCH_ENDPOINT_DISPOSITION_VARIABLE, "T.38 NEGOTIATION ERROR"); + switch_channel_hangup(channel, SWITCH_CAUSE_INCOMPATIBLE_DESTINATION); + switch_core_session_rwunlock(other_session); goto end; } else { char *remote_host = switch_rtp_get_remote_host(tech_pvt->rtp_session); @@ -5735,15 +5737,7 @@ static void sofia_handle_sip_r_invite(switch_core_session_t *session, int status } } - - if (t38_options) { - sofia_glue_copy_t38_options(t38_options, other_session); - } else { - switch_log_printf(SWITCH_CHANNEL_SESSION_LOG(session), SWITCH_LOG_WARNING, "Could not parse T.38 options from sdp.\n"); - switch_channel_set_variable(channel, SWITCH_ENDPOINT_DISPOSITION_VARIABLE, "T.38 NEGOTIATION ERROR"); - switch_channel_hangup(channel, SWITCH_CAUSE_INCOMPATIBLE_DESTINATION); - goto end; - } + sofia_glue_copy_t38_options(t38_options, other_session); } }