diff options
author | dvossel <dvossel@f38db490-d61c-443f-a65b-d21fe96a405b> | 2010-08-02 14:30:50 +0000 |
---|---|---|
committer | dvossel <dvossel@f38db490-d61c-443f-a65b-d21fe96a405b> | 2010-08-02 14:30:50 +0000 |
commit | 7719354aa6b896117830582fbfc5d1d620f5eeb7 (patch) | |
tree | a654d76561f4a03ff113893d11bb6c68e86a1551 /channels/chan_sip.c | |
parent | 82857f824e0d884eb93e1ca2668ca9330257b9cb (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.c | 4 |
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; } |