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].
- 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)
- Belcard[5]: VCard support
- gtkmacintegration: integration with MacOSX menu
cmake . -DCMAKE_INSTALL_PREFIX=<prefix> -DCMAKE_PREFIX_PATH=<search_prefixes>
make
make install
CMAKE_INSTALL_PREFIX=<string>
: install prefixCMAKE_PREFIX_PATH=<string>
: column-separated list of prefixes where to search for dependenciesENABLE_SHARED=NO
: do not build the shared libraryENABLE_STATIC=NO
: do not build the static libraryENABLE_STRICT=NO
: build without strict compilation flags (-Wall -Werror)ENABLE_DOC=NO
: do not generate the reference documentation of liblinphoneENABLE_GTK_UI=NO
: do not build the GTK user interfaceENABLE_UNIT_TESTS=NO
: do not build testing binariesENABLE_VCARD=NO
: disable VCard supportENABLE_SQLITE_STORAGE=NO
: disable SQlite user data storage (message, history, contacts list)ENABLE_TOOLS=NO
: do not build tool binariesENABLE_NLS=NO
: disable internationalizationENABLE_ASSISTANT=NO
: disable account creation wizard
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.
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.
- [1] linphone-desktop: git:https://git.linphone.org/linphone-desktop.git
- [2] bctoolbox: git:https://git.linphone.org/bctoolbox.git or https://www.linphone.org/releases/sources/bctoolbox
- [3] belle-sip: git:https://git.linphone.org/belle-sip.git or https://www.linphone.org/releases/sources/belle-sip
- [4] mediastreamer2: git:https://git.linphone.org/mediastreamer2.git or https://www.linphone.org/releases/sources/mediastreamer
- [5] belcard: git:https://git.linphone.org/belcard.git or https://www.linphone.org/releases/sources/belcard