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

Merge commit 'origin/master' into dbus


parents 96868436 4be69b42
...@@ -10,19 +10,66 @@ Makefile ...@@ -10,19 +10,66 @@ Makefile
*.m4 *.m4
*.spec *.spec
/config.* /config.*
# Ignore rendered docs # Ignore rendered docs
doc/html doc/doxygen/html-everything
# Ignore buildsys stuff # Ignore buildsys stuff
autom4te.cache /autom4te.cache
# Ignore temp portaudio stuff # Ignore QT automatically-rendered stuff
# Ignore built stuff
# Ignore temp libs stuff
tools/portaudio tools/portaudio
# Ignore sub-modules stuff
## libiax2
## taxidermy
# Ignore temp files # Ignore temp files
*~ *~
# Ignore website stuff
# Ignore platform packaging temp files
// AsciiDoc file
SFLphone is a mega phone. We like it.
// AsciiDoc file
Build notes
Instructions to build `sflphoned`:
Go to `libs/libiax2` and run:
./configure --prefix=/usr
sudo make install
the daemon
Then, go to the root of the repository, and run:
./configure --prefix=/usr (or whatever your prefix)
sudo make install
`sflphone-qt` gets built with sflphoned, for now.
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[svn repos]
Common C++2 1.3.21[website]
ccRTP 1.3.5[website]
libeXosip2 ** 2.2.2[website]
libosip2 2.2.2[website]
portaudio v19[website]
portaudio C++ binds.[archive]
libsamplerate 0.1.2[website]
// [done], [not done], [not tested], etc.. are defined in asciidoc.conf
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:// git clone git://
cd sflphone
autoreconf --install
--------------------------------------------- ---------------------------------------------
...@@ -31,5 +33,7 @@ authentication. Then: ...@@ -31,5 +33,7 @@ authentication. Then:
-------------------------------------------------------------- --------------------------------------------------------------
git clone git+ssh:// git clone git+ssh://
cd sflphone
autoreconf --install
-------------------------------------------------------------- --------------------------------------------------------------
// AsciiDoc file
* News 1
* News 2
This directory holds all the documentation files, that are interfaced on the website, and in other documentation areas.
// AsciiDoc file
.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
\[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
<a href="index.php?f={target}.txt">{0?{0}}{0!{target}}</a>
# Image links (with "image:")
<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}"}/>
<div class="image-title">{title}</div>
\ No newline at end of file
# Doxyfile 1.4.4
# This file describes the settings to be used by the documentation system
# doxygen ( for a project
# All text after a hash (#) is considered a comment and will be ignored
# The format is:
# TAG = value [value, ...]
# For lists items can also be appended using:
# TAG += value [value, ...]
# Values that contain spaces should be placed between quotes (" ")
# Project related configuration options
# The PROJECT_NAME tag is a single word (or a sequence of words surrounded
# by quotes) that should identify the project.
# The PROJECT_NUMBER tag can be used to enter a project or revision number.
# This could be handy for archiving the generated documentation or
# if some version control system is used.
# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute)
# base path where the generated documentation will be put.
# 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.
OUTPUT_DIRECTORY = doc/doxygen
# 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
# format and will distribute the generated files over these directories.
# Enabling this option can be useful when feeding doxygen a huge amount of
# source files, where putting all generated files in the same directory would
# otherwise cause performance problems for the file system.
# The OUTPUT_LANGUAGE tag is used to specify the language in which all
# documentation generated by doxygen is written. Doxygen will use this
# information to generate all constant output in the proper language.
# The default language is English, other supported languages are:
# Brazilian, Catalan, Chinese, Chinese-Traditional, Croatian, Czech, Danish,
# Dutch, Finnish, French, German, Greek, Hungarian, Italian, Japanese,
# Japanese-en (Japanese with English messages), Korean, Korean-en, Norwegian,
# Polish, Portuguese, Romanian, Russian, Serbian, Slovak, Slovene, Spanish,
# Swedish, and Ukrainian.
# This tag can be used to specify the encoding used in the generated output.
# The encoding is not always determined by the language that is chosen,
# but also whether or not the output is meant for Windows or non-Windows users.
# In case there is a difference, setting the USE_WINDOWS_ENCODING tag to YES
# forces the Windows encoding (this is the default for the Windows binary),
# whereas setting the tag to NO uses a Unix-style encoding (the default for
# all platforms other than Windows).
# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will
# include brief member descriptions after the members that are listed in
# the file and class documentation (similar to JavaDoc).
# Set to NO to disable this.
# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend
# the brief description of a member or function before the detailed description.
# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the
# brief descriptions will be completely suppressed.
# This tag implements a quasi-intelligent brief description abbreviator
# that is used to form the text in various listings. Each string
# in this list, if found as the leading text of the brief description, will be
# stripped from the text and the result after processing the whole list, is
# used as the annotated text. Otherwise, the brief description is used as-is.
# If left blank, the following values are used ("$name" is automatically
# replaced with the name of the entity): "The $name class" "The $name widget"
# "The $name file" "is" "provides" "specifies" "contains"
# "represents" "a" "an" "the"
# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then
# Doxygen will generate a detailed section even if there is only a brief
# description.
# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all
# inherited members of a class in the documentation of that class as if those
# members were ordinary class members. Constructors, destructors and assignment
# operators of the base classes will not be shown.
# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full
# path before files name in the file list and in the header files. If set
# to NO the shortest path that makes the file name unique will be used.
# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag
# can be used to strip a user-defined part of the path. Stripping is
# only done if one of the specified strings matches the left-hand part of
# the path. The tag can be used to show relative paths in the file list.
# If left blank the directory from which doxygen is run is used as the
# path to strip.
# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of
# the path mentioned in the documentation of a class, which tells
# the reader which header file to include in order to use a class.
# If left blank only the name of the header file containing the class
# definition is used. Otherwise one should specify the include paths that
# are normally passed to the compiler using the -I flag.
# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter
# (but less readable) file names. This can be useful is your file systems
# doesn't support long names like on DOS, Mac, or CD-ROM.
# If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen
# will interpret the first line (until the first dot) of a JavaDoc-style
# comment as the brief description. If set to NO, the JavaDoc
# comments will behave just like the Qt-style comments (thus requiring an
# explicit @brief command for a brief description.
# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen
# treat a multi-line C++ special comment block (i.e. a block of //! or ///
# comments) as a brief description. This used to be the default behaviour.
# The new default is to treat a multi-line C++ comment block as a detailed
# description. Set this tag to YES if you prefer the old behaviour instead.
# If the DETAILS_AT_TOP tag is set to YES then Doxygen
# will output the detailed description near the top, like JavaDoc.
# If set to NO, the detailed description appears after the member
# documentation.
# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented
# member inherits the documentation from any documented member that it
# re-implements.
# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC
# tag is set to YES, then doxygen will reuse the documentation of the first
# member in the group (if any) for the other members of the group. By default
# all members of a group must be documented explicitly.
# If the SEPARATE_MEMBER_PAGES tag is set to YES, then doxygen will produce
# a new page for each member. If set to NO, the documentation of a member will
# be part of the file/class/namespace that contains it.
# The TAB_SIZE tag can be used to set the number of spaces in a tab.
# Doxygen uses this value to replace tabs by spaces in code fragments.
# This tag can be used to specify a number of aliases that acts
# as commands in the documentation. An alias has the form "name=value".
# For example adding "sideeffect=\par Side Effects:\n" will allow you to
# put the command \sideeffect (or @sideeffect) in the documentation, which
# will result in a user-defined paragraph with heading "Side Effects:".
# You can put \n's in the value part of an alias to insert newlines.
# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C
# sources only. Doxygen will then generate output that is more tailored for C.
# For instance, some of the names that are used will be different. The list
# of all members will be omitted, etc.
# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java sources
# only. Doxygen will then generate output that is more tailored for Java.
# For instance, namespaces will be presented as packages, qualified scopes
# will look different, etc.
# Set the SUBGROUPING tag to YES (the default) to allow class member groups of
# the same type (for instance a group of public functions) to be put as a
# subgroup of that type (e.g. under the Public Functions section). Set it to
# NO to prevent subgrouping. Alternatively, this can be done per class using
# the \nosubgrouping command.
# Build related configuration options
# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in
# documentation are documented, even if no documentation was available.
# Private class members and static file members will be hidden unless
# the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES
# If the EXTRACT_PRIVATE tag is set to YES all private members of a class
# will be included in the documentation.
# If the EXTRACT_STATIC tag is set to YES all static members of a file
# will be included in the documentation.
# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs)
# defined locally in source files will be included in the documentation.
# If set to NO only classes defined in header files are included.
# This flag is only useful for Objective-C code. When set to YES local
# methods, which are defined in the implementation section but not in
# the interface are included in the documentation.
# If set to NO (the default) only methods in the interface are included.
# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all
# undocumented members of documented classes, files or namespaces.
# If set to NO (the default) these members will be included in the
# various overviews, but no documentation section is generated.
# This option has no effect if EXTRACT_ALL is enabled.
# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all
# undocumented classes that are normally visible in the class hierarchy.
# If set to NO (the default) these classes will be included in the various
# overviews. This option has no effect if EXTRACT_ALL is enabled.
# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all
# friend (class|struct|union) declarations.
# If set to NO (the default) these declarations will be included in the
# documentation.
# If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any
# documentation blocks found inside the body of a function.
# If set to NO (the default) these blocks will be appended to the
# function's detailed documentation block.
# The INTERNAL_DOCS tag determines if documentation
# that is typed after a \internal command is included. If the tag is set
# to NO (the default) then the documentation will be excluded.
# Set it to YES to include the internal documentation.
# If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate
# file names in lower-case letters. If set to YES upper-case letters are also
# allowed. This is useful if you have classes or files whose names only differ
# in case and if your file system supports case sensitive file names. Windows
# and Mac users are advised to set this option to NO.
# If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen
# will show members with their full class and namespace scopes in the
# documentation. If set to YES the scope will be hidden.
# If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen
# will put a list of the files that are included by a file in the documentation
# of that file.
# If the INLINE_INFO tag is set to YES (the default) then a tag [inline]
# is inserted in the documentation for inline members.
# If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen
# will sort the (detailed) documentation of file and class members
# alphabetically by member name. If set to NO the members will appear in
# declaration order.