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