From: Anthony Minessale Date: Wed, 29 Aug 2012 19:42:00 +0000 (-0500) Subject: some minor regressions from the last commit X-Git-Tag: v1.2.3^2~141 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=d1b0b1168a3352da3ec418a7cc833523ba0318d6;p=thirdparty%2Ffreeswitch.git some minor regressions from the last commit --- diff --git a/src/mod/endpoints/mod_sofia/sofia.c b/src/mod/endpoints/mod_sofia/sofia.c index 58aba11076..85162d61b9 100644 --- a/src/mod/endpoints/mod_sofia/sofia.c +++ b/src/mod/endpoints/mod_sofia/sofia.c @@ -1664,10 +1664,17 @@ void sofia_event_callback(nua_event_t event, if ((session = switch_core_session_force_locate(sofia_private->uuid))) { switch_channel_t *channel = switch_core_session_get_channel(session); + switch_call_cause_t cause; + switch_channel_set_flag(channel, CF_NO_CDR); - switch_channel_hangup(channel, status == 403 ? SWITCH_CAUSE_BEARERCAPABILITY_NOTAVAIL : SWITCH_CAUSE_BEARERCAPABILITY_NOTAUTH); + + cause = sofia_glue_sip_cause_to_freeswitch(status); + + switch_channel_hangup(channel, cause); switch_core_session_rwunlock(session); - switch_core_session_id_dec(); + if (status == 401 || status == 407) { + switch_core_session_id_dec(); + } } }