From aca515cb8ea9c7e84cf06899948808876decd82e Mon Sep 17 00:00:00 2001 From: Michael Jerris Date: Mon, 7 Apr 2008 19:44:39 +0000 Subject: [PATCH] Mon Apr 7 13:20:55 EDT 2008 Pekka.Pessi@nokia.com * nua_session.c: fixed call state reporting from failed INVITE If INVITE was returned a failure response, and session was being terminated (like BYE was sent while INVITE transaction was on-going), Sofia reported session as already terminated. git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@8052 d0543943-73ff-0310-b7d9-9358b9ac24b2 --- libs/sofia-sip/.update | 2 +- libs/sofia-sip/libsofia-sip-ua/nua/nua_session.c | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/libs/sofia-sip/.update b/libs/sofia-sip/.update index 7be9779bd7..6098f71fba 100644 --- a/libs/sofia-sip/.update +++ b/libs/sofia-sip/.update @@ -1 +1 @@ -Mon Apr 7 13:06:49 EDT 2008 +Mon Apr 7 15:44:29 EDT 2008 diff --git a/libs/sofia-sip/libsofia-sip-ua/nua/nua_session.c b/libs/sofia-sip/libsofia-sip-ua/nua/nua_session.c index 38fa698573..cffed4e40f 100644 --- a/libs/sofia-sip/libsofia-sip-ua/nua/nua_session.c +++ b/libs/sofia-sip/libsofia-sip-ua/nua/nua_session.c @@ -3910,6 +3910,8 @@ static void signal_call_state_change(nua_handle_t *nh, ss->ss_state = next_state; else if (ss->ss_state == nua_callstate_ready) next_state = ss->ss_state; + else if (ss->ss_state == nua_callstate_terminating) + return; else ss->ss_state = next_state = nua_callstate_terminated; }