Bitbucket is a code hosting site with unlimited public and private repositories. We're also free for small teams!

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


******************Building linphone ***********************************
- you need at least:
		- libosip2>=3.0.3
		- libeXosip2>=3.0.3
		- speex>=1.2.0 (including libspeexdsp part)
		- libreadline (optional: for convenient command line in linphonec)
	+ gsm codec (gsm source package or libgsm-dev or gsm-devel) (optional)
	+ if you want to gtk/glade interface:
		- gtk>=2.16.0
	+ if you want video support:
		- SDL>=1.2.10
		- libavcodec (ffmpeg) 
		- libswscale (part of ffmpeg too) for better scaling performance
		- theora (optional)

with their corresponding -dev or -devel package if you don't use source packages.

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.

Recent activity

Ghislain MARY

Commits by Ghislain MARY were pushed to Gradwell/linphone

39bbe26 - Keep the total number of streams and the number of active streams in the media description. This is to respect section 8 of RFC 3264 ...
Guillaume Beraudo

Commits by Guillaume Beraudo were pushed to Gradwell/linphone

83ea53b - Patch preventing chmod on /dev/null
Ghislain MARY

Commits by Ghislain MARY were pushed to Gradwell/linphone

a6c1410 - Use random port instead of fixed 15060 for tunnel transport.
Ghislain MARY

Commits by Ghislain MARY were pushed to Gradwell/linphone

622af47 - Add tcp_tls_keepalive configuration option to (de)activate SIP keepalive for TCP/TLS.
Ghislain MARY

Commits by Ghislain MARY were pushed to Gradwell/linphone

2c5cef3 - Fix library dependencies linking on Debian based systems.
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.