[sr-dev] tm error: status rewrite by UAS
Andrei Pelinescu-Onciul
andrei at iptel.org
Mon Jun 22 15:53:26 CEST 2009
On Jun 22, 2009 at 16:12, Juha Heinanen <jh at tutpro.com> wrote:
> Andrei Pelinescu-Onciul writes:
>
> > In your case the final reply is 408 (timeout) and the new received one
> > is 403.
> > What might have happened is either the gw sent the 403 after the
> > fr_inv_timer did hit for the branch corresponding to your fifth call or
> > the gw sent the 403 for one of the previous branches, but it's hard to say
> > without more info.
>
> andrei,
>
> i set fr_timer_avp to 3000 (3 sec) before calling t_relay. i have
^^^^^^ the avp timers are in seconds, so you should
set them it to 3. All the other timeouts are in ms (I'll add a note to
the docs).
>
> modparam("tm", "fr_inv_timer", 75000)
>
> i have defined fr_inv_timer_avp, but it has not been given a value
> during processing of this request. could the explanation be this:
>
> k:
>
> 1.3.11. fr_timer_avp (string)
>
> If you set the AVP to an empty string, the whole mechanism for
> variable timeout will be disabled, falling back to the static
> value.
>
> sr:
>
> 1.3.29. fr_inv_timer_avp (string)
>
> The value of fr_inv_timer timer can be overriden on per-transaction
> basis. The administrator can provide a value to be used for a
> particular transaction in an AVP. This parameter contains the name of
> the AVP that will be checked. If the AVP exists then its value will be
> used for the fr_inv_timer timer, effectively overriding the value
> configured in fr_inv_timer parameter for the current transaction.
Yes, this is it.
>
> what does sr do if fr_inv_timer_avp exists, but is not set before
> t_relay is called?
An avp always has a value if it exists. If its value is the empty string
or 0 => the avp integer value will be 0 => in this case the timer will
be set to 0.
I'll add a check for 0 in sr too (so that it will be compatible with the
k way).
Note that in ser the modern way to use avps for timers is via t_set_fr()
& friends (you can set everything from fr timers to retransmission and
lifetime, you can later reset to default via t_reset_fr() and you can
use it only when needed).
Andrei
More information about the sr-dev
mailing list