README 4.93 KB
Newer Older
1
COPYRIGHT NOTICE
2

3
Copyright (C) 2004-2019 Savoir-faire Linux Inc.
4

5 6 7 8
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.
9

10 11 12 13
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.
14

15 16
You should have received a copy of the GNU General Public License
along with this program.  If not, see <http://www.gnu.org/licenses/>.
17 18


19 20 21
Introduction
------------

aviau's avatar
aviau committed
22
GNU Ring is a Voice-over-IP software phone. We want it to be:
23 24
- user friendly (fast, sleek, easy to learn interface)
- professional grade (transfers, holds, optimal audio quality)
25
- compatible with Asterisk (using SIP account)
26
- decentralized call (P2P-DHT)
27 28 29
- customizable

As the SIP/audio daemon and the user interface are separate processes,
aviau's avatar
aviau committed
30
it is easy to provide different user interfaces. GNU Ring comes with
31
various graphical user interfaces and even scripts to control the daemon from
32 33
the shell.

aviau's avatar
aviau committed
34
GNU Ring is currently used by the support team of Savoir-faire Linux Inc.
35 36

More information is available on the project homepage:
37
  https://www.jami.net/
38 39

This source tree contains the daemon application only, DRing, that handles
aviau's avatar
aviau committed
40
the business logic of GNU Ring. UIs are located in differents repositories. See
41
the Contributing section for more information.
42 43 44 45 46


Short description of content of source tree
-------------------------------------------

47 48
- src/ is the core of DRing.
- bin/ contains applications main code.
49
- bin/dbus, the D-Bus XML interfaces, and C++ bindings
50
- bin/restcpp, the C++ REST API implemented with Restbed
51

52
About Savoir-faire Linux
53 54
------------------------

55
Savoir-faire Linux is a consulting company based in Montreal, Quebec.
56
For more information, please check out our website:
57
https://www.savoirfairelinux.com/
58

59

60 61 62
How to compile on Linux
-----------------------

63 64
1) Compile the dependencies first

65
cd contrib
66 67 68 69 70
mkdir native
cd native
../bootstrap
make

71
2) Then the dring application
72

73
cd ../../
74 75 76 77 78 79 80 81
./autogen.sh
./configure
make
make install

Done !

More details available here:
82
https://git.jami.net/savoirfairelinux/ring-project/wikis/technical/Build-instructions
83

84

85 86
How to compile on OSX
---------------------
87

88
# These first steps are only necessary if you don't use a package manager.
89
cd extras/tools
90 91 92 93 94 95
./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).
96
automake, pkg-config, libtool, gettext, yasm
97 98 99 100 101 102 103 104 105

# Compile the dependencies
cd contrib
mkdir native
cd native
../bootstrap
make -j

# Then the daemon
106
cd ../../
107
./autogen.sh
108
./configure  --without-dbus --prefix=<install_path>
109 110 111 112 113 114 115
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!

116

117
Common Issues
118
-------------
119

120
autopoint not found: When using Homebrew, autopoint is not found even when
121 122 123 124 125 126 127
gettext is installed, because symlinks are not created.
Run: 'brew link --force gettext' to fix it.


Clang compatibility (developers only)
-------------------------------------

128
It is possible to compile dring with Clang by setting CC and CXX variables
129 130 131 132
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
133
D-Bus is not available the client should implement all the methods in the
134 135
*_stub.cpp files.

136 137 138
How to compile with the REST API
--------------------------------

aviau's avatar
aviau committed
139
GNU Ring offers two REST API. One written in C++, and the other written in Cython.
140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156
Up to this date, only the C++ API is available. The Cython API will soon follow.

To compile Ring-daemon with the C++ REST API, follow these two steps :

1) Compile the dependencies
cd contrib
mkdir native
cd native
../bootstrap
make
make .restbed

2) Then compile the daemon
cd ../../
./autogen.sh
./configure --without-dbus --with-restcpp
make
157 158

SIP accounts
159 160
---------------------

161
You may register an existing SIP account through the account wizard in both
162 163 164 165
clients (KDE and GNOME).
By doing this, you will be able to call other accounts known to this server.


aviau's avatar
aviau committed
166
Contributing to GNU Ring
167 168 169 170
------------------------

Of course we love patches. And contributions. And spring rolls.

171
Development website / Bug Tracker:
172
 - https://git.jami.net/savoirfairelinux/ring-project
173 174 175 176

Repositories are hosted on Gerrit, which we use for code review. It also
contains the client subprojects:
 - https://gerrit-ring.savoirfairelinux.com/#/admin/projects/
177 178

Do not hesitate to join us and post comments, suggestions, questions
aviau's avatar
aviau committed
179
and general feedback on the GNU Ring mailing-list:
180
https://lists.gnu.org/mailman/listinfo/ring
181 182

IRC (on #freenode):
183
 - #ring
184

aviau's avatar
aviau committed
185
  -- The GNU Ring Team