Commit 5ea0f2a5 authored by Pekka Pessi's avatar Pekka Pessi

nua_session.c: determine INVITE overlap with re-INVITEs, too

darcs-hash:20080226180206-65a35-8a1d87073054e7ad33bc727be2c852f5b6a93e06.gz
parent 70c22bcf
......@@ -1853,9 +1853,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)
......@@ -1878,10 +1877,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);
}
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment