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
remotes/origin/18.0
Frederic LE FOLL 4 years ago committed by George Joseph
parent 8b925fbda3
commit a423f935c9

@ -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 */

Loading…
Cancel
Save