From 0f725e23318c2b58f228f9667610c7a92f76c553 Mon Sep 17 00:00:00 2001 From: Benny Prijono Date: Mon, 22 Sep 2008 14:36:00 +0000 Subject: Ticket #641: Assertion error when late 200/OK is received after call has been disconnected (thanks Dan Ã…berg for the report) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@2306 74dad513-b988-da41-8d7b-12977e46ad98 --- pjsip/src/pjsip-ua/sip_inv.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'pjsip/src/pjsip-ua/sip_inv.c') 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); } -- cgit v1.2.3