From fe092940ca4106c14c235f5763424ffe763a22d0 Mon Sep 17 00:00:00 2001 From: Nanang Izzuddin Date: Tue, 9 Apr 2013 10:12:54 +0000 Subject: Fix #1654: do not cancel SDP offer when transaction state changes from 'completed' to 'terminated', as it have been cancelled before (when tsx state is 'completed'). git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@4462 74dad513-b988-da41-8d7b-12977e46ad98 --- pjsip/src/pjsip-ua/sip_inv.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'pjsip/src/pjsip-ua') diff --git a/pjsip/src/pjsip-ua/sip_inv.c b/pjsip/src/pjsip-ua/sip_inv.c index d0fab9c9..a0f9c913 100644 --- a/pjsip/src/pjsip-ua/sip_inv.c +++ b/pjsip/src/pjsip-ua/sip_inv.c @@ -4478,7 +4478,13 @@ static void inv_on_state_confirmed( pjsip_inv_session *inv, pjsip_event *e) /* Handle response that terminates dialog */ /* Nothing to do (already handled) */ - } else if (tsx->status_code >= 300 && tsx->status_code < 700) { + } else if (tsx->status_code >= 300 && tsx->status_code < 700 && + e->body.tsx_state.prev_state != PJSIP_TSX_STATE_COMPLETED) + { + /* Ticket #1654: do not cancel SDP offer when tsx state changing + * from 'completed' to 'terminated', as it should have already + * been cancelled when tsx state is 'completed'. + */ pjmedia_sdp_neg_state neg_state; struct tsx_inv_data *tsx_inv_data; -- cgit v1.2.3