From 3ee1e1bc8f34b35e4c189b764ffb4303c4d46d38 Mon Sep 17 00:00:00 2001 From: Michael Jerris <mike@jerris.com> Date: Tue, 26 Feb 2008 18:05:58 +0000 Subject: [PATCH] Darcs sync Tue Feb 26 13:02:06 EST 2008 Pekka.Pessi@nokia.com * nua_session.c: determine INVITE overlap with re-INVITEs, too git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@7743 d0543943-73ff-0310-b7d9-9358b9ac24b2 --- libs/sofia-sip/libsofia-sip-ua/nua/nua_session.c | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) 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 0e3292a152..393f9e11e0 100644 --- a/libs/sofia-sip/libsofia-sip-ua/nua/nua_session.c +++ b/libs/sofia-sip/libsofia-sip-ua/nua/nua_session.c @@ -1854,9 +1854,8 @@ nua_invite_server_init(nua_server_request_t *sr) nua_client_request_t const *cr; for (sr0 = nh->nh_ds->ds_sr; sr0; sr0 = sr0->sr_next) { - /* Final response have not been sent to previous INVITE */ - if (sr0->sr_method == sip_method_invite && - nua_server_request_is_pending(sr0)) + /* Previous INVITE has not been ACKed */ + if (sr0->sr_method == sip_method_invite) break; /* Or we have sent offer but have not received an answer */ if (sr->sr_sdp && sr0->sr_offer_sent && !sr0->sr_answer_recv) @@ -1879,10 +1878,8 @@ nua_invite_server_init(nua_server_request_t *sr) ss = nua_dialog_usage_private(sr->sr_usage); - if (ss->ss_state < nua_callstate_completed && + if (ss->ss_state < nua_callstate_ready && ss->ss_state != nua_callstate_init) { - /* We should never trigger this, - but better not to assert() on network input */ return nua_server_retry_after(sr, 500, "Overlapping Requests 2", 0, 10); } }