Skip to content

Mirror of Gerrit Jami Core Library and Daemon

License

Notifications You must be signed in to change notification settings

savoirfairelinux/jami-daemon

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

This is SFLPhoned-0.6 release.

You need ccrtp-1.3.5 which needs commoncpp2>=1.3.20
Note that commoncpp2 needs libxml2, libxml2-devel and pkgconfig to compile.
libeXosip2-1.9.1-pre17 needs libosip2-2.2.1
You also need PortAudio_v19
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

4/ 	For libeXosip2-1.9.1-pre17
	./configure --disable-josua [option]
	make
	make install

5/  For PortAudio_v19
	./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. Lauch sflphone interface, a setup window appears. 

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
	  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" )


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


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)