Skip to content

Instantly share code, notes, and snippets.

What would you like to do?
RTPEngine on Ubuntu16 to be used with Kamailio as SIP proxy


sudo su 

apt update -y

apt-get install debhelper iptables-dev libcurl4-openssl-dev libglib2.0-dev  libjson-glib-dev libxmlrpc-core-c3-dev libhiredis-dev build-essential:native

for pcap

apt install ibpcap-dev

some ffmpeg pakages like

apt install libavcodec-dev libavfilter-dev libavformat-dev libavresample-dev  libavutil-dev

for dpkg

apt install libcrypt-openssl-rsa-perl libdigest-crc-perl libio-multiplex-perl libnet-interface-perl libsystemd-dev markdown

DBHELPER It is a combination of tool to build debain packages and if u see a dbhelper or dbhelper-compat error during dpkg-buildpackage then check the debian/control file for versio of dbhelper it is asking for like

 debhelper-compat (=12),

if you version of ubuntu doesnt have dbhelper 12 then changes this to reflect what you have like xneial has v10 so

 debhelper (>= 10)

Now to install debhelper>10

vi /etc/apt/sources.list

add line

deb xenial-backports main restricted universe multiverse
sudo apt update

Force installing the version from backports repo

sudo apt install -t xenial-backports dh-autoreconf=12~ubuntu16.04.1 debhelper=10.2.2ubuntu1~ubuntu16.04.1

checke the priotity by seeing whre double **

 apt-cache policy debhelper dh-autoreconf
  Installed: 10.2.2ubuntu1~ubuntu16.04.1
  Candidate: 12.1.1~nd+1
  Version table:
     12.1.1~nd+1 500
        500 sid/main amd64 Packages
 *** 10.2.2ubuntu1~ubuntu16.04.1 100
        100 xenial-backports/main amd64 Packages
        100 xenial-backports/main amd64 Packages
        100 /var/lib/dpkg/status
     9.20160115ubuntu3 500
        500 xenial/main amd64 Packages
  Installed: 12~ubuntu16.04.1
  Candidate: 12~ubuntu16.04.1
  Version table:
 *** 12~ubuntu16.04.1 100
        100 xenial-backports/main amd64 Packages
        100 xenial-backports/main amd64 Packages
        100 /var/lib/dpkg/status
     11 500
        500 xenial/main amd64 Packages

Get RTPEnegine sourcecode

cd /usr/local/src
git clone

RTPengine Installation

cd rtpengine

use dpkg-checkbuilddeps to find any missing dependices

For missing dependencies

dpkg-checkbuilddeps: error: Unmet build dependencies: libbcg729-dev

remove the encoder for G.729 which is not supported by ffmpeg by exporting varible

export DEB_BUILD_PROFILES="pkg.ngcp-rtpengine.nobcg729"

ref :

for defaultlibmysqlclient-dev and libiptc-dev

vi debian/control

change from default-libmysqlclient-dev to libmysqlclient-dev, change from libiptcdata-dev to libiptc-dev and install the alternatives such as

apt install libmysqlclient-dev libiptcdata-dev 

Install the debs

cd ..
dpkg -i ngcp-rtpengine-daemon_7.3.0.0+0~mr7.3.0.0_amd64.deb
dpkg -i ngcp-rtpengine-iptables_7.3.0.0+0~mr7.3.0.0_amd64.deb
dpkg -i ngcp-rtpengine-kernel-dkms_7.3.0.0+0~mr7.3.0.0_all.deb
dpkg -i ngcp-rtpengine-kernel-source_7.3.0.0+0~mr7.3.0.0_all.deb
dpkg -i ngcp-rtpengine-recording-daemon_7.3.0.0+0~mr7.3.0.0_amd64.deb
dpkg -i ngcp-rtpengine-utils_7.3.0.0+0~mr7.3.0.0_all.deb
dpkg -i ngcp-rtpengine_7.3.0.0+0~mr7.3.0.0_all.deb

If you are changing between branches and versions remeber to clean the repo

git clean -f -x -d
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment