if totag is not present for an ACK request, do not send an error response
authorDavid Vossel <dvossel@digium.com>
Mon, 2 Aug 2010 14:30:50 +0000 (14:30 +0000)
committerDavid Vossel <dvossel@digium.com>
Mon, 2 Aug 2010 14:30:50 +0000 (14:30 +0000)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@280627 65c4cc65-6c06-0410-ace0-fbb531ad65f3

channels/chan_sip.c

index 38b1974..7ba2171 100644 (file)
@@ -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;
                }