Commit fb081475 authored by Pierre-Luc Beaudoin's avatar Pierre-Luc Beaudoin

Merge commit 'origin/master' into dbus

Conflicts:

	.gitignore
	src/Makefile.am
	src/managerimpl.cpp
parents 96868436 4be69b42
...@@ -10,19 +10,66 @@ Makefile ...@@ -10,19 +10,66 @@ Makefile
*.m4 *.m4
Makefile.in Makefile.in
*.spec *.spec
*moc*.*
/config.* /config.*
# Ignore rendered docs # Ignore rendered docs
doc/html doc/doxygen/html-everything
doc/doxygen/html-sflphoned
doc/doxygen/html-gui-qt
doc/*.html
# Ignore buildsys stuff # Ignore buildsys stuff
autom4te.cache /autom4te.cache
/configure
/depcomp
/missing
/ltmain.sh
/libtool
/install-sh
/stamp-h1
# Ignore temp portaudio stuff # 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
# Ignore built stuff
/src/gui/cli/sflphone-cli
/src/gui/qt/sflphone-qt
/src/sflphoned
/src/sflphone
/src/.libs
# Ignore temp libs stuff
tools/portaudio tools/portaudio
# Ignore sub-modules stuff
## libiax2
/libs/libiax2/doc/html
/libs/libiax2/config.*
/libs/libiax2/autom4te.cache
/libs/libiax2/src/.libs
/libs/libiax2/libtool
/libs/libiax2/ltmain.sh
/libs/libiax2/iax-config
/libs/libiax2/configure
## taxidermy
/libs/taxidermy/*moc*.*
# Ignore temp files # Ignore temp files
*~ *~
# Ignore website stuff
/www/cache
/www/config.inc.php
/www/lighttpd.*
# Ignore platform packaging temp files
/platform/debian/changelog
// AsciiDoc file
About
=====
SFLphone is a mega phone. We like it.
// AsciiDoc file
Build notes
-----------
sflphoned
~~~~~~~~~
Instructions to build `sflphoned`:
libiax2
^^^^^^^
Go to `libs/libiax2` and run:
-------------------------
./configure --prefix=/usr
make
sudo make install
-------------------------
the daemon
^^^^^^^^^^
Then, go to the root of the repository, and run:
---------------------------------------------------
./configure --prefix=/usr (or whatever your prefix)
make
sudo make install
---------------------------------------------------
sflphone-qt
~~~~~~~~~~~
`sflphone-qt` gets built with sflphoned, for now.
sflphone-gtk
~~~~~~~~~~~~
Merging of `sflphone-gtk` to come.
// AsciiDoc file
Debugging techniques for SFLphone
---------------------------------
Listening protocol using `tcpdump`:
----------------------
----------------------
// AsciiDoc file
Dependencies to compile SFLphone daemon
---------------------------------------
`--------------------`----------`-----------------------------------------------------
Program Version Links
--------------------------------------------------------------------------------------
libiax2 0.2.3 http://svncommunity.digium.com/view/libiax2/trunk/[svn repos]
Common C++2 1.3.21 http://sourceforge.net/projects/cplusplus/[website]
ccRTP 1.3.5 http://sourceforge.net/projects/cplusplus/[website]
libeXosip2 ** 2.2.2 http://savannah.nongnu.org/projects/exosip/[website]
libosip2 2.2.2 http://www.gnu.org/software/osip/[website]
portaudio v19 http://www.portaudio.com/[website]
portaudio C++ binds. http://www.portaudio.com/archives/pa_snapshot_v19.tar.gz[archive]
libsamplerate 0.1.2 http://www.mega-nerd.com/SRC/[website]
--------------------------------------------------------------------------------------
// [done], [not done], [not tested], etc.. are defined in asciidoc.conf
Features
========
SFLphone feature map
--------------------
* SIP features
- transfer: [done] and tested
- reinvite: [done] and tested
- play DTMF sipinfo: [done] and tested
- receive text message: [done] and tested with sipsak
- SFLphone to snom (asterisk): [done] and tested
- SFLphone to SFLphone (IP and no proxy): [done] and tested
- conference: [not done] yet
- send text message: [not done] yet
* IAX support: [not done] yet
* Audio devices:
- OSS: [done] and tested (portaudio)
- ALSA: [done] and tested (portaudio)
- ALSA with dmix: [not tested]
- JACK: [partial], portaudio has problems to open it
- ASIO on windows: in portaudio, [not tested]
- on MacOSX: we can't use portaudio in 8kHz. libsamplerate was added to convert from 44,1kHz to 8kHz.
* Codecs:
- G711a/PCM: [done] and tested
- G711u: [done] and tested
- GSM: [done] and tested
- Speex codec 8khz: [not tested] but integrated
- ILBc: [notdone]
* Video support:
- video integration in SIP: [not done]
- video integration in IAX: [not done]
- integration in QT: not done
* Zeroconf:
- sflphone-d: partially
- sflphone-qt: not done
* SFLphone Client:
- QT3: done and tested on linux
- QT4: not tested
- GTK: not done
- Command Line Interface (in C): partially done
- Command Line Interface (in python): not done
* MacOSX port:
- compilation: done
- 44,1khz to 8khz conversion (with libsamplerate): not tested
* Windows port:
- compilation of sflphoned: not done
- compilation of sflphone-qt (qt3): not done
- compilation of sflphone-qt (qt4): not done
* Desktop Integration:
- firefox sip: handling: open sflphone, not integrated in install process
- konqueror sip: handling: open sflphone, not integrated in install process
- addressbook: open sflphone and call, not integrated in install process
- inter-process communication: [not done]
- tray icon: [not done]
- menu icon (.desktop): only in fedora rpm
- LDAP enterprise directory support: [not done]
* Packaging:
- Remove libeXosip2 from package: [not done]
- Remove portaudio final from package: [not done]
- Fedora Core 4 packages: [done]
- Suse 9.3 packages: [done]
- .tar.gz publication: [done]
- Debian packages: [not done]
- Suse 10 packages: [not done]
SFLphone-qt (linux)
-------------------
* audiodevice input/output selector: [not done]
* drag'n'drop over lcd screen: [done]
* paste with ctrl+v: [done]
* keyboard mapping: [partial], not completed
* keyboard shortcut: [partial], not completed
...@@ -10,6 +10,8 @@ To access SFLphone's git repository (read-only): ...@@ -10,6 +10,8 @@ To access SFLphone's git repository (read-only):
--------------------------------------------- ---------------------------------------------
git clone git://sflphone.org/git/sflphone.git git clone git://sflphone.org/git/sflphone.git
cd sflphone
autoreconf --install
--------------------------------------------- ---------------------------------------------
...@@ -31,5 +33,7 @@ authentication. Then: ...@@ -31,5 +33,7 @@ authentication. Then:
-------------------------------------------------------------- --------------------------------------------------------------
git clone git+ssh://sflphone_org@sflphone.org/git/sflphone.git git clone git+ssh://sflphone_org@sflphone.org/git/sflphone.git
cd sflphone
autoreconf --install
-------------------------------------------------------------- --------------------------------------------------------------
// AsciiDoc file
News
====
* News 1
* News 2
This directory holds all the documentation files, that are interfaced on the
sflphone.org website, and in other documentation areas.
// AsciiDoc file
Screenshots
-----------
.Screenshot de 2007
sflimage::images/SflphonePOuetpoUEt.png[SFLphone qt3]
.Screenshot de SFLphone 0.7
sflimage::images/sflphone0.7.png[SFLphone 0.7]
#
# Used in Features.txt
#
[replacements]
\[done\]\s*(.*)$=<span style="color: green">done \1<span>
\[not\s?done\]\s*(.*)$=<span style="color: red">not done \1<span>
\[partial\]\s*(.*)$=<span style="color: orange">partially done \1<span>
\[not\s?tested\]\s*(.*)$=<span style="color: orange">not tested \1<span>
#
# Used everywhere to link pages together. Refers to another
#
ifdef::backend-xhtml11[]
[sflink-inlinemacro]
<a href="index.php?f={target}.txt">{0?{0}}{0!{target}}</a>
endif::backend-xhtml11[]
#
# Image links (with "image:")
#
[sflimage-blockmacro]
<div class="image">
<a id="{id}"></a>
<div class="content">
<a class="image" href="{link#}">
<img src="index.php?i={target}" alt="{1={target}}"{1? title="{1}"}{width? width="{width}"}{height? height="{height}"}/>
{link#}</a>
</div>
<div class="image-title">{title}</div>
</div>
\ No newline at end of file
...@@ -30,7 +30,7 @@ PROJECT_NUMBER = ...@@ -30,7 +30,7 @@ PROJECT_NUMBER =
# If a relative path is entered, it will be relative to the location # If a relative path is entered, it will be relative to the location
# where doxygen was started. If left blank the current directory will be used. # where doxygen was started. If left blank the current directory will be used.
OUTPUT_DIRECTORY = doc OUTPUT_DIRECTORY = doc/doxygen
# If the CREATE_SUBDIRS tag is set to YES, then doxygen will create # If the CREATE_SUBDIRS tag is set to YES, then doxygen will create
# 4096 sub-directories (in 2 levels) under the output directory of each output # 4096 sub-directories (in 2 levels) under the output directory of each output
...@@ -629,7 +629,7 @@ GENERATE_HTML = YES ...@@ -629,7 +629,7 @@ GENERATE_HTML = YES
# If a relative path is entered the value of OUTPUT_DIRECTORY will be # If a relative path is entered the value of OUTPUT_DIRECTORY will be
# put in front of it. If left blank `html' will be used as the default path. # put in front of it. If left blank `html' will be used as the default path.
HTML_OUTPUT = html HTML_OUTPUT = html-everything
# The HTML_FILE_EXTENSION tag can be used to specify the file extension for # The HTML_FILE_EXTENSION tag can be used to specify the file extension for
# each generated HTML page (for example: .htm,.php,.asp). If it is left blank # each generated HTML page (for example: .htm,.php,.asp). If it is left blank
......
...@@ -30,7 +30,7 @@ PROJECT_NUMBER = ...@@ -30,7 +30,7 @@ PROJECT_NUMBER =
# If a relative path is entered, it will be relative to the location # If a relative path is entered, it will be relative to the location
# where doxygen was started. If left blank the current directory will be used. # where doxygen was started. If left blank the current directory will be used.
OUTPUT_DIRECTORY = doc OUTPUT_DIRECTORY = doc/doxygen
# If the CREATE_SUBDIRS tag is set to YES, then doxygen will create # If the CREATE_SUBDIRS tag is set to YES, then doxygen will create
# 4096 sub-directories (in 2 levels) under the output directory of each output # 4096 sub-directories (in 2 levels) under the output directory of each output
...@@ -629,7 +629,7 @@ GENERATE_HTML = YES ...@@ -629,7 +629,7 @@ GENERATE_HTML = YES
# If a relative path is entered the value of OUTPUT_DIRECTORY will be # If a relative path is entered the value of OUTPUT_DIRECTORY will be
# put in front of it. If left blank `html' will be used as the default path. # put in front of it. If left blank `html' will be used as the default path.
HTML_OUTPUT = html HTML_OUTPUT = html-gui-qt
# The HTML_FILE_EXTENSION tag can be used to specify the file extension for # The HTML_FILE_EXTENSION tag can be used to specify the file extension for
# each generated HTML page (for example: .htm,.php,.asp). If it is left blank # each generated HTML page (for example: .htm,.php,.asp). If it is left blank
......
This diff is collapsed.
Taken and merged from
=====================
https://iaxclient.svn.sourceforge.net/svnroot/iaxclient/trunk/
`-> lib/libiax2
Official SVN
============
The official SVN (browse + repos) is:
http://svncommunity.digium.com/
but it seems unmaintained, and is behind the iaxclient's version.
Internet Draft for IAX2 protocol
================================
http://tools.ietf.org/id/draft-guy-iax-03.txt
Compilation and installation
============================
Run:
-------------------------
./gen.sh
./configure --prefix=/usr
make
-------------------------
\ No newline at end of file
# CVS Web: http://digium-cvs.netmonks.ca/viewcvs.cgi/libiax2/
date=20060404
lib=libiax2
if [ ! -d $lib ]; then
echo "Welcome to the installation of $lib"
echo -n "Do you want to extract the $date tar.gz or get from svn? [targz/svn]: "
read response
if [ $response == "svn" ]; then
echo "Downloading libiax2 from source... (may take a long time)"
svn checkout http://svn.digium.com/svn/libiax2/trunk libiax2
else
file="$lib.svn$date.tar.gz"
echo "Extracting libiax2 from $file..."
tar xzvf $file
fi
fi
cd libiax2
if [ ! -f configure ]; then
./gen.sh
fi
./configure && make
GNU GENERAL PUBLIC LICENSE
Version 2, June 1991
Copyright (C) 1989, 1991 Free Software Foundation, Inc.
675 Mass Ave, Cambridge, MA 02139, USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
Preamble
The licenses for most software are designed to take away your
freedom to share and change it. By contrast, the GNU General Public
License is intended to guarantee your freedom to share and change free
software--to make sure the software is free for all its users. This
General Public License applies to most of the Free Software
Foundation's software and to any other program whose authors commit to
using it. (Some other Free Software Foundation software is covered by
the GNU Library General Public License instead.) You can apply it to
your programs, too.
When we speak of free software, we are referring to freedom, not
price. Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
this service if you wish), that you receive source code or can get it
if you want it, that you can change the software or use pieces of it
in new free programs; and that you know you can do these things.
To protect your rights, we need to make restrictions that forbid
anyone to deny you these rights or to ask you to surrender the rights.
These restrictions translate to certain responsibilities for you if you
distribute copies of the software, or if you modify it.
For example, if you distribute copies of such a program, whether
gratis or for a fee, you must give the recipients all the rights that
you have. You must make sure that they, too, receive or can get the
source code. And you must show them these terms so they know their
rights.
We protect your rights with two steps: (1) copyright the software, and
(2) offer you this license which gives you legal permission to copy,
distribute and/or modify the software.
Also, for each author's protection and ours, we want to make certain
that everyone understands that there is no warranty for this free
software. If the software is modified by someone else and passed on, we
want its recipients to know that what they have is not the original, so
that any problems introduced by others will not reflect on the original
authors' reputations.
Finally, any free program is threatened constantly by software
patents. We wish to avoid the danger that redistributors of a free
program will individually obtain patent licenses, in effect making the
program proprietary. To prevent this, we have made it clear that any
patent must be licensed for everyone's free use or not licensed at all.
The precise terms and conditions for copying, distribution and
modification follow.
GNU GENERAL PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. This License applies to any program or other work which contains
a notice placed by the copyright holder saying it may be distributed
under the terms of this General Public License. The "Program", below,
refers to any such program or work, and a "work based on the Program"
means either the Program or any derivative work under copyright law:
that is to say, a work containing the Program or a portion of it,
either verbatim or with modifications and/or translated into another
language. (Hereinafter, translation is included without limitation in
the term "modification".) Each licensee is addressed as "you".
Activities other than copying, distribution and modification are not
covered by this License; they are outside its scope. The act of
running the Program is not restricted, and the output from the Program
is covered only if its contents constitute a work based on the
Program (independent of having been made by running the Program).
Whether that is true depends on what the Program does.
1. You may copy and distribute verbatim copies of the Program's
source code as you receive it, in any medium, provided that you
conspicuously and appropriately publish on each copy an appropriate
copyright notice and disclaimer of warranty; keep intact all the
notices that refer to this License and to the absence of any warranty;
and give any other recipients of the Program a copy of this License
along with the Program.
You may charge a fee for the physical act of transferring a copy, and
you may at your option offer warranty protection in exchange for a fee.
2. You may modify your copy or copies of the Program or any portion
of it, thus forming a work based on the Program, and copy and
distribute such modifications or work under the terms of Section 1
above, provided that you also meet all of these conditions:
a) You must cause the modified files to carry prominent notices
stating that you changed the files and the date of any change.
b) You must cause any work that you distribute or publish, that in
whole or in part contains or is derived from the Program or any
part thereof, to be licensed as a whole at no charge to all third
parties under the terms of this License.
c) If the modified program normally reads commands interactively
when run, you must cause it, when started running for such
interactive use in the most ordinary way, to print or display an
announcement including an appropriate copyright notice and a
notice that there is no warranty (or else, saying that you provide
a warranty) and that users may redistribute the program under