[SR-Users] Invite transaction lifetime

Duarte Rocha duarterocha91 at gmail.com
Wed Apr 1 14:42:34 CEST 2020


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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.kamailio.org/pipermail/sr-users/attachments/20200401/d12df039/attachment.html>


More information about the sr-users mailing list