[sr-dev] fr_timer

Klaus Darilion klaus.mailinglists at pernau.at
Mon Oct 5 16:45:56 CEST 2009


Ok. So here is my proposal as new documentation.

fr_timer

Provisional or final response timeout (in milliseconds).

The meaning of this timer depends on the current processed request. For 
all forwarded requests except INVITE (and of course ACK), this parameter 
defines how long it will be waited for a final reply until the 
transaction gets marked as "timeout". For INVITE transactions, the 
parameter defines how long it will be waited for a provisional response 
until "timeout". In case of INVITE, the parameter fr_inv_timer will be 
used as final response timeout.

Further, for failed INVITE transactions, this time defines how long the 
final reply should be retransmitted to the caller while waiting for the ACK.

If this timer fires, either 408 is sent back to the caller, or 
processing is continued in a failure route if such one was activated 
with t_on_failure(). In failure route you can use t_is_canceled() to 
find out if failure route is executed due to a timeout.




fr_inv_timer

Final response timeout for INVITE requests (in milliseconds).

In case of INVITE transactions, this timer defines how long to wait for 
a final response until "timeout". For all other requests, this parameter 
is ignored. To configure the provisional response timeout see fr_timer.

Note: this timer can be restarted when a provisional response is 
received. For more details see restart_fr_on_each_reply.


>> Which means that the callee has to send a prov. response (e.g. 100 
>> trying) within 2 seconds, to achieve fast failover.
> 
> I think here you mean: to avoid fast failover.

No, I meant "fast failover". E.g. you forward to a gateway. If the 
gateway is down (no 100 trying response), I want to detect this very 
fast and forward the call to another gateway. Thus, I set fr_timer to 
1-2 seconds for INVITE transactions.

Further, I also reduce the timer for calls to user. Usually if you can 
not reach a client within a few seconds, there is low chance to contact 
him at all - thus, no need to try it for 32 seconds. This way, I 
redirect the caller "faster" to the callee's voicebox.

> If needed in a future version we could switch to fr_timer (non-INV and
> neg ACK wait), fr_inv_timer1 (wait for first INVITE reply),
> fr_inv_timer2 (after provisional reply).

That would make sense.

regards
klaus



More information about the sr-dev mailing list