* Build instructions: You need at least glib>=2.0 to build something. You need to configure linphone usually as this: ./configure --prefix=/usr If you does not have gnome, you can ask to compile only the console version like this: ./configure --prefix=/usr --enable-gnome_ui=no Then compile with make And install the software with: make install Then run linphone, from the gnome menu, or by invoking the command "linphone". If you want to use the console version, invoke "linphonec". * For user documentation about linphone, run it and go to the help menu to read linphone's user manual... or go to linphone's web site: http://www.linphone.org * For DEVELOPER documentation, read these few lines: 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. - osipua/ is user-agent library based on the osip SIP stack (http://osip.atosc.org). - ffmpeg/ is the ffmpeg library (http://ffmpeg.sourceforge.net). It contains mostly video codecs wrapped by the mediastreamer library. - gsmlib/ and lpc10-1.5/ are libraries that implement the GSM and LPC-10 vocoders (or codec). These are compression algorithm designed for voice. They can compress voice very efficiently. These libraries are not the complete ones I've pick up the core code only. See AUTHORS files in these directory for more information. They are used by the mediastreamer. - speex/ is the speex codec package found at http://speex.sourceforge.net. This is the best voice codec in linphone (bitrate/quality). It is wrapped by the mediastreamer library. - mediastreamer/ is one of the biggest 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. - media_api/ is going to be an easy to use library to handle audio and video session. It uses the mediastreamer at the backend to do the processing. It is going to be the only interface between the core application and the mediastreamer. At the moment this library is still in early stages of development and is unused by the core application. - gnome/ is the directory that contains the core files (gui) of linphone. It uses all libraries descibed above. * interface.c is the file generated by glade to construct the graphical interface. * callbacks.c contains the Gtk+ callbacks and callbacks of the sip library (we are called in these functions when we are invited, for example) * support.c is auto-generated by Glade. * LinphoneMain.c/LinphoneMain.h contains class&functions to read/save configuration in a file, detect local network interface. * main.c contains the main() function of linphone, and the gtk_main(). - console/ * osphone.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. If you want to understand how linphone runs, this is a good start example. - share/ contains sound files: ring.raw (the ring of linphone), hello.raw (the annoncement played by sipomatic) and html files of the user manual. - developer-docs/ contains html documentation of the mediastreamer and osipua libraries. Contact me (simon.morlat at linphone.org) if you want more information, or if you want to help the linphone project. Simon MORLAT