mirror of
https://git.jami.net/savoirfairelinux/jami-daemon.git
synced 2025-08-12 22:09:25 +08:00
07554dab05f9c36baadf97e500a25c8d67c9e861

Refs #69286 Change-Id: I2784a505434c97ea7b4c50f2a0da61559e0cbfde
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
Description
Languages
C++
85.3%
SWIG
2.6%
Python
2.6%
Makefile
2.1%
CMake
1.7%
Other
5.5%