2015-03-20 15:43:28 -04:00
|
|
|
COPYRIGHT NOTICE
|
2009-04-21 22:08:38 -04:00
|
|
|
|
2015-03-20 15:43:28 -04:00
|
|
|
Copyright (C) 2004-2015 Savoir-Faire Linux Inc.
|
2009-04-21 22:08:38 -04:00
|
|
|
|
2015-03-20 15:43:28 -04:00
|
|
|
This program is free software: you can redistribute it and/or modify
|
|
|
|
it under the terms of the GNU General Public License as published by
|
|
|
|
the Free Software Foundation, either version 3 of the License, or
|
|
|
|
(at your option) any later version.
|
2009-04-21 22:08:38 -04:00
|
|
|
|
2015-03-20 15:43:28 -04:00
|
|
|
This program is distributed in the hope that it will be useful,
|
|
|
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
|
|
GNU General Public License for more details.
|
2009-04-21 22:08:38 -04:00
|
|
|
|
2015-03-20 15:43:28 -04:00
|
|
|
You should have received a copy of the GNU General Public License
|
|
|
|
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
2009-04-21 22:08:38 -04:00
|
|
|
|
2015-03-20 15:43:28 -04:00
|
|
|
Additional permission under GNU GPL version 3 section 7:
|
2009-04-21 22:08:38 -04:00
|
|
|
|
2015-03-20 15:43:28 -04:00
|
|
|
If you modify this program, or any covered work, by linking or
|
|
|
|
combining it with the OpenSSL project's OpenSSL library (or a
|
|
|
|
modified version of that library), containing parts covered by the
|
|
|
|
terms of the OpenSSL or SSLeay licenses, Savoir-Faire Linux Inc.
|
|
|
|
grants you additional permission to convey the resulting work.
|
|
|
|
Corresponding Source for a non-source form of such a combination
|
|
|
|
shall include the source code for the parts of OpenSSL used as well
|
|
|
|
as that of the covered work.
|
2009-04-21 22:08:38 -04:00
|
|
|
|
|
|
|
|
2015-03-20 15:43:28 -04:00
|
|
|
Introduction
|
|
|
|
------------
|
|
|
|
|
|
|
|
Ring is a Voice-over-IP software phone. We want it to be:
|
|
|
|
- user friendly (fast, sleek, easy to learn interface)
|
|
|
|
- professional grade (transfers, holds, optimal audio quality)
|
|
|
|
- fully compatible with Asterisk (SIP and IAX protocols)
|
|
|
|
- customizable
|
|
|
|
|
|
|
|
As the SIP/audio daemon and the user interface are separate processes,
|
|
|
|
it is easy to provide different user interfaces. SFLPhone comes with
|
|
|
|
a GTK graphical user interface and even scripts to control the daemon from
|
|
|
|
the shell.
|
|
|
|
|
|
|
|
SFLPhone is currently used by the support team of Savoir-Faire Linux Inc.
|
|
|
|
|
|
|
|
More information is available on the project homepage:
|
|
|
|
http://www.sflphone.org/
|
|
|
|
|
|
|
|
|
|
|
|
Short description of content of source tree
|
|
|
|
-------------------------------------------
|
|
|
|
|
|
|
|
- src/ is the core of SFLphone. It contains main.cpp, the entry point and
|
|
|
|
managerimpl.cpp.
|
|
|
|
The ManagerImpl class is the intermediary between all the layers of the daemon.
|
|
|
|
- src/client/dbus, the D-Bus xml interfaces, and c++ bindings
|
|
|
|
- src/client/android, the JNI interfaces (Java bindings)
|
|
|
|
|
|
|
|
|
|
|
|
About Savoir-Faire Linux
|
|
|
|
------------------------
|
|
|
|
|
|
|
|
Savoir-Faire Linux is a consulting company based in Montreal, Quebec.
|
|
|
|
For more information, please check out our website:
|
|
|
|
http://www.savoirfairelinux.com/
|
|
|
|
|
|
|
|
How to compile on Linux
|
|
|
|
-----------------------
|
|
|
|
|
|
|
|
# Compile the dependencies
|
|
|
|
cd ../contrib/
|
|
|
|
mkdir native
|
|
|
|
cd native
|
|
|
|
../bootstrap
|
|
|
|
make
|
|
|
|
|
|
|
|
# Then the daemon
|
|
|
|
cd ../../daemon
|
|
|
|
./autogen.sh
|
|
|
|
./configure
|
|
|
|
make
|
|
|
|
make install
|
|
|
|
|
|
|
|
# And the GNOME client
|
|
|
|
cd ring-client-gnome
|
|
|
|
./autogen.sh
|
|
|
|
./configure
|
|
|
|
make
|
|
|
|
make install
|
|
|
|
|
|
|
|
Done !
|
|
|
|
|
|
|
|
More details available here:
|
|
|
|
https://projects.savoirfairelinux.com/projects/ring/wiki/How_to_build
|
|
|
|
|
|
|
|
How to compile on OSX
|
|
|
|
---------------------
|
|
|
|
# These first steps are only necessary if you don't use a package manager.
|
|
|
|
cd daemon/extras/tools
|
|
|
|
./bootstrap
|
|
|
|
make
|
|
|
|
export PATH=$PATH:/location/of/ring/daemon/extras/tools/build/bin
|
|
|
|
|
|
|
|
# Or, use your favorite package manager to install the necessary tools
|
|
|
|
(macports or brew).
|
|
|
|
automake libtool check gettext libtoolize ...
|
|
|
|
|
|
|
|
# Compile the dependencies
|
|
|
|
cd contrib
|
|
|
|
mkdir native
|
|
|
|
cd native
|
|
|
|
../bootstrap
|
|
|
|
make -j
|
|
|
|
|
|
|
|
# Then the daemon
|
|
|
|
cd ../../daemon
|
|
|
|
./autogen.sh
|
|
|
|
./configure --without-alsa --without-pulse --without-dbus --disable-video
|
|
|
|
make
|
|
|
|
|
|
|
|
If you want to link against libringclient and native client easiest way is to
|
|
|
|
add to ./configure: --prefix=<prefix_path>
|
|
|
|
|
|
|
|
Do a little dance!
|
|
|
|
|
|
|
|
Common Issues
|
|
|
|
------------
|
|
|
|
|
|
|
|
autopoint not found: When using Homebrew, autopoint is not find even when
|
|
|
|
gettext is installed, because symlinks are not created.
|
|
|
|
Run: 'brew link --force gettext' to fix it.
|
|
|
|
|
|
|
|
How to cross-compile for Windows 64bit (from Linux)
|
|
|
|
---------------------------------------------------
|
|
|
|
|
|
|
|
# First, make sure you can compile the linux version.
|
|
|
|
# Install a few tools.
|
|
|
|
sudo apt-get install mingw-w64 cmake build-essential g++ automake autoconf
|
|
|
|
gnu-standards autoconf-doc libtool gettext autoconf-archive pkg-config
|
|
|
|
|
|
|
|
# On certain distributions, mingw-w64 doesn't select POSIX threads by default.
|
|
|
|
You need to use the POSIX version. To do so, run the following commands and
|
|
|
|
select POSIX threads.
|
|
|
|
sudo update-alternatives --config x86_64-w64-mingw32-gcc
|
|
|
|
sudo update-alternatives --config x86_64-w64-mingw32-g++
|
|
|
|
|
|
|
|
# Compile the dependencies
|
|
|
|
cd ring/daemon/contrib/
|
|
|
|
mkdir win64 && cd win64
|
|
|
|
../bootstrap --host=x86_64-w64-mingw32
|
|
|
|
make
|
|
|
|
# make -j seems to have problems!?
|
|
|
|
|
|
|
|
Cross fingers and pray to the great cross-compiler in the sky!
|
|
|
|
...
|
|
|
|
Profit!
|
|
|
|
|
|
|
|
# Compile the daemon
|
|
|
|
./autogen.sh
|
|
|
|
./configure --host=x86_64-w64-mingw32
|
|
|
|
--without-alsa
|
|
|
|
--without-pulse
|
|
|
|
--without-dbus
|
|
|
|
--disable-video
|
|
|
|
make
|
|
|
|
|
|
|
|
Clang compatibility (developers only)
|
|
|
|
-------------------------------------
|
|
|
|
|
|
|
|
It is possible to compile sflphone with Clang by setting CC and CXX variables
|
|
|
|
to 'clang' and 'clang++' respectively when calling ./configure.
|
|
|
|
|
|
|
|
Currently it is not possible to use the DBus interface mechanism, and the
|
|
|
|
interaction between daemon and client will not work; for each platform where
|
|
|
|
dbus is not available the client should implement all the methods in the
|
|
|
|
*_stub.cpp files.
|
|
|
|
|
|
|
|
SIP/IAx2 accounts
|
|
|
|
---------------------
|
|
|
|
|
|
|
|
You may register an existing SIP/IAX2 account through the account wizard in both
|
|
|
|
clients (KDE and GNOME).
|
|
|
|
By doing this, you will be able to call other accounts known to this server.
|
|
|
|
|
|
|
|
|
|
|
|
Contributing to SFLPhone
|
|
|
|
------------------------
|
|
|
|
|
|
|
|
Of course we love patches. And contributions. And spring rolls.
|
|
|
|
|
|
|
|
Development website: http://projects.savoirfairelinux.net/wiki/sflphone
|
|
|
|
|
|
|
|
Do not hesitate to join us and post comments, suggestions, questions
|
|
|
|
and general feedback on the SFLphone mailing-list:
|
|
|
|
http://lists.savoirfairelinux.net/mailman/listinfo/sflphone
|
|
|
|
|
|
|
|
Bug reports:
|
|
|
|
https://projects.savoirfairelinux.com/projects/ring/wiki/BugReports
|
|
|
|
|
|
|
|
IRC (on #freenode):
|
|
|
|
#sflphone
|
|
|
|
|
|
|
|
-- The SFLPhone Team
|