[Devel] TM : retransmission timers
daniel at voice-system.ro
Tue Nov 28 11:48:31 CET 2006
On 11/17/06 19:39, Jean-François SMIGIELSKI wrote:
> I propose to change the main timer mechanism, and replace the "sleep" with a
> "select" that can manage subsecond timeouts. This main timer would just wait
> until the next registered timer expire, and would fire all timers with an
> expiration time too close. The current use of a global tick counter is a great
> idea, it should be sufficient to change tick's length with a ratio. I propose to
> go to the milli-second, so a ratio of 1000.
> The problem is to keep compatibility with older versions:
> * The "time" parameter in the timer callback should still be in seconds (and
> should be the modulo of the real millisecond timer).
> * the registration function should still take a timer in seconds that would be
> internally multiplied into a milli-timer.
> The simplest way of change is to introduce a "get_milli_tick()" function that
> could give a value between "(get_tick()*1000)" and "(get_tick()+1)*1000". All
> the modules that would take advantage of the new precision could use
> "get_milli_tick()" in place of "get_tick()". There is a need of a new timer
> registration function, able to take milli-seconds.
> This implies changes in some of the following modules: DIALOG, EXEC, MEDIAPROXY,
> SILO, NATHELPER, PA, PDT, PIKE, TM, USRLOC. All of them register at least one
> timer and could be impacted.
> It is fairly simple if an usage of the time parameter (given to the timer
> callback) can be replaced with a call to "get_tick()". I think that only TM
> should have ti use the "get_milli_tick()", and all the others could continue to
> use "get_tick()" in place of the "time" parameter.
> We such a set of functions, it should be simpler to solve the INVITE request
> retransmissions to follow the RFC3261.
> So ... what do you think about it? In my opinion, it seems quite straight
yes, you are right. The best thing to do it to register your comments to
OpenSER tracker so this email does not get lost on mailing list.
If you can attach a patch would be great (even for 1.1.x). This issue
will get solved before the next release in a way or other.
> Thanks in advance.
> JF Smigielski
> iBELGIQUE, exprimez-vous !
> Devel mailing list
> Devel at openser.org
More information about the Devel