PDA

View Full Version : Blink Softphone Install fedora 24 & 25beta



cemotyz09
6th November 2016, 08:09 PM
Hopefully you don't have to pull your hair out like i did for 2 days to find all dependencies.

Blink is a nice looking, fully featured softphone available for Linux,MacOS, and Windows. more information here (http://icanblink.com/). Unfortunately its not packaged in fedora repos so its a manual affair for the install.

First you'll want to change directory to where you would like to install files, example will be /usr/local/src/

cd /usr/local/src/
next download the main project files and the SDK from Git

wget https://github.com/AGProjects/blink-qt/archive/master.zip
wget https://github.com/AGProjects/python-sipsimple/archive/master.zip
Next extract files

unzip master.zip repeat for both zips.
you should be left with similarly named files in /usr/local/src/blink-qt-master and usr/local/src/python-sipsimple-master remove the '-master' from the names of directories
mv /usr/local/src/blink-qt-master /usr/local/src/blink-qt make the directories executable
chmod 755 -R /usr/local/src/blink-qt-master repeat for both directories
Now this should be most of the dependencies needed but its possible my system has some yours may not hopefully it shouldn't be too much to find the rest if any are missing.

dnf install python-devel redhat-rpm-config compat-openssl10-devel sqlite-devel gcc-c++ libvpx-devel ffmpeg-devel python2-Cython python2-google-api-client qt5-qtwayland python-twisted-core python-setuptools_hg python-dateutil python2-greenlet libuuid-devel x264-devel opus-devel python2-gmpy2 libvncserver-devel alsa-lib-devel libv4l-devel python-qt5-webkit darcs avahi-compat-libdns_sd-devel python-cjson python2-zope-interface python2-lxml python2-dns
after they are all installed you should still be in /usr/local/src directory so change to the python-sipsimple directory
cd python-sipsimple there is an install script that should pull in the rest of the dependencies located in docs folder
cd docs/
the script is named Install.linux the main important part is the script at bottom and
sudo pip install -U cython dnspython lxml python-gnutls python-otr python-application twisted python-dateutil greenlet most dependencies were already installed but it seems pip updated them so It didn't seem to be an issue.
the install script will need some editing to be usable. cut it down until you only have the part of the script should look like this
# Eventlib
if [ -d python-eventlib ]; then
cd python-eventlib
darcs pull -a
sudo python setup.py install
else
darcs get http://devel.ag-projects.com/repositories/python-eventlib
cd python-eventlib
sudo python setup.py install
fi
cd ..

# XCAP library
if [ -d python-xcaplib ]; then
cd python-xcaplib
darcs pull -a
sudo python setup.py install
else
darcs get http://devel.ag-projects.com/repositories/python-xcaplib
cd python-xcaplib
sudo python setup.py install
fi
cd ..

# MSRP library
if [ -d python-msrplib ]; then
cd python-msrplib
darcs pull -a
sudo python setup.py install
else
darcs get http://devel.ag-projects.com/repositories/python-msrplib
cd python-msrplib
sudo python setup.py install
fi
cd ..

# SIP SIMPLE
if [ -d python-sipsimple ]; then
cd python-sipsimple
darcs pull -a
else
darcs get --set-scripts-executable http://devel.ag-projects.com/repositories/python-sipsimple
fi
cd ..

cd python-sipsimple
python setup.py build_ext --pjsip-clean-compile
sudo python setup.py installexecute the script
./Install.linux it should build the sdk but the error output should be self-explanatory to find which dependency it is missing. once it is built change directory to the main project folder
cd /usr/local/src/blink-qt and run the python script
python setup.py install again it will either complete successfully or throw an error about a dependency which should be easy enough to find. after its successful you open blink by typing
blink in terminal. You will again possibly get dependency errors which again should be easy enough to fix but after that it should just run program. I created desktop file to make things easier.
[Desktop Entry]
Name=Blink
Version=2.0.0
Exec=python /usr/bin/blink
Icon=/usr/share/blink/icons/blink.ico
Comment=state of the art, easy to use SIP client
Type=Application
Terminal=false
StartupNotify=true
Categories=Video
I hope this helps someone else

GoodMirek
14th February 2017, 10:15 PM
Thanks for great how-to!

Let me add my few cents. Today, I have decided to start using VoIP SIP on my Fedora Linux workstation. I have successfully built Blink, its About box says Version 3.0.2, February 9, 2017. My machine is Fedora Core 25, up to date, arch x86_64.

Things I had to do in a different way than described in the original post or in addition to it:


sudo pip2 install -U cython dnspython lxml python-gnutls python-otr python-application twisted python-dateutil greenlet
While running with pip instead of pip2, it failed.
While running a script created by editing of python-sipsimple/docs/Install.linux, I had to change working directory to be one level above "python-sipsimple", otherwise it tried to download the python-sipsimple source, what failed. Beware of typo cd.. (missing space)
"darcs pull" on python-sipsimple fails, but compilation works.


I have also tried Linphone, which works just fine, but misses Google contacts integration.
I have also tried Ekiga and Empathy, none of them were working for SIP calls.

cemotyz09
16th February 2017, 05:02 AM
I was aware of the type I thought I fixed it when I attached the code to this post but I'm glad it built successfully for you

GoodMirek
16th February 2017, 07:00 AM
I was aware of the type I thought I fixed it when I attached the code to this post but I'm glad it built successfully for you
Indeed you did! I did not copy the script from this post, but rather took it as an example and modified Install.linux myself. Thanks again for the post, it has helped me.

cemotyz09
5th August 2017, 03:21 AM
UPDATE: doesn't seem to work on fedora 26 it doesn't seem to find openssl development files so encryption doesn't work

srakitnican
5th August 2017, 11:31 PM
Turns out library that Blink uses links to patent encumbered ffmpeg, so I can't share freely on Copr. Will see maybe about rpmfusion, in the meantime here's the SRPMs, you can use mock (https://fedoraproject.org/wiki/Using_Mock_to_test_package_builds) to build the packages so that you don't clutter your system with build packages..

Try and see if this works: https://mega.nz/#F!dVgR0Bxb!Ww_gYF-y7phC_6bKilc-cg

Oh and for mock you will need to add rpmfusion repo for ffmpeg to /etc/mock/default.cfg or install the package(s) manually in chroot environment. Following should do it:


[rpmfusion-free]
name=RPM Fusion for Fedora $releasever - Free
#baseurl=http://download1.rpmfusion.org/free/fedora/releases/$releasever/Everything/$basearch/os/
metalink=https://mirrors.rpmfusion.org/metalink?repo=free-fedora-$releasever&arch=$basearch
enabled=1
metadata_expire=14d
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rpmfusion-free-fedora-$releasever

[rpmfusion-free-updates]
name=RPM Fusion for Fedora $releasever - Free - Updates
#baseurl=http://download1.rpmfusion.org/free/fedora/updates/$releasever/$basearch/
metalink=https://mirrors.rpmfusion.org/metalink?repo=free-fedora-updates-released-$releasever&arch=$basearch
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rpmfusion-free-fedora-$releasever

cemotyz09
9th August 2017, 12:00 AM
Thanks for tip about openssl I'll check if that works, but wouldn't i also need to build the packages dependencies as RPMs as well to build which would be all the ones installed by PIP?

srakitnican
9th August 2017, 06:42 AM
Fedora provides them as packages that will get automatically pulled when installing. The ones that doesn't provide, I've included as SRPMs. It will depend on those as well and will not install unless provided.

cemotyz09
7th January 2018, 05:08 PM
seems it depends on openssl 1.0 so that why it would fail to build. Updated dependencies though looking to figure out how to install through mock so RPMs can be made to make things easier