Greetings,

I have a strange call with a client in which he sends me an INVITE and i do
the usual "100", "183" and "200 - OK" but the client never gets my
provisional or final responses and, as such keeps retransmitting the first
INVITE.

For the first retransmissions Kamailio doesn't relay the INVITE which i
think is the correct behaviour.

However, after around 30s, a retransmission is processed and is relayed to
a different destination, using "ds_select_dst()" from the DISPATCH module.

For this to happen it had to fail the "t_check_trans()" function from TM
module which tells me that the transaction from the first INVITE was gone.

I went to search timers and lifetime definitions on TM module and found one
"max_inv_lifetime" which tells me that "An INVITE transaction will be kept
in memory for maximum: max_inv_lifetime+fr_timer(from the ACK to the final
reply wait)+wt_timer".

In this case : max_inv_lifetime is 180 seconds, fr_timer is 30 seconds and
wt_timer is 5 seconds. It's sum is 215seconds and from what i can see, my
transaction only had a lifetime of 30s.

fr_timer is configured with 30s but it's definition is "Timer which hits if
no final reply for a request or ACK for a negative INVITE reply arrives (in
milliseconds)." and it mentions ACK, but in my case it's an ACK for a final
reply that is missing and not an ACK for a negative reply.

What other reasons might have caused this transaction to be terminated ?

Best Regards
_______________________________________________
Kamailio (SER) - Users Mailing List
sr-users@lists.kamailio.org
https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users

Reply via email to