From: Anthony Minessale Date: Tue, 27 Mar 2012 15:18:08 +0000 (-0500) Subject: FS-4048 --resolve X-Git-Tag: v1.2-rc1~19^2^2~45 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=2da9450a8b4eaf62152d9766c7c80459a86a6963;p=thirdparty%2Ffreeswitch.git FS-4048 --resolve --- diff --git a/src/mod/endpoints/mod_sofia/sofia.c b/src/mod/endpoints/mod_sofia/sofia.c index fbb767adee..6ddfbe50b4 100644 --- a/src/mod/endpoints/mod_sofia/sofia.c +++ b/src/mod/endpoints/mod_sofia/sofia.c @@ -4774,6 +4774,13 @@ static void sofia_handle_sip_r_invite(switch_core_session_t *session, int status return; } + if (status >= 500 && sip->sip_reason && sip->sip_reason->re_protocol && (!strcasecmp(sip->sip_reason->re_protocol, "Q.850") + || !strcasecmp(sip->sip_reason->re_protocol, "FreeSWITCH") + || !strcasecmp(sip->sip_reason->re_protocol, profile->username)) && sip->sip_reason->re_cause) { + tech_pvt->q850_cause = atoi(sip->sip_reason->re_cause); + switch_log_printf(SWITCH_CHANNEL_SESSION_LOG(session), SWITCH_LOG_DEBUG, "Remote Reason: %d\n", tech_pvt->q850_cause); + } + sofia_glue_get_addr(de->data->e_msg, network_ip, sizeof(network_ip), &network_port); switch_channel_set_variable_printf(channel, "sip_local_network_addr", "%s", profile->extsipip ? profile->extsipip : profile->sipip);