Building Linphone lib for Ubuntu – 18.04

Linphone is an open source SIP Phone for voice/video calls and instant messaging, available on mobile and desktop environments (iOS, Android, GNU/Linux, MAC OSX, Windows Desktop, Windows 10 UWP). Linphone has inside a separation between the user interfaces and the core engine, allowing to create various kind of user interface on top of the same functionalities.
- The user interface frontends:
- Qt/QML interface for Windows, Mac and GNU/Linux
- The console interface (linphone-daemon)
- The iPhone application built in objective C
- The Android application running in java
- The Windows 10 application (UWP : mobile and desktop) written in C#
- Liblinphone, the core engine: this is the library that implements all the functionalities of Linphone.
Liblinphone is a powerful SIP VoIP video SDK that anyone can use to add audio and video calls or instant messaging capabilities to an application. It provides a high level api to initiate, receive, terminate audio & video calls.
Since 2017, LibLinphone is not available as a standard distribution on ubuntu desktops. To develop applications using liblinphone, we need to manually compile the support libraries that can be linked in our application. Follow the instructions below to build Liblinphone on your Ubuntu 18.04 desktop:
- Make sure you have Qt installed on your system. If not, download and install Qt from here.
- Install required dependencies with below command:
sudo apt install autoconf libasound2-dev build-essential libbsd-dev cmake curl doxygen git libglew-dev graphviz libtool default-jre-headless nasm libpcap-dev pkg-config python-pystache python-six libsoci-dev libturbojpeg0-dev libudev-dev libwww-perl libxv-dev yasm libmbedtls-dev libsqlite3-dev libxml2-dev libsrtp2-dev libgsm1-dev libopus-dev libspeexdsp-dev libavcodec-extra libavcodec-dev libswscale-dev libv4l-dev libvpx-dev libantlr3c-dev antlr3 xsdcxx libspandsp-dev libopencore-amrnb-dev libopencore-amrwb-dev libvo-amrwbenc-dev libcodec2-dev libpulse-dev pulseaudio pavucontrol
- Checkout the source code
git clone git://git.linphone.org/linphone-desktop.git --recursive
- Compile:
cd linphone-desktop
./prepare.py -c
./prepare.py --use-system-dependencies -DENABLE_DOC=OFF
Wait till the compilation finishes. Once complete you can find the compiled libraries under ./OUTPUT/desktop/lib
The above steps are well tested on Ubuntu 18.04 and I have been able to compile liblinphone successfully on my pc. Please feel free to comment in case you have any queries.
Click Here to learn more about linphone