diff -Nru a/channels/chan_sip.c b/channels/chan_sip.c --- a/channels/chan_sip.c 2005-03-22 13:42:32 -07:00 +++ b/channels/chan_sip.c 2005-03-22 13:42:32 -07:00 @@ -7415,22 +7415,15 @@ ast_log(LOG_WARNING, "Don't know how to handle INVITE in state %d\n", c->_state); transmit_response(p, "100 Trying", req); } - } else { + } else if (!ignore) { if (p && !p->needdestroy) { if (!p->jointcapability) { - if (ignore) - transmit_response(p, "488 Not Acceptable Here", req); - else - transmit_response_reliable(p, "488 Not Acceptable Here", req, 1); - p->needdestroy = 1; + transmit_response_reliable(p, "488 Not Acceptable Here", req, 1); } else { ast_log(LOG_NOTICE, "Unable to create/find channel\n"); - if (ignore) - transmit_response(p, "503 Unavailable", req); - else - transmit_response_reliable(p, "503 Unavailable", req, 1); - p->needdestroy = 1; + transmit_response_reliable(p, "503 Unavailable", req, 1); } + p->needdestroy = 1; } } } else if (!strcasecmp(cmd, "REFER")) {