On Mar 26, 2010 at 16:42, Alex Hermann <alex(a)speakup.nl> wrote:
Hello,
I'm trying to create a scenarion which was very simple with Kamailio 1.x, but
seems impossible with sr3.0. I need to do failover for INVITE's and also limit
the call setup time per-branch, so I defined the problem in 2 parts that need
to work separately, but also combined into 1 proxy.
1) Fast failover.
After t_relay, the destination should be tried for max 2 sec per host. No
maximum for the whole set. Thus, if a destination has 4 SRV records, and each
host fails after 2 secs, a 408 will be sent back after a total of 8 secs.
If a (proivisional) response arrives within 2 sec, a 408 MUST NOT be sent.
The exact value of the timer should be configurable per t_relay call.
In kamailio this is accomplished by setting the fr_timer(_avp) to 2000ms. In
sr3.0 I have yet to find a combination of timer settings that work.
fr_timer_avp and fr_inv_timer_avp work in sr too, but note that they are
obsoleted (they are kept only for backwards compatibility).
The preferred way is using t_set_fr(....), t_reset_fr(...) a.s.o.
They can be called even after t_relay() and they still work. They can
also be called from branch routers, or reply routes.
You should also have a look at max_inv_lifetime and max_noninv_lifetime
if you want to limit the total dns failover time.
See:
http://sip-router.org/wiki/ref_manual/timers (probably the most complete
timers doc).
http://sip-router.org/docbook/sip-router/branch/master/modules/tm/tm.html#f…
Andrei