README 4.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186
  1. COPYRIGHT NOTICE
  2. Copyright (C) 2004-2017 Savoir-faire Linux Inc.
  3. This program is free software: you can redistribute it and/or modify
  4. it under the terms of the GNU General Public License as published by
  5. the Free Software Foundation, either version 3 of the License, or
  6. (at your option) any later version.
  7. This program is distributed in the hope that it will be useful,
  8. but WITHOUT ANY WARRANTY; without even the implied warranty of
  9. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  10. GNU General Public License for more details.
  11. You should have received a copy of the GNU General Public License
  12. along with this program. If not, see <http://www.gnu.org/licenses/>.
  13. Introduction
  14. ------------
  15. GNU Ring is a Voice-over-IP software phone. We want it to be:
  16. - user friendly (fast, sleek, easy to learn interface)
  17. - professional grade (transfers, holds, optimal audio quality)
  18. - compatible with Asterisk (using SIP account)
  19. - de-centralized call (P2P-DHT)
  20. - customizable
  21. As the SIP/audio daemon and the user interface are separate processes,
  22. it is easy to provide different user interfaces. GNU Ring comes with
  23. various graphical user interfaces and even scripts to control the daemon from
  24. the shell.
  25. GNU Ring is currently used by the support team of Savoir-faire Linux Inc.
  26. More information is available on the project homepage:
  27. http://www.ring.cx/
  28. This source tree contains the daemon application only, DRing, that handles
  29. the business logic of GNU Ring. UIs are located in differents repositories. See
  30. the Contributing section for more information.
  31. Short description of content of source tree
  32. -------------------------------------------
  33. - src/ is the core of DRing.
  34. - bin/ contains applications main code.
  35. - bin/dbus, the D-Bus xml interfaces, and c++ bindings
  36. - bin/restcpp, the C++ REST API implemented with Restbed
  37. About Savoir-faire Linux
  38. ------------------------
  39. Savoir-faire Linux is a consulting company based in Montreal, Quebec.
  40. For more information, please check out our website:
  41. http://www.savoirfairelinux.com/
  42. How to compile on Linux
  43. -----------------------
  44. 1) Compile the dependencies first
  45. cd contrib
  46. mkdir native
  47. cd native
  48. ../bootstrap
  49. make
  50. 2) Then the dring application
  51. cd ../../
  52. ./autogen.sh
  53. ./configure
  54. make
  55. make install
  56. Done !
  57. More details available here:
  58. https://tuleap.ring.cx/plugins/mediawiki/wiki/ring/index.php/Build_Instructions
  59. How to compile on OSX
  60. ---------------------
  61. # These first steps are only necessary if you don't use a package manager.
  62. cd extras/tools
  63. ./bootstrap
  64. make
  65. export PATH=$PATH:/location/of/ring/daemon/extras/tools/build/bin
  66. # Or, use your favorite package manager to install the necessary tools
  67. (macports or brew).
  68. automake, pkg-config, libtool, gettext, yasm
  69. # Compile the dependencies
  70. cd contrib
  71. mkdir native
  72. cd native
  73. ../bootstrap
  74. make -j
  75. # Then the daemon
  76. cd ../../
  77. ./autogen.sh
  78. ./configure --without-dbus --prefix=<install_path>
  79. make
  80. If you want to link against libringclient and native client easiest way is to
  81. add to ./configure: --prefix=<prefix_path>
  82. Do a little dance!
  83. Common Issues
  84. -------------
  85. autopoint not found: When using Homebrew, autopoint is not found even when
  86. gettext is installed, because symlinks are not created.
  87. Run: 'brew link --force gettext' to fix it.
  88. Clang compatibility (developers only)
  89. -------------------------------------
  90. It is possible to compile dring with Clang by setting CC and CXX variables
  91. to 'clang' and 'clang++' respectively when calling ./configure.
  92. Currently it is not possible to use the DBus interface mechanism, and the
  93. interaction between daemon and client will not work; for each platform where
  94. dbus is not available the client should implement all the methods in the
  95. *_stub.cpp files.
  96. How to compile with the REST API
  97. --------------------------------
  98. GNU Ring offers two REST API. One written in C++, and the other written in Cython.
  99. Up to this date, only the C++ API is available. The Cython API will soon follow.
  100. To compile Ring-daemon with the C++ REST API, follow these two steps :
  101. 1) Compile the dependencies
  102. cd contrib
  103. mkdir native
  104. cd native
  105. ../bootstrap
  106. make
  107. make .restbed
  108. 2) Then compile the daemon
  109. cd ../../
  110. ./autogen.sh
  111. ./configure --without-dbus --with-restcpp
  112. make
  113. SIP accounts
  114. ---------------------
  115. You may register an existing SIP account through the account wizard in both
  116. clients (KDE and GNOME).
  117. By doing this, you will be able to call other accounts known to this server.
  118. Contributing to GNU Ring
  119. ------------------------
  120. Of course we love patches. And contributions. And spring rolls.
  121. Development website / Bug Tracker:
  122. - https://tuleap.ring.cx/projects/ring/
  123. Repositories are hosted on Gerrit, which we use for code review. It also
  124. contains the client subprojects:
  125. - https://gerrit-ring.savoirfairelinux.com/#/admin/projects/
  126. Do not hesitate to join us and post comments, suggestions, questions
  127. and general feedback on the GNU Ring mailing-list:
  128. https://lists.gnu.org/mailman/listinfo/ring
  129. IRC (on #freenode):
  130. - #ring
  131. -- The GNU Ring Team