[commit] r3196 - freeswitch/trunk/src/mod/endpoints/mod_sofia
Author: anthm Date: Wed Oct 25 10:01:03 2006 New Revision: 3196 Modified: freeswitch/trunk/src/mod/endpoints/mod_sofia/Makefile freeswitch/trunk/src/mod/endpoints/mod_sofia/mod_sofia.c Log: tidy up Modified: freeswitch/trunk/src/mod/endpoints/mod_sofia/Makefile ============================================================================== --- freeswitch/trunk/src/mod/endpoints/mod_sofia/Makefile (original) +++ freeswitch/trunk/src/mod/endpoints/mod_sofia/Makefile Wed Oct 25 10:01:03 2006 @@ -1,6 +1,6 @@ OS_ARCH := $(subst /,_,$(shell uname -s | sed /\ /s//_/)) VERSION = sofia-sip-1.12 -TARBALL = sofia-sip-1.12.3.5.tar.gz +TARBALL = sofia-sip-1.12.3.6.tar.gz CFLAGS += -I. -I$(PREFIX)/include/$(VERSION) LDFLAGS += -lsofia-sip-ua LINKER=$(CC) Modified: freeswitch/trunk/src/mod/endpoints/mod_sofia/mod_sofia.c ============================================================================== --- freeswitch/trunk/src/mod/endpoints/mod_sofia/mod_sofia.c (original) +++ freeswitch/trunk/src/mod/endpoints/mod_sofia/mod_sofia.c Wed Oct 25 10:01:03 2006 @@ -1142,16 +1142,18 @@ channel = switch_core_session_get_channel(session); assert(channel != NULL); - cause = switch_channel_get_cause(channel); - sip_cause = hangup_cause_to_sip(cause); - tech_pvt = (private_object_t *) switch_core_session_get_private(session); assert(tech_pvt != NULL); - deactivate_rtp(tech_pvt); + if (switch_test_flag(tech_pvt, TFLAG_BYE)) { + return SWITCH_STATUS_SUCCESS; + } - su_home_deinit(tech_pvt->home); + cause = switch_channel_get_cause(channel); + sip_cause = hangup_cause_to_sip(cause); + deactivate_rtp(tech_pvt); + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Channel %s hanging up, cause: %s\n", switch_channel_get_name(channel), switch_channel_cause2str(cause), sip_cause); @@ -1190,6 +1192,11 @@ switch_set_flag_locked(tech_pvt, TFLAG_BYE); switch_clear_flag_locked(tech_pvt, TFLAG_IO); + + if (tech_pvt->home) { + su_home_deinit(tech_pvt->home); + tech_pvt->home = NULL; + } return SWITCH_STATUS_SUCCESS; }
participants (1)
-
Freeswitch SVN