Hello Tobias,
fr_inv_timer won't do much for you, because it deals only with final
replies (>= 200) to the INVITE transaction. 1xx replies are all
provisional in nature.
Thus, the nature of the problem is such that if you've received a 100
Trying, you've already dampened fr_timer, but the only other TM timer at
your immediate disposal is fr_inv_timer, which is fired when a final
reply, positive or negative, is not received within the specified time.
That's the only built-in timing granularity that TM provides for the
life cycle of an initial INVITE transaction.
As you surmised and Daniel confirmed, your only solution is to "hack"
around this by using a really low fr_inv_timer value. If you want, for
example, your total PDD for any given vendor to not exceed 10s, then you
can set fr_inv_timer to 10s. If you have received a non-100 1xx response
(e.g. 18x) in the meantime, you can t_set_fr() the fr_inv_timeout to the
more logical 120s or whatever.
Note that fr_inv_timeout/t_set_fr() are per-branch. If you want to
impose such lifetimes for the whole transaction, irrespectively of
branch, you might also want to check out:
http://kamailio.org/docs/modules/4.1.x/modules/tm.html#max_inv_lifetime
http://kamailio.org/docs/modules/4.1.x/modules/tm.html#tm.f.t_set_max_lifet…
-- Alex
On 10/09/2014 03:29 PM, Tobias wrote:
Dear Kamailio users,
I have an issue with some upstream carriers quickly replying with 100
Trying but then basically times out.
I'm looking for a good solution to distinguish between the 100 reply and
any other replies, and alter the timeout values. My goal is to be able
to re-route calls where the 180/183 is not received within a few
seconds, and if the 180/183 is received I'd like to give the call a much
longer timeout.
I realize there is a "fr_inv_timer" that would do this, but I would not
like to set that to low since I fear it would affect many other call
types, i.e. if a carrier would send 183 once but for some reason does
not resend on regular intervals.
I'm on Kamailio 4.1 and my current settings are:
fr_timer : 2000
fr_inv_timer : 120000
restart_fr_on_each_reply : 1
The only solution I can think of is to update the fr_inv_timer in an
on_reply-route if the reply code is 180/183 but I'm not sure that would
even work? Is that the way to go or is there another way?
Thanks in advance!
/Tobias
_______________________________________________
SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list
sr-users(a)lists.sip-router.org
http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
--
Alex Balashov - Principal
Evariste Systems LLC
Tel: +1-678-954-0670
Web:
http://www.evaristesys.com/,
http://www.alexbalashov.com/
Please be kind to the English language:
http://www.entrepreneur.com/article/232906