Skip to main content

mod_posix_timer

About​

mod_posix_timer uses the POSIX timers API (timer_create, timer_settime, timer_delete) to create and use a kernel timer that delivers timer expire notifications via a sigevent.

This timer works on older Linux kernels like 2.6.18.

Click here to expand Table of Contents

Configuration​

You can enable it per channel with:

<action application="set" data="rtp_timer_name=posix"/>

or per Sofia profile with:

<param name="rtp-timer-name" value="posix"/>

Testing POSIX timer feature in FreeSwitch git​

Note that POSIX timer support is experimental and thus you should always use latest git when trying to use it.

POSIX timer support in mod_posix_timer​

To check whether the module is running, do:

freeswitch@internal> show modules mod_posix_timer
type,name,ikey,filename
timer,posix,mod_posix_timer,/usr/local/freeswitch/mod/mod_posix_timer.so

1 total.

If the module is not running, check if it is available:

find /usr/local/freeswitch/mod/ -name mod_posix_timer.*

To build the mod_posix_timer in case it's not already there, add this line to freeswitch/modules.conf:

 timers/mod_posix_timer

Then build the module with this command:

make mod_posix_timer

Finally install the module with this command:

 make mod_posix_timer-install

Then you need to configure FreeSWITCH to load mod_posix_timer on startup. In /usr/local/freeswitch/conf/autoload_configs/modules.conf.xml put a line like this:

 <load module="mod_posix_timer"/>

Then restart FreeSWITCH:

/etc/init.d/freeswitch restart

Alternatively load the module from the CLI:

/usr/local/freeswitch/bin/fs_cli
freeswitch@internal> load mod_posix_timer

Verify that mod_posix_timer is loaded:

 freeswitch@internal> show timer
type,name,ikey
timer,soft,CORE_SOFTTIMER_MODULE
timer,posix,mod_posix_timer

2 total.