No description
Find a file
2016-10-24 15:38:15 +02:00
.tx
build Move from CUnit to BCUnit 2016-06-29 16:37:52 +02:00
cmake license: update FSF address 2016-07-27 11:58:38 +02:00
console allow missing initializers 2016-10-19 19:37:42 +02:00
coreapi Add specific callback to perform action (in this case re-INVITE) on cancel response. 2016-10-24 14:27:45 +02:00
daemon Stricter compilation options + new compilation error fixes. 2016-10-19 17:31:07 +02:00
gtk Stricter compilation options + new compilation error fixes. 2016-10-19 17:31:07 +02:00
include Add specific callback to perform action (in this case re-INVITE) on cancel response. 2016-10-24 14:27:45 +02:00
intl
java JNI for country list 2016-10-21 15:09:07 +02:00
m4
mediastreamer2@4f21658408 Update ms2 2016-10-24 13:54:26 +02:00
oRTP@79e9b9d50e Update ortp submodule. 2016-10-24 12:10:50 +02:00
pixmaps license: update FSF address 2016-07-27 11:58:38 +02:00
po license: update FSF address 2016-07-27 11:58:38 +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 license: update FSF address 2016-07-27 11:58:38 +02:00
tester fix vcard compilation 2016-10-24 15:38:15 +02:00
tools Fix build of Python module + handle wrapper generation of deprecated methods. 2016-09-28 14:19:41 +02:00
.clang-format
.cproject
.git-pre-commit
.gitignore Merge remote-tracking branch 'public/master' into daemon 2016-03-14 16:10:18 +01:00
.gitmodules
.project
ABOUT-NLS
AUTHORS
autogen.sh
BUGS
ChangeLog
CMakeLists.txt allow missing initializers 2016-10-19 19:37:42 +02:00
config.h.cmake license: update FSF address 2016-07-27 11:58:38 +02:00
config.rpath
configure.ac allow missing initializers 2016-10-19 19:37:42 +02:00
COPYING Replace non-ascii characters in COPYING 2016-07-06 14:51:09 +02:00
gen-gtkfilelist.sh
gtk+-2.16.2.filelist
gtk+-2.16.6.filelist
gtk+-2.18.5.filelist
gtk+-2.22.1.filelist
gtk+-2.24.8.filelist
linphone-deps.filelist
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 Increment version number to 3.10.2 to avoid problems with tag misuse 3.10.1 2016-08-30 14:59:16 +02:00
README fix bad git url in README 2016-07-04 21:50:15 +02:00
README.arm
README.M68k.txt
README.macos.md Move from CUnit to BCUnit 2016-06-29 16:37:52 +02:00
README.mingw
stamp-h.in
TODO

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.git
		$ 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.