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: http://svn.digium.com/svn/asterisk/trunk@21061 f38db490-d61c-443f-a65b-d21fe96a405b
This commit is contained in:
parent
8da38ca62e
commit
8169417975
|
@ -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);
|
||||
|
|
Reference in New Issue