From 6b13b553d18291a768063839ae0b8eb762b8ad28 Mon Sep 17 00:00:00 2001 From: Nanang Izzuddin Date: Wed, 27 Feb 2013 09:45:52 +0000 Subject: Re #1530: backported to 1.x git-svn-id: http://svn.pjsip.org/repos/pjproject/branches/1.x@4377 74dad513-b988-da41-8d7b-12977e46ad98 --- pjsip/src/pjsip-ua/sip_inv.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/pjsip/src/pjsip-ua/sip_inv.c b/pjsip/src/pjsip-ua/sip_inv.c index c1a566f5..ca2e65b2 100644 --- a/pjsip/src/pjsip-ua/sip_inv.c +++ b/pjsip/src/pjsip-ua/sip_inv.c @@ -362,6 +362,7 @@ static const pjmedia_sdp_session *inv_has_pending_answer(pjsip_inv_session *inv, static pj_status_t inv_send_ack(pjsip_inv_session *inv, pjsip_event *e) { pjsip_rx_data *rdata; + pjsip_event ack_e; pj_status_t status; if (e->type == PJSIP_EVENT_TSX_STATE) @@ -397,8 +398,12 @@ static pj_status_t inv_send_ack(pjsip_inv_session *inv, pjsip_event *e) } else { status = pjsip_inv_create_ack(inv, rdata->msg_info.cseq->cseq, &inv->last_ack); + if (status != PJ_SUCCESS) + return status; } + PJSIP_EVENT_INIT_TX_MSG(ack_e, inv->last_ack); + /* Send ACK */ status = pjsip_dlg_send_request(inv->dlg, inv->last_ack, -1, NULL); if (status != PJ_SUCCESS) { @@ -413,7 +418,7 @@ static pj_status_t inv_send_ack(pjsip_inv_session *inv, pjsip_event *e) * (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); + inv_set_state(inv, PJSIP_INV_STATE_CONFIRMED, &ack_e); } return PJ_SUCCESS; -- cgit v1.2.3