]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
Darcs sync
authorMichael Jerris <mike@jerris.com>
Tue, 26 Feb 2008 18:05:58 +0000 (18:05 +0000)
committerMichael Jerris <mike@jerris.com>
Tue, 26 Feb 2008 18:05:58 +0000 (18:05 +0000)
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

index 0e3292a152f2788e3f2de69491c0dd771ce164cb..393f9e11e0ff5f5c0a1860bdc754152497799811 100644 (file)
@@ -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);
     }
   }