This plugin works for RTPEngine 4.1.x, not for earlier versions
This plugin relies on some public functions that are part of the rtpengine project. Since this is mandatory, it's important to have an updated copy of rtpengine in a directory that is in the same level this plugin source code is, or in other words, in the same root directory both source trees are.
Example
/main-directory/ |-----rtpengine/
Clone the repo
git clone --recursive https://github.com/ngvoice/rtpengine-redis-plugin rtpengine-redis-plugin
- hiredis, hiredis-devel, libevent-devel, redis (server)
Apart from that, this plugin uses the same dependency set that comes with rtpengine: glib2, openssl-devel, build-essential
Go to checked-out directory
# cd rtpengine-redis-plugin
Compile it
# make
you should copy the resulting binary into the lib directory of rtpengine, usually by doing:
# cp rtpengine-redis.so /usr/lib/rtpengine/rtpengine-redis.so
in case the directory is missing, which is the case when installing rtpengine from the sources, you just need to create the directory and place the shared object into it.
RTPengine comes with a default configuration file (when installing using a debian package, its location is /etc/default/ngcp-rtpengine-daemon). Using that file and RTPengines init-scipt, just uncomment and change the REDIS and REDIS_DB to your needs. Alternatively, you can use the -r and -R options respectively to specify the IP:port of the redis server and the redis database, e.g.:
rtpengine --table=0 --ip=192.168.3.101 --listen-ng=127.0.0.1:22222 --pidfile=/var/run/mediaproxy-ng.pid -r 127.0.0.1:6379 -R 0
- Use "MONITOR" command to inspect what's going on the Redis server.
- If the plugin crashes, or you want to make a fresh restart, use "FLUSHALL" to wipe everything up and start with no data at all.