Files
jami-daemon/daemon
Stepan Salenikovich 51898f2e99 daemon: add default RING bootstrap
Resf #63741

Change-Id: Ida90c129a94ec4aca059ab791c0009bb81594535
2015-01-13 16:58:18 -05:00
..
2015-01-09 12:23:00 -05:00
2015-01-08 10:39:45 -05:00
2015-01-09 12:23:00 -05:00
2015-01-09 12:23:00 -05:00
2015-01-09 12:23:00 -05:00
2015-01-13 16:58:18 -05:00
2015-01-09 12:23:00 -05:00
2015-01-09 12:23:00 -05:00
2015-01-09 12:23:00 -05:00
2015-01-09 12:23:00 -05:00
2015-01-09 12:23:00 -05:00
2015-01-09 12:23:00 -05:00

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/sflphone/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 --with-coreaudio --without-dbus --disable-video
make

Do a little dance!

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.

Note that you need a recent version of ucommon (>= 6.0.0) and of ccrtp
compiled against it to use clang.

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/sflphone/wiki/BugReports

IRC (on #freenode):
#sflphone

  -- The SFLPhone Team