Commit 8a3b73d2 authored by Alexandre Savard's avatar Alexandre Savard

Merge branch 'master' into recording

Conflicts:

	sflphone-gtk/src/sflnotify.c
	src/audio/audiortp.cpp
	src/sipvoiplink.cpp
parents 7dc9e7e2 af6915a2
......@@ -6,7 +6,6 @@
*.Po
*.Plo
*.loT
Makefile
*.m4
Makefile.in
*.spec
......@@ -35,40 +34,56 @@ doc/*.html
/libtool
/install-sh
/stamp-h1
# Ignore QT automatically-rendered stuff
/src/gui/qt/*moc*.*
/src/gui/qt/ConfigurationPanel.h
/src/gui/qt/ConfigurationPanelui.cpp
/src/gui/qt/qmake_image_collection.cpp
/Makefile
# Ignore built stuff
/src/gui/cli/sflphone-cli
/src/gui/qt/sflphone-qt
/src/sflphoned
/src/sflphone
/src/.libs
/src/dbus/org.sflphone.SFLphone.service
# PJSIP files
*.depend
*i686-pc-linux-gnu
/libs/pjproject-1.0/build.mak
/libs/pjproject-1.0/build/os-auto.mak
/libs/pjproject-1.0/config.log
/libs/pjproject-1.0/config.status
/libs/pjproject-1.0/pjlib-util/build/os-auto.mak
/libs/pjproject-1.0/pjlib/build/os-auto.mak
/libs/pjproject-1.0/pjlib/include/pj/compat/m_auto.h
/libs/pjproject-1.0/pjlib/include/pj/compat/os_auto.h
/libs/pjproject-1.0/pjlib/include/pj/config_site.h
/libs/pjproject-1.0/pjmedia/build/os-auto.mak
/libs/pjproject-1.0/pjmedia/include/pjmedia-codec/config_auto.h
/libs/pjproject-1.0/pjmedia/include/pjmedia/config_auto.h
/libs/pjproject-1.0/pjsip/build/os-auto.mak
/libs/pjproject-1.0/pjsip/include/pjsip/sip_autoconf.h
/libs/pjproject-1.0/third_party/build/os-auto.mak
/libs/pjproject-1.0/third_party/build/portaudio/os-auto.mak
/libs/pjproject-1.0.1/pjlib-util/build/os-auto.mak
/libs/pjproject-1.0.1/pjlib/build/os-auto.mak
/libs/pjproject-1.0.1/pjlib/include/pj/compat/m_auto.h
/libs/pjproject-1.0.1/pjlib/include/pj/compat/os_auto.h
/libs/pjproject-1.0.1/pjlib/include/pj/config_site.h
/libs/pjproject-1.0.1/pjmedia/build/os-auto.mak
/libs/pjproject-1.0.1/pjmedia/include/pjmedia-codec/config_auto.h
/libs/pjproject-1.0.1/pjmedia/include/pjmedia/config_auto.h
/libs/pjproject-1.0.1/pjsip/build/os-auto.mak
/libs/pjproject-1.0.1/pjsip/include/pjsip/sip_autoconf.h
/libs/pjproject-1.0.1/third_party/build/os-auto.mak
/libs/pjproject-1.0.1/third_party/build/portaudio/os-auto.mak
# Makefile
src/Makefile
src/dbus/Makefile
src/config/Makefile
src/plug-in/Makefile
src/plug-in/test/Makefile
src/plug-in/audiorecorder/Makefile
src/audio/Makefile
src/audio/codecs/Makefile
src/audio/codecs/ilbc/Makefile
doc/Makefile
man/Makefile
po/Makefile
test/Makefile
ringtones/Makefile
doc/doxygen/Makefile
libs/Makefile
libs/utilspp/Makefile
libs/stund/Makefile
libs/utilspp/functor/Makefile
libs/utilspp/singleton/Makefile
sflphone-gtk/Makefile
sflphone-gtk/src/Makefile
sflphone-gtk/pixmaps/Makefile
# Ignore sflphone-gtk stuff
......@@ -82,12 +97,6 @@ doc/*.html
/sflphone-gtk/autom4te*
/sflphone-gtk/sflphone.desktop
# Ignore temp libs stuff
tools/portaudio
# Ignore sub-modules stuff
## libiax2
/libs/libiax2/doc/html
......@@ -99,24 +108,7 @@ tools/portaudio
/libs/libiax2/iax-config
/libs/libiax2/configure
## taxidermy
/libs/taxidermy/*moc*.*
# Ignore temp files
*~
# Ignore website stuff
/www/cache
/www/config.inc.php
/www/lighttpd.*
/doc/images/graphics/*
# Ignore platform packaging temp files
/platform/debian/changelog
# Les foutus .svn
*.svn*
This is SFLphone, release 0.9.x
This is SFLphone, release 0.9.3
Copyright (c) Savoir-faire Linux, Inc 2004-2008
Copyright (c) Savoir-faire Linux, Inc 2004-2009
<sflphoneteam@savoirfairelinux.com>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
the Free Software Foundation; either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
......@@ -18,7 +18,6 @@ along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
Introduction
------------
......@@ -38,152 +37,7 @@ SFLPhone is actually used by the support team of Savoir-Faire Linux Inc.
More information is available on the project homepage:
http://www.sflphone.org/
Getting the dependencies
------------------------
Required libraries and tools:
- ccRTP >= 1.3.4 (tested with ccrtp 1.4.1)
and Common C++ 2 >= 1.3.20 (tested with commoncpp2 1.4.1)
http://sourceforge.net/projects/gnutelephony/
- libeXosip2 >= 2.2.2 (tested with eXosip2 2.2.3)
and libosip2 >= 2.2.1 (tested with libosip2-2.2.2)
http://savannah.gnu.org/projects/exosip/
http://savannah.gnu.org/projects/osip/
- libxml2, libxml2-devel, pkgconfig
usually available in distribution repositories
- autoconf
Optional libraries:
- zeroconf: (tested with mDNSResponder87)
http://developer.apple.com/darwin/projects/bonjour/
- speex: codec for sound
Some of the required libraries may be downloaded from
http://www.sflphone.org/#downloads
or
http://www.sflphone.org/dev/
See tools/config.sh for details
So in debian, you need:
apt-get install autoconf automake1.9 libtool libosip2-dev libexosip2-dev libccrtp-dev libcommoncpp2-dev pkg-config libsamplerate-dev libasound2-dev
Building the dependencies
-------------------------
If you do not use either the development packages of your distribution or the source packages made by the upstream authors of dependencies, you may want to try our custom dependencies building script in tools/ directory:
Note that commoncpp, ccrtp, libosip and libexosip, samplerate are in debian and fedora.
You can also compile each dependency, one by one:
1/ For commoncpp2
./configure [option]
make
make install
2/ For ccrtp
./configure [option]
make
make install
3/ For libosip2
./configure [option]
make
make install
Note: if you install any package in /usr/local, don't forget to set pkg-config path with:
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig/
Building SFLPhone
-----------------
./configure
make
make install (as root)
Using SFLPhone
--------------
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 the GTK GUI
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/
What if it does not build?
--------------------------
- Try using the same versions of the libraries as we do.
See http://www.sflphone.org in section Downloads.
- Try using the same compilers as ours: gcc 4.1.0 on Fedora Linux Core 5
is known to work.
- If you have dependencies installed in unusual directories, try setting
the environment variable CXXFLAGS before building, for example:
export CXXFLAGS="-I/opt/include"
How to enable IAX support?
--------------------------
Go inside libs directory and execute ./libiax2.sh script.
Then, run ./configure with --enable-iax2 option.
Debugging SFLPhone
------------------
You can use the --with-debug option with configure
./configure --with-debug
make
Run-time troubleshooting
------------------------
- If errors occured when trying to load shared libraries, check that the
value of the environment variable LD_LIBRARY_PATH include the
directories containing the required libraries, eg:
export LD_LIBRARY_PATH=/path/to/my/lib:${LD_LIBRARY_PATH}
- 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
-------------------------------------------
......@@ -197,58 +51,7 @@ Short description of content of source tree
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. (remove in sflphone 0.7)
- 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 |
+---------------------------+
|
+---------------------------+
| Account |
+---------------------------+
|
+---------------------------+
| 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.
- src/dbus, the dbus xml interfaces, and c++ bindings
About Savoir-Faire Linux
......@@ -258,15 +61,35 @@ Savoir-Faire Linux is a consulting company based in Montreal, Quebec.
For more information, please check out our website:
http://www.savoirfairelinux.com/
How to compile
--------------
# First compile the SIP library
cd libs/pjproject-1.0.1
./configure
make dep && make
sudo make install
# Then the daemon
cd ../..
./autogen.sh --prefix=/usr --with-debug
make
sudo make install
# And the GTK client
cd sflphone-gtk
./autogen.sh --prefix=/usr --with-debug
make
sudo make install
Done !
Contributing to SFLPhone
------------------------
Of course we love patches. And contributions. And spring rolls.
The project infrastructure (CVS, bugtracker, MLs) is maintained on:
http://forge.novell.com/modules/xfmod/project/?sflphone
Development website: http://dev.savoirfairelinux.net/sflphone
Do not hesitate to join us and post comments, suggestions, questions
and general feedback on the forge.novell mailing-list.
......
......@@ -223,19 +223,28 @@ AC_ARG_WITH([speex],
[],
[with_speex=yes])
LIBSPEEX=
AS_IF([test "x$with_speex" != xno],
[AC_CHECK_HEADER([speex/speex.h], , AC_MSG_FAILURE([Unable to find the libspeex headers (you may need to install the dev package). You may use --without-speex to compile without speex codec support.]))]
[AC_CHECK_HEADER([speex/speex_preprocess.h], , AC_MSG_FAILURE([Unable to find the libspeexdsp headers (you may need to install the libspeexdsp-dev package). You may use --without-speex to compile without speex codec support.]))]
[AC_CHECK_LIB([speex], [speex_decode_int],
[],
[AC_MSG_FAILURE(
[libspeex link test failed. You may use --without-speex to compile without speex codec support.])]
)
]
)
]
dnl More advanced check in case the libspeexdsp is not installed
AC_SEARCH_LIBS(speex_preprocess_run, speexdsp, HAVE_SPEEXDSP="yes", HAVE_SPEEXDSP="no", [])
if test $HAVE_SPEEXDSP="no"; then
echo $HAVE_SPEEXDSP;
AC_MSG_WARN([The silence detection in speex could not have been enabled])
fi
)
AC_DEFINE([HAVE_SPEEX], test "x$with_speex" = "xyes", [Define if you have libspeex])
AM_CONDITIONAL(BUILD_SPEEX, test "x$with_speex" = "xyes" )
AM_CONDITIONAL(ENABLE_SPEEXDSP, test $HAVE_SPEEXDSP = yes)
dnl Check for ilbc support
AC_ARG_WITH([ilbc],
......
sflphone (0.9.3-0ubuntu1) intrepid; urgency=low
sflphone (0.9.3-0ubuntu2) %system%; urgency=low
[ Emmanuel Milou ]
* Add compilation note in README
* Use default ALSA plugin for capture
* Fix the ALSA capture problem one more time
* Clean up debug messages in dbus.c
* Add libspeexdsp dependency
* Remove implicit declaration compilation warnings
* Fix links in the website, add release note
* Change capture for the website front page
* Add alsa devel dependency in build-depends control file field
* Clean up, indentation, try to handle latency problems in iax/pulseaudio
* Remove pjsip generated files from the repo
* Use the previous declared curAlias function in accountwindow
* Fix bug in history call duration when the call fails
* Remove runtime warning in the GTK+ client
* Add librsvg2-common dependency to load SVG under KDE
* Refresh .gitignore
* Update locales files + french translation
* Add configuration panel for future noise reduction
* Add configuration panel for audio record module
* Daemon less verbose; accounts don't try to access STUn options anymore
* Fix typo in configwindow
* Add content in the official website
* use a GTK_STOCK icon for the record button
* Complete description text in the assistant manager
* Add libtool flags in client configure.ac
* Remove unuseful dependency (snd)
* Fix SIP transfer problems
* Remove previous version of PJSIP from the repo
* Upgrade PJSIP to version 1.0.1
* Add the new website source in the repository
[ Loïc Faure-Lacroix ]
* Ajout du logo gpl3
* Ajout des images
* Ajout de la section screenshot pour le site
* Ajout du favicon dans le header
* Modification des cartes
[ Alexandre Savard ]
* Clean up <speex/libspeexdsp>
* Small cleanup
* Save Wave fixed
* Fix new call button when recording
* libspeexdsp added
* Recording: default home folder at startup
* Minor changes to config window
* IAX recording fixed
* Set / get recording path, still need some GTK for client
* AudioRecord file name format
* Now recording in HOME folder
[ Cyrille Béraud ]
* Fix bug in reqaccount.c
[ Maxime Chambreuil ]
* Update spanish translation
[Yun Liu ]
* Update chinese translation
[ Hussein Abdallah ]
* Update russian translation
-- Emmanuel Milou <emmanuel.milou@savoirfairelinux.com> Sat, 14 Feb 2009 13:29:15 -0500
sflphone (0.9.3-0ubuntu1) %system%; urgency=low
* Remove debug
* Join thread before leaving
......@@ -11,7 +79,7 @@ sflphone (0.9.3-0ubuntu1) intrepid; urgency=low
-- Emmanuel Milou <emmanuel.milou@savoirfairelinux.com> Fri, 06 Feb 2009 19:17:32 -0500
sflphone (0.9.2-2ubuntu9) intrepid; urgency=low
sflphone (0.9.2-2ubuntu9) %system%; urgency=low
[ Alexandre Savard ]
* Speex audio codec preprocessing initialization
......@@ -39,7 +107,7 @@ sflphone (0.9.2-2ubuntu9) intrepid; urgency=low
-- Emmanuel Milou <emmanuel.milou@savoirfairelinux.com> Thu, 05 Feb 2009 18:27:53 -0500
sflphone (0.9.2-2ubuntu8) intrepid; urgency=low
sflphone (0.9.2-2ubuntu8) %system%; urgency=low
[ Emmanuel Milou ]
* Update changelogs
......@@ -71,9 +139,7 @@ sflphone (0.9.2-2ubuntu8) intrepid; urgency=low
* Complete singleton pattern for the plugin manager
* Add -Wno-return-type compilation flag to remove warnings; Update
version number in configure.ac
* Add the dynamic loading for the plugin framework; integate unit
* Fix jaunty control file dependency problems
tests
* Add the dynamic loading for the plugin framework; integate unittest
[ Yun Liu ]
* Update rpm spec file
......@@ -85,7 +151,7 @@ sflphone (0.9.2-2ubuntu8) intrepid; urgency=low
-- Emmanuel Milou <emmanuel.milou@savoirfairelinux.com> Wed, 04 Feb 2009 14:00:30 -0500
sflphone (0.9.2-2ubuntu7) intrepid; urgency=low
sflphone (0.9.2-2ubuntu7) %system%; urgency=low
[ Emmanuel Milou ]
* Update changelog to 0.9.2-6
......@@ -107,7 +173,7 @@ sflphone (0.9.2-2ubuntu7) intrepid; urgency=low
-- Emmanuel Milou <emmanuel.milou@savoirfairelinux.com> Fri, 23 Jan 2009 17:48:13 -0500
sflphone (0.9.2-2ubuntu6) intrepid; urgency=low
sflphone (0.9.2-2ubuntu6) %system%; urgency=low
[ Emmanuel Milou ]
* Migrate STUN configuration to the main config window
......@@ -141,7 +207,7 @@ sflphone (0.9.2-2ubuntu6) intrepid; urgency=low
-- Emmanuel Milou <manu@sulfur.inside.savoirfairelinux.net> Fri, 16 Jan 2009 18:19:05 -0500
sflphone (0.9.2-2ubuntu5) intrepid; urgency=low
sflphone (0.9.2-2ubuntu5) %system%; urgency=low
* Fix memory leak in the pulseaudio callback
* Update debian package generation script
......@@ -157,7 +223,7 @@ sflphone (0.9.2-2ubuntu5) intrepid; urgency=low
-- Emmanuel Milou <emmanuel.milou@savoirfairelinux.com> Wed, 14 Jan 2009 21:17:20 -0500
sflphone (0.9.2-2ubuntu4) intrepid; urgency=low
sflphone (0.9.2-2ubuntu4) %system%; urgency=low
[ Emmanuel Milou ]
* add german translation
......@@ -167,7 +233,7 @@ sflphone (0.9.2-2ubuntu4) intrepid; urgency=low
-- Yun Liu <yun.liu@savoirfairelinux.com> Thu, 08 Jan 2009 13:08:51 -0500
sflphone (0.9.2-2ubuntu3) intrepid; urgency=low
sflphone (0.9.2-2ubuntu3) %system%; urgency=low
[ Emmanuel Milou ]
* The main thread synchronizes the ringtone thread
......@@ -179,13 +245,13 @@ sflphone (0.9.2-2ubuntu3) intrepid; urgency=low
-- Yun Liu <yun.liu@savoirfairelinux.com> Tue, 06 Jan 2009 16:18:38 -0500
sflphone (0.9.2-2ubuntu2) intrepid; urgency=low
sflphone (0.9.2-2ubuntu2) %system%; urgency=low
* Fix bug ticket #129
-- Yun Liu <yun.liu@savoirfairelinux.com> Wed, 5 Jan 2009 15:54:53 -0500
sflphone (0.9.2-2ubuntu1) intrepid; urgency=low
sflphone (0.9.2-2ubuntu1) %system%; urgency=low
* Migrate from eXosip library to pjsip
* Add multiple SIP accounts support
......
sflphone (0.9.3-0ubuntu1) hardy; urgency=low
* Remove debug
* Join thread before leaving
* Fix implicit declaration in reqaccount
* Add REST code to build the request to server
* Fix GValue initialization warnings
* Update version number, fix implicit declaration, fix GTK markup
warnings
* Apply patch to create custom SIP account from our own server
-- Emmanuel Milou <emmanuel.milou@savoirfairelinux.com> Fri, 06 Feb 2009 19:17:32 -0500
sflphone (0.9.2-2ubuntu9) hardy; urgency=low
[ Alexandre Savard ]
* Speex audio codec preprocessing initialization
* peer hung up segmentation fault solved
* Stop recording when transfering
* Terminate only one call
* Add isRecording() function
* Fix call_icon GTK client
* Fix SIPCallClose() function, recorded file now close properly
* Function terminateSIPCall added in sipvoiplink and managerimpl
* Fix thread destructor
* setRecordingOption function implement in audiorecord
* Record now implemented in Call class
* Record interface complete (on hold erase previous recording)
* Added recButton in client
* Added: record button related icons
* Record button added