respond with 481 when request requiring totag has no totag to match against
authorDavid Vossel <dvossel@digium.com>
Thu, 29 Jul 2010 19:35:34 +0000 (19:35 +0000)
committerDavid Vossel <dvossel@digium.com>
Thu, 29 Jul 2010 19:35:34 +0000 (19:35 +0000)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@280518 65c4cc65-6c06-0410-ace0-fbb531ad65f3

channels/chan_sip.c

index d340115..6e825b0 100644 (file)
@@ -7334,6 +7334,7 @@ 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 )) {
                }
                /* 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");
                        ast_debug(5, "%s must have a to tag. dropping callid: %s from: %s\n", sip_methods[req->method].text , callid, from );
                        return NULL;
                }
                        ast_debug(5, "%s must have a to tag. dropping callid: %s from: %s\n", sip_methods[req->method].text , callid, from );
                        return NULL;
                }