summaryrefslogtreecommitdiff
path: root/pjsip
diff options
context:
space:
mode:
authorBenny Prijono <bennylp@teluu.com>2008-09-22 14:36:00 +0000
committerBenny Prijono <bennylp@teluu.com>2008-09-22 14:36:00 +0000
commit0f725e23318c2b58f228f9667610c7a92f76c553 (patch)
treef9cd2944b53b1681592e92ab694c9babc63b25d7 /pjsip
parentdafddf10770a4de7b5d280d36dd5919737b02b90 (diff)
Ticket #641: Assertion error when late 200/OK is received after call has been disconnected (thanks Dan Åberg for the report)
git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@2306 74dad513-b988-da41-8d7b-12977e46ad98
Diffstat (limited to 'pjsip')
-rw-r--r--pjsip/src/pjsip-ua/sip_inv.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/pjsip/src/pjsip-ua/sip_inv.c b/pjsip/src/pjsip-ua/sip_inv.c
index f61f26f8..c775d019 100644
--- a/pjsip/src/pjsip-ua/sip_inv.c
+++ b/pjsip/src/pjsip-ua/sip_inv.c
@@ -358,8 +358,11 @@ static pj_status_t inv_send_ack(pjsip_inv_session *inv, pjsip_event *e)
}
- /* Set state to CONFIRMED (if we're not in CONFIRMED yet) */
- if (inv->state != PJSIP_INV_STATE_CONFIRMED) {
+ /* Set state to CONFIRMED (if we're not in CONFIRMED yet).
+ * But don't set it to CONFIRMED if we're already DISCONNECTED
+ * (this may have been a late 200/OK response.
+ */
+ if (inv->state < PJSIP_INV_STATE_CONFIRMED) {
inv_set_state(inv, PJSIP_INV_STATE_CONFIRMED, e);
}