Juha Heinanen writes:
Kamailio 5.2 crashed when it received 480 reply to INVITE. Below is backtrace from the core file.
The crash happens in t_reply.c on the last line of this block:
uac=&t->uac[branch]; LM_DBG("org. status uas=%d, uac[%d]=%d local=%d is_invite=%d)\n", t->uas.status, branch, uac->last_received, is_local(t), is_invite(t)); last_uac_status=uac->last_received;
Earlier it was checked that the transaction was found. Its uac[0] seems to be broken.
pcap shows that kamailio receives from the uas two "180 ringing" replies 30 secs apart after which fr_inv_timeout hits. at that point kamailio sends "408 request timeout" to uac and gets back ack. then 45 secs later, kamailio gets one more "180 ringing" reply from the uas followed by several 480 replies. one of them crashes kamailio.
-- juha