No description
Find a file
2016-06-30 13:19:16 +02:00
.tx Add .desktop files on Transifex 2014-12-04 11:07:29 +01:00
build Move from CUnit to BCUnit 2016-06-29 16:37:52 +02:00
cmake tools: enable them on iOS 2016-06-23 16:19:23 +02:00
console Remove runtime dependency to libbctoolbox-tester 2016-06-27 15:02:13 +02:00
coreapi vCard context has to work even without vCard support for fetching friend from db... 2016-06-29 17:00:11 +02:00
daemon cmake: fix compilation when building with static libraries 2016-06-27 14:05:02 +02:00
gtk Reloading of the friend list after going to the chat room with shortcut 2016-06-29 16:22:46 +02:00
include Merge branch 'master' into dev_turn 2016-06-01 14:56:52 +02:00
intl Define ENABLE_NLS instead of HAVE_INTL when internationalization is available 2015-07-07 14:04:39 +02:00
java Load the gnustl C++ library when loading the application. 2016-06-20 13:12:21 +02:00
m4 Fix configure when using --without-readline 2015-06-17 13:10:45 +02:00
mediastreamer2@ea379434c6 tester: do not install on IOS and update README 2016-06-29 17:08:42 +02:00
oRTP@96f89c6258 Update ortp submodule. 2016-06-28 13:58:57 +02:00
pixmaps Added a take screenshot button in video window in gtk app + updated translations 2016-05-10 12:02:24 +02:00
po Update translations. 2016-05-24 11:33:59 +02:00
scripts mk-ca-bundle.pl: update script with upstream https://raw.githubusercontent.com/curl/curl/master/lib/mk-ca-bundle.pl 2016-06-27 17:00:57 +02:00
share Revert "Update linphone git fixing oldphone-mono.wav ring, renamed into oldphone.wav." 2016-04-22 11:28:46 +02:00
tester README: pff… autotools, what else? 2016-06-30 13:19:16 +02:00
tools Install tester when building with CMake. 2016-06-27 17:42:06 +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 Merge remote-tracking branch 'public/master' into daemon 2016-03-14 16:10:18 +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 Install tester when building with CMake. 2016-06-27 17:42:06 +02:00
config.h.cmake Fix config.h.cmake for gtk-mac-integration. 2015-10-28 17:53:55 +01:00
config.rpath purge out p2pproxy 2010-01-20 15:44:30 +01:00
configure.ac fix automake build and simplify sqlite enablement options 2016-05-20 09:37:53 +02:00
COPYING Add the AVC/H.264 Patent Portfolio License Conditions to COPYING 2015-04-17 15:07:03 +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 README: pff… autotools, what else? 2016-06-30 13:19:16 +02:00
NEWS missing gtk updates 2016-05-26 11:30:53 +02:00
README README: pff… autotools, what else? 2016-06-30 13:19:16 +02: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.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

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](https://github.com/BelledonneCommunications/linphone-desktop).

# Otherwise…

## Building Linphone

- Install build time dependencies
	- libtool
	- intltool

- you need at least:
 	- belle-sip>=1.3.0
	- speex>=1.2.0 (including libspeexdsp part)
	- libxml2
	- bctoolbox

	+ if you want the gtk/glade interface:
		- libgtk >=2.16.0
	+ if you want video support:
		- libvpx (VP8 codec)
		- libavcodec (ffmpeg)
		- libswscale (part of ffmpeg too) for better scaling performance
		- libxv (x11 video extension)
		- libgl1-mesa (OpenGL API -- GLX development files)
		- libglew (OpenGL Extension Wrangler library)
		- libv4l (Video for linux)
		- libx11 (x11)
		- theora (optional)
	+ gsm codec (gsm source package or libgsm-dev or gsm-devel) (optional)
	+ libreadline (optional: for convenient command line in linphonec)
	+ libsqlite3 (optional : for a local history of chat messages)
	+ if you want uPnP support (optional):
		- libupnp (version 1.6 branch (not patched with 18-url-upnpstrings.patch))

	Here is the command line to get these dependencies installed for Ubuntu && Debian

	$ sudo apt-get install libtool intltool libgtk2.0-dev libspeexdsp-dev \
libavcodec-dev libswscale-dev libx11-dev libxv-dev libgl1-mesa-dev \
libglew1.6-dev libv4l-dev libxml2-dev

	+ for optional library
	$ sudo apt-get install libreadline-dev libgsm1-dev libtheora-dev \
libsqlite3-dev libupnp4-dev libsrtp-dev

	+ Install zrtp (optional), for unbreakable call encryption
		$ git clone git://git.linphone.org:bzrtp
		$ cd bzrtp && ./autogen.sh && ./configure && make
		$ sudo make install

- Compile linphone

 $ ./autogen.sh
 $ ./configure
 $ make && sudo make install
 $ sudo ldconfig



For windows compilation see README.mingw.
For macOS X, see README.macos


## 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.