Install RTP Engine on Debian 11

RTPengine is a highly efficient and versatile media proxy that enables telecommunication and VoIP providers to handle real-time media streams in a scalable and flexible manner. Whether you need to proxy media streams between endpoints, record media streams, or manipulate them in some other way, RTPengine provides the tools you need to get the job done. In this post we will show how to install it on Debian 11. This OS version relies on nftables rather than iptables and rtpengine relies on iptables. Thus it is required to remove nftables and a add iptables back.

apt-get remove --auto-remove nftables
apt-get purge nftables
apt-get update

Now install iptables

apt-get install iptables-persistent iptables

Install the packages required to clone the repository

apt-get gnupg gnupg2 git mc

Clone rtpengine, please select the latest branch instead of the master

cd /usr/src
git clone https://github.com/sipwise/rtpengine.git -b mr11.2.1

Install the dependencies

apt install libopus-dev dpkg-dev default-libmysqlclient-dev gperf libavcodec-dev libavfilter-dev libavformat-dev libavutil-dev libbencode-perl libcrypt-openssl-rsa-perl libcrypt-rijndael-perl libcurl4-openssl-dev libdigest-crc-perl libdigest-hmac-perl libevent-dev libglib2.0-dev libhiredis-dev libio-multiplex-perl libio-socket-inet6-perl libiptc-dev libjson-glib-dev libjson-perl libmosquitto-dev libnet-interface-perl libpcap0.8-dev libpcre3-dev libsocket6-perl libspandsp-dev libssl-dev libswresample-dev libsystemd-dev libwebsockets-dev libxmlrpc-core-c3-dev libxtables-dev markdown python3-websockets zlib1g-dev debhelper-compat libbcg729-dev

Check if there is no dependency left and install accordingly.

apt install linux-headers-$(uname -r)
cd /usr/src/rtpengine \
dpkg-checkbuilddeps

Build the package.

dpkg-buildpackage -d

Install.

cd /usr/src/
export PATH=$PATH:/sbin
dpkg -i *.deb

Check the status

systemctl restart ngcp-rtpengine-daemon
systemctl status ngcp-rtpengine-daemon