From: Olle Johansson Date: Fri, 18 May 2007 18:16:09 +0000 (+0000) Subject: Merged revisions 65122 via svnmerge from X-Git-Tag: 1.4.5~158 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=4483fa12e85c40928b228969d677deffd24ef79b;p=thirdparty%2Fasterisk.git Merged revisions 65122 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.2 ........ r65122 | oej | 2007-05-18 20:10:46 +0200 (Fri, 18 May 2007) | 2 lines Not getting an ACK to a 200 OK in the initial invite is critical to the call. ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@65123 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- diff --git a/channels/chan_sip.c b/channels/chan_sip.c index 34da98958c..aed2576bcd 100644 --- a/channels/chan_sip.c +++ b/channels/chan_sip.c @@ -13227,6 +13227,7 @@ static int handle_request_invite(struct sip_pvt *p, struct sip_request *req, int const char *required; unsigned int required_profile = 0; struct ast_channel *c = NULL; /* New channel */ + int reinvite = 0; /* Find out what they support */ if (!p->sipoptions) { @@ -13532,6 +13533,7 @@ static int handle_request_invite(struct sip_pvt *p, struct sip_request *req, int else ast_log(LOG_DEBUG, "Got a SIP re-transmit of INVITE for call %s\n", p->callid); } + reinvite = 1; c = p->owner; } @@ -13703,7 +13705,8 @@ static int handle_request_invite(struct sip_pvt *p, struct sip_request *req, int } /* Respond to normal re-invite */ if (sendok) - transmit_response_with_sdp(p, "200 OK", req, ast_test_flag(req, SIP_PKT_IGNORE) ? XMIT_UNRELIABLE : XMIT_CRITICAL); + /* If this is not a re-invite or something to ignore - it's critical */ + transmit_response_with_sdp(p, "200 OK", req, (reinvite || ast_test_flag(req, SIP_PKT_IGNORE)) ? XMIT_UNRELIABLE : XMIT_CRITICAL); } p->invitestate = INV_TERMINATED; break;