Files
jami-daemon/README

204 lines
5.9 KiB
Plaintext
Raw Normal View History

COPYRIGHT NOTICE
Copyright (C) 2004-2015 Savoir-Faire Linux Inc.
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.
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.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
Additional permission under GNU GPL version 3 section 7:
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.
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