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
1 changed files with 9 additions and 7 deletions

View File

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