No description
Find a file
2017-03-31 11:52:26 +02:00
.tx Add .desktop files on Transifex 2014-12-04 11:07:29 +01:00
build Add account creator request engine + some changes 2017-03-28 17:08:01 +02:00
cmake fix group mode for cxx wrapper 2017-03-23 18:22:17 +01:00
console Fix deprecation warnings. 2017-03-20 11:15:26 +01:00
coreapi Change the account creator API so that it is wrapper-friendly. 2017-03-31 11:52:26 +02:00
daemon fix linphone-daemon printing of RTCP stats 2017-03-29 13:17:55 +02:00
gtk Change the account creator API so that it is wrapper-friendly. 2017-03-31 11:52:26 +02:00
include Change the account creator API so that it is wrapper-friendly. 2017-03-31 11:52:26 +02:00
intl Define ENABLE_NLS instead of HAVE_INTL when internationalization is available 2015-07-07 14:04:39 +02:00
java Fix javadoc 2017-03-30 16:58:35 +02:00
m4 Fix configure when using --without-readline 2015-06-17 13:10:45 +02:00
mediastreamer2@81dd23b312 Use correct macro __ios --> TARGET_OS_IPHONE 2017-03-29 10:52:56 +02:00
oRTP@f9099f6b2d fix linphone-daemon printing of RTCP stats 2017-03-29 13:17:55 +02:00
pixmaps Rework chat handling. 2017-01-31 12:25:12 +01:00
po fix make distcheck 2017-02-01 14:22:12 +01:00
scripts add mk-ca-bundle.pl to Makefile.am 2016-12-20 21:58:34 +01:00
share Rework presence to remove online and offline virtual activities and introduce consolidated presence. 2017-03-17 14:51:23 +01:00
tester Change the account creator API so that it is wrapper-friendly. 2017-03-31 11:52:26 +02:00
tools Change the account creator API so that it is wrapper-friendly. 2017-03-31 11:52:26 +02:00
wrappers/cpp Change the account creator API so that it is wrapper-friendly. 2017-03-31 11:52:26 +02:00
.clang-format coding style: experimental use of a clang-format git pre-commit hook to use code convention 2015-08-24 11:10:17 +02:00
.cproject Merge remote-tracking branch 'linphone/master' into daemon 2015-03-18 11:52:35 +01:00
.git-pre-commit coding style: experimental use of a clang-format git pre-commit hook to use code convention 2015-08-24 11:10:17 +02:00
.gitignore C++ wrapper generator - intitial commit 2017-01-12 16:42:01 +01:00
.gitmodules merge from tunnel branch 2012-01-30 23:50:28 +01:00
.project Merge remote-tracking branch 'public/master' into belle-sip 2012-12-19 11:13:52 +01:00
ABOUT-NLS purge out p2pproxy 2010-01-20 15:44:30 +01:00
AUTHORS ready for release 2011-02-02 22:24:11 +01:00
autogen.sh More resilient libtoolize path detection 2015-08-31 18:12:50 +02:00
BUGS purge out p2pproxy 2010-01-20 15:44:30 +01:00
ChangeLog purge out p2pproxy 2010-01-20 15:44:30 +01:00
CMakeLists.txt C++ wrapper: CMake scripts improvements 2017-03-28 16:48:46 +02:00
config.h.cmake The resources directories can now be defined at runtime. 2017-02-17 17:07:10 +01:00
config.rpath purge out p2pproxy 2010-01-20 15:44:30 +01:00
configure.ac Merge tag '3.11.1' 2017-03-02 14:57:23 +01:00
COPYING Replace non-ascii characters in COPYING 2016-07-06 14:51:09 +02:00
gen-gtkfilelist.sh updated for latest gtk+2 bundle 2013-12-09 17:09:16 +01:00
gtk+-2.16.2.filelist purge out p2pproxy 2010-01-20 15:44:30 +01:00
gtk+-2.16.6.filelist purge out p2pproxy 2010-01-20 15:44:30 +01:00
gtk+-2.18.5.filelist purge out p2pproxy 2010-01-20 15:44:30 +01:00
gtk+-2.22.1.filelist fix and update windows mingw build 2011-01-06 15:54:19 +01:00
gtk+-2.24.8.filelist Add Turkish and Arabic translation for GTK+ in the Windows installer 2015-04-27 14:22:11 +02:00
linphone-deps.filelist adapt for lastest polarssl on windows, fix system include paths preempting 2015-01-30 00:00:19 +01:00
linphone.iss.in README: pff… autotools, what else? 2016-06-30 13:19:16 +02:00
linphone.spec.in README: pff… autotools, what else? 2016-06-30 13:19:16 +02:00
Makefile.am Rename README into README.md 2017-02-24 14:48:52 +01:00
NEWS v3.11.1 2017-03-02 14:55:12 +01:00
README.arm purge out p2pproxy 2010-01-20 15:44:30 +01:00
README.M68k.txt purge out p2pproxy 2010-01-20 15:44:30 +01:00
README.macos.md Move from CUnit to BCUnit 2016-06-29 16:37:52 +02:00
README.md Update README.md 2017-02-24 15:17:01 +01:00
README.mingw Rewrite README.mingw to match with 80-columned terminals 2015-02-24 10:27:40 +01:00
stamp-h.in purge out p2pproxy 2010-01-20 15:44:30 +01:00
TODO Enable to build linphone with SRTP support by using the packages provided by GNU/Linux distributions 2015-02-11 15:09:33 +01:00

Linphone

This is Linphone, a free (GPL) video softphone based on the SIP protocol.

WARNING: Unless you exactly know what you are doing, you should take at look at linphone-desktop[1].

Building Linphone

Required dependencies

  • BcToolbox[2]: portability layer
  • BelleSIP[3]: SIP stack
  • Mediastreamer2[4]: multimedia engine
  • libxml2
  • zlib
  • libsqlite3: user data storage (disablable)
  • libnotify: system notification (GNU/Linux only;disablable)
  • libgtk2: graphical interface (disablable)
  • gettext and libintl: internationalization support (disablable)

Opitonal dependencies

  • Belcard[5]: VCard support
  • gtkmacintegration: integration with MacOSX menu

Build instructions

cmake . -DCMAKE_INSTALL_PREFIX=<prefix> -DCMAKE_PREFIX_PATH=<search_prefixes>

make
make install

Supported build opitons

  • CMAKE_INSTALL_PREFIX=<string> : install prefix
  • CMAKE_PREFIX_PATH=<string> : column-separated list of prefixes where to search for dependencies
  • ENABLE_SHARED=NO : do not build the shared library
  • ENABLE_STATIC=NO : do not build the static library
  • ENABLE_STRICT=NO : build without strict compilation flags (-Wall -Werror)
  • ENABLE_DOC=NO : do not generate the reference documentation of liblinphone
  • ENABLE_GTK_UI=NO : do not build the GTK user interface
  • ENABLE_UNIT_TESTS=NO : do not build testing binaries
  • ENABLE_VCARD=NO : disable VCard support
  • ENABLE_SQLITE_STORAGE=NO : disable SQlite user data storage (message, history, contacts list)
  • ENABLE_TOOLS=NO : do not build tool binaries
  • ENABLE_NLS=NO : disable internationalization
  • ENABLE_ASSISTANT=NO : disable account creation wizard

Note for packagers

Our CMake scripts may automatically add some paths into research paths of generated binaries. To ensure that the installed binaries are striped of any rpath, use -DCMAKE_SKIP_INSTALL_RPATH=ON while you invoke cmake.

Notes for developers

Here is a short description of the content of the source tree.

  • oRTP/ is a poweful implementation of the RTP protocol. See the oRTP/README for more details. It is used by mediastreamer2 to send and receive streams to the network.

  • mediastreamer2/ is one of the important part of linphone. It is a framework for audio and video processing. It contains several objects for grabing audio and video and outputing it (through rtp, to file). It contains also codec objects to compress audio and video streams. The mediastream.h files contain routines to easyly setup audio streams.

  • coreapi/ is the central point of linphone, which handles relationship between sip signalisation and media streaming. It contains an easy to use api to create a sip phone.

  • gtk/ is the directory that contains the gui frontend of linphone. It uses all libraries descibed above.

  • console/

    • linphonec.c is the main file for the console version of linphone.
    • sipomatic.c / sipomatic.h contains the code for sipomatic, the test program that auto-answer to linphone calls.
    • shell.c (program name: linphonecsh) is a small utilities to send interactive commands to a running linphonec daemon.
  • share/ contains translation, documentation, rings and hello sound files.