From d1b0b1168a3352da3ec418a7cc833523ba0318d6 Mon Sep 17 00:00:00 2001 From: Anthony Minessale Date: Wed, 29 Aug 2012 14:42:00 -0500 Subject: [PATCH] some minor regressions from the last commit --- src/mod/endpoints/mod_sofia/sofia.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) 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(); + } } }