diff options
author | Nanang Izzuddin <nanang@teluu.com> | 2013-04-09 10:12:54 +0000 |
---|---|---|
committer | Nanang Izzuddin <nanang@teluu.com> | 2013-04-09 10:12:54 +0000 |
commit | fe092940ca4106c14c235f5763424ffe763a22d0 (patch) | |
tree | ba53b41c772614ce09287647f2bb45d97652f504 /pjsip/src/pjsip-ua | |
parent | 3c8d3b370e33627a0a08a3bcfceaf9709e4a3991 (diff) |
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
Diffstat (limited to 'pjsip/src/pjsip-ua')
-rw-r--r-- | pjsip/src/pjsip-ua/sip_inv.c | 8 |
1 files changed, 7 insertions, 1 deletions
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; |