Sunday, February 16, 2014

Compiling SFLPhone KDE telephony client on Fedora 19 (KDE 64bit)


SFLPhone is if not the best, one of the best SIP Phone Clients for Linux at the moment.
Its current version is 1.3.0 (released on 14 January 2014) and features:
  • UI-independant telephony core
  • Enterprise scalability functions
  • GNOME, KDE and CLI clients
  • SIP and IAX2 protocols support
  • Multi-line, call transfer, call hold, call recording (attended and unattended call transfer)
  • Multi-way conferencing
  • High definition audio codecs
  • Signalling and voice encryption (TLS, SRTP)
  • Pulseaudio support
  • Akonadi Addressbook Integration for your Contacts
An ideal choice for small to medium businesses and on top of all, it is free and open source!
Official Web Site: http://sflphone.org/

Due to their agile development process a Scrum-like manner, with 1-month iterations, or sprints, the software may experience some problems here and there which I must say they resolve them ASAP.

I have had very positive experiences with them through their issues tracker
usually I get responses in minutes or hours in the worst case.

I didn't have the chance to test their Gnome or Ubuntu clients, so I can only talk about their KDE Fedora Client. Testing the SFLPhone KDE telephony client on Fedora 19 (KDE 64bit) revealed various bugs on versions 1.2.3 and some on 1.3.0. Most if not all, have by now been fixed but there are no nightly builds for Fedora, so you have to compile it from source, the manual way.

Here is where this guide comes into play.
As in most compile cases, the official guide is written for another Linux Distribution than the one you target/use, similarly here the official compile/install guide is written with Ubuntu in mind.

So naturaly, there will be some differences for Fedora 19, KDE 64bit.

First you need to compile the Daemon, here is the procedure:

In order to compile the Daemon and KDE Client you need some tools, libraries/dependencies/etc.
I suggest you yum install all those listed below just to be on the safe side.

$sudo yum groupinstall group "Development Tools" "Development Libraries"
$sudo yum install cmake autoconf libtool gcc-c++ cppunit-devel cppcheck pcre-devel celt071-devel
$sudo yum install kdelibs-devel kdepimlibs-devel
$sudo yum install libyaml-devel alsa-lib-devel pulseaudio-libs-devel libsamplerate-devel ccrtp ucommon ccrtp-devel commoncpp2 commoncpp2-devel ucommon-bin ucommon-devel libzrtpcpp-devel dbus-c++-devel compat-expat1 expat-devel gsm-devel speex-devel libsndfile-devel
$sudo yum install gnutls-devel

Now, we can proceed with the actual process:
  1. $git clone http://git.sflphone.org/sflphone.git
  2. $cd sflphone/daemon/libs/pjproject-2.1.0
  3. $./compile_pjsip.sh
  4. $cd ../..
  5. $./autogen.sh
  6. $./configure
  7. $make
  8. $sudo make install
Our SFLPhone Daemon should now be compiled and installed in our system, next the KDE client:
  1. $git clone git://anongit.kde.org/sflphone-kde
  2. $cd sflphone-kde
  3. $mkdir -p build
  4. $cd build
  5. $cmake ../
  6. $make -j2
  7. $sudo make install
And you are done!
Try running $sflphone-client-kde

I hope this guide will assist you in having the edge version of SFLPhone KDE telephony client on Fedora 19 (KDE 64bit) with the least possible bugs.

For the updated compilation guide of SFLPhone v1.4.0 on Fedora 19/20 please click here.

1 comment: