chan_sip: chan_sip does not process 400 response to an INVITE.

chan_sip handle_response() function, for a 400 response to an INVITE,
calls handle_response_invite() and does not generate ACK.
handle_response_invite() does not recognize 400 response and has no
default response processing for unexpected responses, thus it does not
generate ACK either.
The ACK on response repetition comes from handle_response() mechanism
"We must re-send ACKs to re-transmitted final responses".

According to code history, 400 response specific processing was
introduced with commit
"channels/chan_sip: Add improved support for 4xx error codes"
This commit added support for :
- 400/414/493 in handle_response_subscribe() handle_response_register()
  and handle_response().
- 414/493 only in handle_response_invite().

This fix adds 400 response support in handle_response_invite().

ASTERISK-28957

Change-Id: Ic71a087e5398dfc7273946b9ec6f9a36960218ad
This commit is contained in:
Frederic LE FOLL
2020-06-22 11:08:47 +02:00
committed by Friendly Automation
parent a539ce7087
commit 5415606846

View File

@@ -24427,6 +24427,7 @@ static void handle_response_invite(struct sip_pvt *p, int resp, const char *rest
}
break;
case 400: /* Bad Request */
case 414: /* Bad request URI */
case 493: /* Undecipherable */
case 404: /* Not found */