No description
Find a file
Guillaume BIENKOWSKI 0dce1b41db Don't use printf
2014-05-20 11:16:38 +02:00
build Quality reporting: on call end, send a PUBLISH message with call quality data (work in progress) 2014-04-17 16:38:38 +02:00
console Fix real early media command line. 2014-04-14 10:19:43 +02:00
coreapi Don't use printf 2014-05-20 11:16:38 +02:00
gtk deep modifications about audio & video codec bitrates are handled. 2014-05-02 20:24:51 +02:00
include - linphone now puts Route headers in requests (except register) for outbound proxy configurations, according to RFC3261 2014-04-25 23:13:26 +02:00
intl purge out p2pproxy 2010-01-20 15:44:30 +01:00
java add java bindings for new payload type related API 2014-05-07 12:06:32 +02:00
m4 Include patch from linphone web version. 2013-12-03 13:01:39 +01:00
mediastreamer2@77022250a0 Update ms2 2014-05-19 11:44:07 +02:00
oRTP@519fabfed1 Update oRTP submodule for AVPF fixes. 2014-05-16 10:09:45 +02:00
pixmaps Implement RFC3994: Indication of Message Composition for Instant Messaging. 2014-01-03 15:01:18 +01:00
po fix make dist 2014-03-23 11:38:18 +01:00
scripts simplify tester 2013-06-19 14:48:16 +02:00
share Add audio assistant start icon 2014-03-24 15:15:28 +01:00
tester unit tests for transient messages 2014-05-20 10:24:05 +02:00
tools Moved lpc2xml and xml2lpc from tools to coreapi 2014-02-11 16:48:01 +01:00
.cproject MS2:downgrade speex resampler quality to min in case of arm with no neon 2014-03-25 17:51:52 +01:00
.gitignore Add audio assistant start icon 2014-03-24 15:15:28 +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 Allow out-of-tree build. 2014-02-12 14:10:39 +01: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 Fix compilation with CMake. 2014-03-04 09:22:43 +01:00
config.rpath purge out p2pproxy 2010-01-20 15:44:30 +01:00
configure.ac Fix configure.ac to allow message_storage=auto 2014-05-19 10:55:36 +02:00
COPYING wrapper generator in progress 2013-09-20 10:13:17 +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 updated for latest gtk+2 bundle 2013-12-09 17:09:16 +01:00
linphone-deps.filelist add bzrtp in windows setup.exe 2014-04-10 11:20:16 +02:00
linphone.iss.in Add linphone icon to uninstaller icon 2012-04-24 10:16:31 +02:00
linphone.spec.in Add audio-assistant in rpm 2014-03-25 11:07:22 +01:00
Makefile.am generate a dmg 2014-02-07 12:25:16 +01:00
NEWS New 3.7.0 release 2014-02-19 16:47:41 +01:00
README New 3.7.0 release 2014-02-19 16:47:41 +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 Update README 2014-02-19 16:33:47 +01:00
README.mingw give more time in tests 2014-04-21 10:27:18 +02:00
stamp-h.in purge out p2pproxy 2010-01-20 15:44:30 +01:00
TODO add new command to set fps of static picture 2010-09-03 15:41:15 +02:00

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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


******************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
	
	+ 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)
	+ libsoup (optional: for wizard - account creation assistant)
	+ 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 libsoup2.4-dev libsqlite3-dev libupnp4-dev

	+ Install srtp (optional) for call encryption :
		$ git clone git://git.linphone.org/srtp.git
 		$ cd srtp && autoconf && ./configure && make
 		$ sudo make install

	+ Install zrtpcpp (optional), for unbreakable call encryption
 		$ sudo apt-get install cmake
		$ git clone https://github.com/wernerd/ZRTPCPP.git
		$ cd ZRTPCPP 
		$ cmake -DCORE_LIB=true -DSDES=false . && make
 		$ sudo make install
		If you get this error: "cc1plus: error: unrecognized command line option -std=c++11", edit CMakeLists.txt and replace c++11 by c++0x .

- 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 the mediastreamer to send and receive streams to the network.

- mediastreamer2/ is one of the important part of linphone. It is a framework library 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.