About

mod_hiredis implements an interface for running basic redis commands on configured servers and also deprecated old mod_redis implementing the limit backend.

 

Loading

Once you have installed FreeSWITCH from packages, configure FreeSWITCH to load mod_hiredis in autoload_configs/modules.conf.xml by uncommenting the line:

<load module="mod_hiredis"/>

Configuration

Edit the redis server connection configuration in autoload_configs/hiredis.conf.xml and set the hostname, password, and port as applicable.

Configuration example:

<configuration name="hiredis.conf" description="mod_hiredis">
  <profiles>
    <profile name="default">
      <connections>
        <connection name="primary">
          <param name="hostname" value="172.18.101.101"/>
          <param name="password" value="redis"/>        
          <param name="port" value="6379"/>
          <param name="timeout_ms" value="500"/>
        </connection>
        <connection name="secondary">
          <param name="hostname" value="localhost"/>
          <param name="password" value="redis"/>        
          <param name="port" value="6380"/>
          <param name="timeout_ms" value="500"/>
        </connection>
      </connections>
      <params>
        <param name="ignore-connect-fail" value="true"/>
      </params>
    </profile>
  </profiles>
</configuration>

Connection parameters:

Profile parameters:

After configuring the module. apply the changes in fs_cli:

 reloadxml
 reload mod_hiredis

Usage

Limit interface

<action application="limit" data="hiredis realm id 10 limit_exceeded" />

See also: Limit.

Dialplan application

In both the dialplan application and the API function, the Redis command is preceded with the profile name. See also: Redis command reference.

<action application="hiredis_raw" data="default LPUSH Callers ${effective_caller_id_number}" />

 

API function

hiredis_raw default set test 01
hiredis_raw default get test

 

Channel variables

hiredis_raw_response is set after the Redis command execution.