summaryrefslogtreecommitdiff
path: root/channels
diff options
context:
space:
mode:
authorDavid Vossel <dvossel@digium.com>2010-08-02 14:30:50 +0000
committerDavid Vossel <dvossel@digium.com>2010-08-02 14:30:50 +0000
commitf507546498e4e805370e5376ed374ad4b31c9fd0 (patch)
treea654d76561f4a03ff113893d11bb6c68e86a1551 /channels
parentf5c02a6206121ac0fd30cf7c0d5530c61c28ae2f (diff)
if totag is not present for an ACK request, do not send an error response
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@280627 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'channels')
-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;
}