aboutsummaryrefslogtreecommitdiffstats
path: root/channels/chan_sip.c
diff options
context:
space:
mode:
authordvossel <dvossel@f38db490-d61c-443f-a65b-d21fe96a405b>2010-08-02 14:30:50 +0000
committerdvossel <dvossel@f38db490-d61c-443f-a65b-d21fe96a405b>2010-08-02 14:30:50 +0000
commit7719354aa6b896117830582fbfc5d1d620f5eeb7 (patch)
treea654d76561f4a03ff113893d11bb6c68e86a1551 /channels/chan_sip.c
parent82857f824e0d884eb93e1ca2668ca9330257b9cb (diff)
if totag is not present for an ACK request, do not send an error response
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@280627 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'channels/chan_sip.c')
-rw-r--r--channels/chan_sip.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/channels/chan_sip.c b/channels/chan_sip.c
index 38b197426..7ba217186 100644
--- a/channels/chan_sip.c
+++ b/channels/chan_sip.c
@@ -7363,7 +7363,9 @@ static struct sip_pvt *find_call(struct sip_request *req, struct ast_sockaddr *a
}
/* reject requests that must always have a To: tag */
if (ast_strlen_zero(totag) && (req->method == SIP_ACK || req->method == SIP_BYE || req->method == SIP_INFO )) {
- transmit_response_using_temp(callid, addr, 1, intended_method, req, "481 Call leg/transaction does not exist");
+ if (req->method != SIP_ACK) {
+ transmit_response_using_temp(callid, addr, 1, intended_method, req, "481 Call leg/transaction does not exist");
+ }
ast_debug(5, "%s must have a to tag. dropping callid: %s from: %s\n", sip_methods[req->method].text , callid, from );
return NULL;
}