mirror of
https://git.jami.net/savoirfairelinux/jami-daemon.git
synced 2025-08-12 22:09:25 +08:00
175 lines
5.1 KiB
Plaintext
175 lines
5.1 KiB
Plaintext
![]() |
This is SFLPhoned-0.6 release.
|
||
|
|
||
|
You need
|
||
|
- commoncpp2 >= 1.3.20
|
||
|
- libxml2, libxml2-devel and pkgconfig
|
||
|
- ccrtp >= 1.3.4
|
||
|
- 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 [option]
|
||
|
make
|
||
|
make install
|
||
|
|
||
|
2/ For ccrtp-1.3.5
|
||
|
./configure [option]
|
||
|
make
|
||
|
make install
|
||
|
|
||
|
3/ For libosip2-2.2.1
|
||
|
./configure [option]
|
||
|
make
|
||
|
make install
|
||
|
|
||
|
How to compile SFLphoned ?
|
||
|
-------------------------
|
||
|
|
||
|
./configure [option]
|
||
|
make
|
||
|
make install (as root)
|
||
|
( 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
|
||
|
|
||
|
1. Install a GUI like sflphone-qt
|
||
|
|
||
|
2. Lauch sflphone interface, a setup window appears.
|
||
|
|
||
|
3. If you do have a SIP account, fill the SIP stuff where related. You can use
|
||
|
STUN too.
|
||
|
|
||
|
4. Save your settings, restart it. You're done.
|
||
|
|
||
|
A user's guide will be available on:
|
||
|
http://www.sflphone.org/doc/
|
||
|
|
||
|
|
||
|
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
|
||
|
some compilers). We are using gcc 4.0.1 on
|
||
|
Fedora Core 4 Linux.
|
||
|
|
||
|
- If error occured while loading shared libraries,
|
||
|
you have to export LD_LIBRARY_PATH with your lib directory.
|
||
|
( 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" )
|
||
|
|
||
|
Why does it not work ?
|
||
|
- Portaudio don't detect your sound card because :
|
||
|
* artsd is running
|
||
|
* jackd is running
|
||
|
On 2005/11/22, jack wasn't working with these settings: jackd -d alsa -r 8000
|
||
|
* you use alsa with sflphone and another application, but dmixer isn't configurated
|
||
|
correctly inside ~/.asoundrc or /etc/alsa/alsa.conf
|
||
|
- sflphone refuse to start because it's running
|
||
|
You could have something like: "Exception: could not bind socket"
|
||
|
Try to close sflphone before
|
||
|
- echo "stop sflphone" | nc localhost 3999
|
||
|
or
|
||
|
- killall sflphone
|
||
|
|
||
|
|
||
|
Short description of content of source tree:
|
||
|
-------------------------------------------
|
||
|
|
||
|
- ringtones/ 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
|
||
|
|
||
|
|
||
|
How is structured SFLphone (>=0.5)
|
||
|
----------------------------------
|
||
|
|
||
|
+------------+
|
||
|
|TCPSessionIO|
|
||
|
+------------+
|
||
|
|
|
||
|
+------------+
|
||
|
| SessionIO |
|
||
|
+------------+
|
||
|
|
|
||
|
+------------+
|
||
|
| GUI Server |
|
||
|
+------------+
|
||
|
|
|
||
|
+---------------------------+
|
||
|
| GUI Framework |
|
||
|
+---------------------------+
|
||
|
|
|
||
|
+---------------------------+
|
||
|
| ManagerImpl |
|
||
|
+---------------------------+
|
||
|
|
|
||
|
+---------------------------+
|
||
|
| VoIPLink |
|
||
|
+---------------------------+
|
||
|
| |
|
||
|
+-----------+ +-------+
|
||
|
| 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)
|
||
|
Laurielle Lea (laurielle.lea@savoirfairelinux.com)
|
||
|
Jerome Oufella (jerome.oufella@savoirfairelinux.com)
|
||
|
Yan Morin (yan.morin@savoirfairelinux.com)
|