Newer
Older
Note that commoncpp2 needs libxml2, libxml2-devel and pkgconfig to compile.
libeXosip2-1.9.1-pre17 needs libosip2-2.2.1
See http://www.sflphone.org/#downloads to download required libraries.
Dependencies build instructions:
--------------------------------
You can use the builds script in tools directory.
1. Change the default configuration in config.sh (~/sflphone) is the prefix
2. ./download.sh
3. ./install.sh
You can also compile each dependencies, one by one:
1/ For commoncpp2-1.3.21
./configure --disable-josua [option]
make
make install
5/ For PortAudio_v19
./configure [option]
make
make install
( Be sure you have the correct permissions).
How to use it ?
---------------
If you have the sflphone 0.3 or 0.4 release, copy the file sflphonerc to sflphonedrc
cp ~/.sflphone/sflphonerc ~/.sflphone/sflphonedrc
If you have an older version, remove your sflphonerc file located in $HOME/.sflphone
2. If you do have a SIP account, fill the SIP stuff where related. You can use
STUN too.
3. Save your settings, restart it. You're done.
A user's guide will be available on:
http://www.sflphone.org/doc/SFLphoneDocEnglish.pdf
http://www.sflphone.org/doc/SFLphoneDocFrancais.pdf
Why does it not compile ?
-------------------------
- You don't have the same library versions as we do.
See http://www.sflphone.org in section Downloads.
- You don't have the same compiler (some libraries dislike
( example: export LD_LIBRARY_PATH=/opt/lib:${LD_LIBRARY_PATH} )
- If you don't install dependencies in classic install directories,
you have to export CXXFLAGS.
( example: export CXXFLAGS="-I/opt/include" )
Short description of content of source tree:
-------------------------------------------
- rings/ contains the different ringtones.
- stund/ is an implementation of the protocol STUN used when there is a NAT.
- utilspp/ allows to implement a singleton.
- src/ is the core of SFLphone. It contains the main.cpp, managerimpl.cpp files,
audio and gui directories, and files about signalisation SIP.
Later, it should be better, when IAX will be implemented, that a directory
groups these protocols.
The ManagerImpl class is the intermediaire between all the layer in the tree.
- src/audio/ is the audio layer. It contains all about tones, dtmf, audiodriver,
rtp layer, audio codec ulaw, alaw and gsm.
- src/audio/gsm/ contains the implementation of gsm audiocodec library.
- src/audio/pacpp/ implements PortAudioCpp, a native C++ binding of
PortAudio V19.
- src/gui/ is the old directory that contains all about different user interface.
- src/gui/server is the directory that talk (tcp socket on port 3999)
to sflphone client. The slfphone client can be a console program or a graphical interface
+------------+
|TCPSessionIO|
+------------+
|
+------------+
| SessionIO |
+------------+
|
+------------+
| GUI Server |
+------------+
|
| |
+-----------+ +-------+
| SIP | | IAX |
| RTP | +-------+
| STUN |
+-----------+
It's in ManagerImpl where we declared Call vector and VoIPLink vector.
VoIPLink vector contains all different VoIP link like SIP, IAX, ...
Call vector contains all the calls according to the kind of VoIP link.
Misc.
-----
Of course we love patches. And contribution. See http://www.sflphone.org/ .
The project infrastructure (CVS, bugtraqer, MLs) is maintained on :
http://forge.novell.com/modules/xfmod/project/?sflphone
Don't hesitate to post your comments/suggestions/questions on the
forge.novell mailing-list.
Jean-Philippe Barette-LaPierre
(jean-philippe.barrette-lapierre@savoirfairelinux.com)