tm

tm

greger on 26 November, 2006 - 10:22
Keywords: 2.0.x | Module | tm

Standard

TM module enables statefuli processing of SIP transactionsi. The main use of stateful logic, which is costly in terms of memory and CPU, is some services inherently need state. For example, transactioni-based accounting (module acc) needs to process transaction state as opposed to individual messages, and any kinds of forkingi must be implemented statefully. Other use of stateful processing is it trading CPU caused by retransmissioni processing for memory. That makes however only sense if CPU consumption per request is huge. For example, if you want to avoid costly DNS resolution for every retransmission of a request to an unresolvable destination, use stateful mode. Then, only the initial message burdens server by DNS queries, subsequent retransmissionsi will be dropped and will not result in more processes blocked by DNS resolution. The price is more memory consumption and higher processing latency.


Jiri Kuthan

How the new timer framework works

greger on 17 October, 2006 - 07:46
Keywords: 2.0.x | Book | tm

THANKS to Andrei for giving the actual info on the new timer implementation!!

The timers of the tm module can be confusing and normally you don¨t have to (or should) tweak timers except the fr_inv_timer (controlling "how long to ring").  The below table is an overview of the timers that can be changed from seri.cfg, how they correspond to the timer names in RFC3261 and how/why you would want to change it. 

The timers for SERi 0.9.x are documented in the FAQ.

In 0.10.x the timer implementation has been completely rewritten. The timers are now controlled in milliseconds and (not in seconds as in 0.9.x), e.g. modparam("tm", "fr_timer", 30000) => default value of 30s. The timer have a resolution of 1/TIMER_TICKS_HZ. This is default 62.5 ms. Thus, the timer can fire every 62.5 ms.  Note that this also is the error interval (they can fire anywhere in a 62.5 ms interval from their "theoretical" expire point).

This is the page where YOU add your most wanted SERi features or modules! Please feel free to edit this page.

See a more detailed list of wishlist items on the tracker (items on this wishlist will end up in the tracker when they are detailed enough to do actual coding).

New groups can also be added. This wishlist is used for evaluating what to focus on for future releases.

In order to know the general interest of a feature, you can also vote for features. Just add an * in parenthesis behind the feature, and please only add one...

XML feed
Home |  Recent changes |  Search |  Glossary |  Sitemap |  Login