From: Olle Johansson Date: Tue, 18 Apr 2006 07:03:36 +0000 (+0000) Subject: It's critical that we get an ACK on a 200 OK to an INVITE. If we do not get the ACK, X-Git-Tag: 1.4.0-beta1~1901 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=177b8e9143759cd8809c5f33cf0624511b9bd08e;p=thirdparty%2Fasterisk.git It's critical that we get an ACK on a 200 OK to an INVITE. If we do not get the ACK, tear down the call. (Discovered at SIPit18) git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@21061 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- diff --git a/channels/chan_sip.c b/channels/chan_sip.c index 525fd54744..84141787b4 100644 --- a/channels/chan_sip.c +++ b/channels/chan_sip.c @@ -2790,7 +2790,7 @@ static int sip_answer(struct ast_channel *ast) ast_setstate(ast, AST_STATE_UP); if (option_debug) ast_log(LOG_DEBUG, "SIP answering channel: %s\n", ast->name); - res = transmit_response_with_sdp(p, "200 OK", &p->initreq, XMIT_RELIABLE); + res = transmit_response_with_sdp(p, "200 OK", &p->initreq, XMIT_CRITICAL); } ast_mutex_unlock(&p->lock); return res; @@ -11097,7 +11097,7 @@ static int handle_request_invite(struct sip_pvt *p, struct sip_request *req, int transmit_response(p, "180 Ringing", req); break; case AST_STATE_UP: - transmit_response_with_sdp(p, "200 OK", req, XMIT_RELIABLE); + transmit_response_with_sdp(p, "200 OK", req, XMIT_CRITICAL); break; default: ast_log(LOG_WARNING, "Don't know how to handle INVITE in state %d\n", c->_state);