Hi, RFC 3261 section 17.1.2.2 states that:

   If an
   unreliable transport is in use, the client transaction MUST set timer
   E to fire in T1 seconds.  If timer E fires while still in this state,
   the timer is reset, but this time with a value of MIN(2*T1, T2).
   When the timer fires again, it is reset to a MIN(4*T1, T2).  This
   process continues so that retransmissions occur with an exponentially
   increasing interval that caps at T2.  The default value of T2 is 4s,
   and it represents the amount of time a non-INVITE server transaction
   will take to respond to a request, if it does not respond
   immediately.  For the default values of T1 and T2, this results in
   intervals of 500 ms, 1 s, 2 s, 4 s, 4 s, 4 s, etc.

I've calculated those intervals and can't get same values:

Timer E:
- Initially => T1 = 0.5s
- Fires    => MIN(2*T1, T2) = 1s
- Fires    => MIN(4*T1, T2) = 2s
- Fires    => MIN(4*T1, T2) = 2s
- Fires    => MIN(4*T1, T2) = 2s
...

So the resulting intervals are 500ms, 1s, 2s, 2s, 2s, 2s, etc.
In short, it's obvious that MIN(4*T1, T2) will always be 2 seconds! it
can never reach 4s.


IMHO the text should say:

   If timer E fires while still in this state,
   the timer is reset, but this time with a value of MIN(2*TIMER_E, T2).

And remove the line about "When the timer fires again, it is reset to
a MIN(4*T1, T2)

So we get:

Timer E:
- Initially => T1 = 0.5s
- Fires    => MIN(2*TIMER_E, T2) = 1s
- Fires    => MIN(2*TIMER_E, T2) = 2s
- Fires    => MIN(2*TIMER_E, T2) = 4s
- Fires    => MIN(2*TIMER_E, T2) = 4s

 Am I wrong? Thanks a lot.


PS: Sorry for the cross-posting, I don't know which maillist is better
to report it.


-- 
Iñaki Baz Castillo
<i...@aliax.net>

_______________________________________________
Sip-implementors mailing list
Sip-implementors@lists.cs.columbia.edu
https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors

Reply via email to