I aki Baz Castillo writes:
As I said (kamailio 1.5.4) I set
"fr_inv_timer=200" for TM module and
use LCR for serial forking (failover). I also do failover is no final
reply is received from the first gateway, however I do not manually
override fr_inv_timer, neither using LCR AVP's (as
$avp(FR_TIMER_AVP)).
in k 1.5 config, i have
modparam("tm", "fr_inv_timer", INVITE_TIMEOUT)
modparam("tm", "fr_timer_avp", "$avp(FR_TIMER_AVP)")
where INVITE_TIMEOUT is something like 120.
then after calling next_gw() and before calling t_relay(), i set
$avp(FR_TIMER_AVP) = GW_TIMEOUT;
where GW_TIMEOUT is a small constant. i do not do anything in the
script to fr_inv_timer. that simply tells the total time how long the
process can last. it makes no sense for the proxy to try longer than
something like 120 sec, because UACs usually timeout anyway if you
increase the time much longer.
There are two gateways in lcr/gw tables and TM raises
timout after 100
seconds if no final reply was received by the first contacted gateway,
and later after 100 seconds again if no final reply was received from
gateway-2.
i don't understand why you would try the second gw, if you got for
example ringing reply from the first one.
This is not what it happens in my case, as the total
time is
"fr_inv_timer" and such time is divided by the number of serial
forking it *could* occur. IMHO just the LCR module knows such
information, retrieved during "load_gateways()" function.
lcr module gw functions do not do anything to any timer.
-- juha