Table of Contents
List of Examples
Table of Contents
The module executes route blocks on a timer base. It can create new timer processes and execute many route blocks on same timer.
A static faked SIP message is given as parameter to called functions, so all functions available for REQUEST_ROUTE can be used.
The following modules must be loaded before this module:
No dependencies on other Kamailio modules.
The definition of the default interval of timers (if not present on the "timer" parameter)
The parameter can be set multiple times to get different intervals in same configuration file.
Example 1.1. Set default_interval
parameter
... # default time interval set to 300 seconds modparam("rtimer", "default_interval", 300) ...
The definition of a timer. The value of the parameter must have the following format:
"name=_string_;mode=_number_;interval=_number_"
The parameter can be set multiple times to get more timers in same configuration file.
name - name of the timer.
mode - if set to 0, the timer will use the main (shared) timer. Any number > 0 will create the specified amount of new timer processes (which will only be handling this timer).
interval - timer interval in seconds or micro-seconds (the value must be ended in 'u'). For micro-seconds intervals, mode is set always to 1.
Default value is NULL.
Example 1.2. Set timer
parameter
... # time interval set to 10 seconds modparam("rtimer", "timer", "name=ta;interval=10;mode=1;") # time interval set to 100 mili-seconds modparam("rtimer", "timer", "name=ta;interval=100000u;mode=1;") ...
Specify route to be executed on timer. The value of the parameter must have the following format:
"timer=_string_;route=_number_"
The parameter can be set multiple times to get more routes executed on same timer.
timer - name of the timer.
route - the name of the route block to be executed, or the name of the function from kemi script. The kemi function receives a string parameter with the value being the name of the module.
Default value is NULL.
Example 1.3. Set exec
parameter
... modparam("rtimer", "timer", "name=ta;interval=10;mode=1;") modparam("rtimer", "exec", "timer=ta;route=ONTIMER") route[ONTIMER] { xlog("timer routine: time is $TF\n"); # delete from my sql cache table entries older than 2H sql_query("delete from kamailio_cache where last_updated<$TS-3600"); } ...
Example 1.4. Use exec
parameter with a Kemi engine
... modparam("rtimer", "timer", "name=ta;interval=10;mode=1;") modparam("rtimer", "exec", "timer=ta;route=ksr_rtimer") ... -- rtimer event callback function implemented in Lua function ksr_rtimer(evname) KSR.info("===== rtimer module triggered event\n"); return 1; end ...