summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBenny Prijono <bennylp@teluu.com>2006-03-02 21:16:55 +0000
committerBenny Prijono <bennylp@teluu.com>2006-03-02 21:16:55 +0000
commitcf626e119a5f0b8b424c7cf473f514f1710ce209 (patch)
tree7388e6710eb3a275c3879d85bd7286b45171681a
parentd4f5064c25f3000771921ffc18ceab3810c3d9d2 (diff)
Fixed bug when a disconnected INVITE session was brought to confirmed again on receipt of ACK request
git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@267 74dad513-b988-da41-8d7b-12977e46ad98
-rw-r--r--pjsip/src/pjsip-ua/sip_inv.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/pjsip/src/pjsip-ua/sip_inv.c b/pjsip/src/pjsip-ua/sip_inv.c
index 08fb7458..9b55f25b 100644
--- a/pjsip/src/pjsip-ua/sip_inv.c
+++ b/pjsip/src/pjsip-ua/sip_inv.c
@@ -210,7 +210,11 @@ static pj_bool_t mod_inv_on_rx_request(pjsip_rx_data *rdata)
inv->invite_tsx = NULL;
}
- if (inv->state != PJSIP_INV_STATE_CONFIRMED) {
+ /* On receipt of ACK, only set state to confirmed when state
+ * is CONNECTING (e.g. we don't want to set the state to confirmed
+ * when we receive ACK retransmission after sending non-2xx!)
+ */
+ if (inv->state == PJSIP_INV_STATE_CONNECTING) {
pjsip_event event;
PJSIP_EVENT_INIT_RX_MSG(event, rdata);