RTimer Module

Daniel-Constantin Mierla

asipto.com

Edited by

Daniel-Constantin Mierla


Table of Contents

1. Admin Guide
1. Overview
2. Dependencies
2.1. Kamailio Modules
2.2. External Libraries or Applications
3. Parameters
3.1. timer (str)
3.2. exec (str)

List of Examples

1.1. Set timer parameter
1.2. Set exec parameter

Chapter 1. Admin Guide

1. Overview

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.

2. Dependencies

2.1. Kamailio Modules

The following modules must be loaded before this module:

  • No dependencies on other Kamailio modules.

2.2. External Libraries or Applications

The following libraries or applications must be installed before running Kamailio with this module loaded:

  • None.

3. Parameters

3.1. timer (str)

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 1, will create a new timer process.

  • 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.1. 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;")
...

3.2. exec (str)

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 index of the route to be executed.

Default value is NULL.

Example 1.2. Set exec parameter

...
modparam("rtimer", "timer", "name=ta;interval=10;mode=1;")
modparam("rtimer", "exec", "timer=ta;route=8")

route[8] {
    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");
}
...