git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@3037 d0543943-73ff-0310-b7d9-9358b9ac24b2
This commit is contained in:
Anthony Minessale 2006-10-12 02:26:20 +00:00
parent ba46200539
commit e1125f336c

View File

@ -2281,13 +2281,15 @@ static void sip_i_state(int status,
break; break;
case nua_callstate_terminated: case nua_callstate_terminated:
if (session) { if (session) {
switch_set_flag_locked(tech_pvt, TFLAG_BYE); if (!switch_test_flag(tech_pvt, TFLAG_BYE)) {
if (switch_test_flag(tech_pvt, TFLAG_NOHUP)) { switch_set_flag_locked(tech_pvt, TFLAG_BYE);
switch_clear_flag_locked(tech_pvt, TFLAG_NOHUP); if (switch_test_flag(tech_pvt, TFLAG_NOHUP)) {
nua_handle_destroy(tech_pvt->nh); switch_clear_flag_locked(tech_pvt, TFLAG_NOHUP);
tech_pvt->nh = NULL; nua_handle_destroy(tech_pvt->nh);
} else { tech_pvt->nh = NULL;
terminate_session(&session, sip_cause_to_freeswitch(status), __LINE__); } else {
terminate_session(&session, sip_cause_to_freeswitch(status), __LINE__);
}
} }
} }
break; break;