Documentation
Install
Requirements
On UNIX systems, you need Sofia-SIP libraries installed. If you need to install them, you can either use a binary distribution:
-
on Debian sid:
# apt-get install libsofia-sip-ua-dev
or download the source tarball and install it. Detailed instruction can be found at the Sofia-SIP project page.
SIPDHT tools require the SIPDHT library installed.
SIPDHT library
SIPDHT library can be downloaded from the SourceForge project page in source (tarball or CVS repository) or binary (debian package) form.
NOTE: if users and groups on the system are not proper configured, some of the following steps will require root privileges.
From a source tarball:
- download the archive with your favourite browser from the SourceForge download page;
-
untar the archive in a proper location (e.g. /usr/local/src):
$ mv libsipdht-*.tar.gz /usr/local/src
$ cd /usr/local/src
$ tar zxvf libsipdht-*.tar.gz
$ cd libsipdht-*
-
run the
configure
script:
$ ./configure
-
build:
$ make
-
install:
$ make install
From the HEAD branch on CVS repository:
-
move to a proper location (e.g.
/usr/local/src
):
$ cd /usr/local/src
-
check out the module:
$ cvs -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/sipdht login
$ cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/sipdht co -P libsipdht
-
generate configuration script:
$ ./autogen.sh
-
run the
configure
script:
$ ./configure
-
build:
$ make
-
install:
$ make install
From the Debian package:
- download the package with your favourite browser from the SourceForge download page;
-
install:
$ dpkg -i libsipdht-*.deb
SIPDHT tools
SIPDHT tools can be downloaded from the SourceForge project page in source (tarball or CVS repository) or binary (debian package) form.
The procedures for installing SIPDHT tools are identical to those for installing the library; the only difference is the name of the module: sipdht-tools instead of libsipdht.
DHT Example
This example shows how to deploy, explore and use a simple DHT using SIPDHT tools. For simplicity, the nodes will be run all on the same computer; a more advanced example is described in the README file inside the sipdht-tools package.
-
deploy some nodes participating in the DHT:
$ sipdht -p 6070 -s 10
$ sipdht -p 6080 -s 10 sip:localhost:6070
$ sipdht -p 6090 -s 10 sip:localhost:6080
-
after a few seconds, explore the DHT starting
form any node:
$ sipdhtw sip:localhost:6070
If everything went right, you should see a report showing successor lists and finger tables of the three nodes; -
ask any node to insert the key-value pair "<sip:key, sip:value>":
$ sipdhtp sip:key sip:value sip:localhost:6080
-
ask any node to get the value bound to "sip:key":
$ sipdhtg sip:key sip:localhost:6080
If everything went right, output should report: "sip:value".
Support
Support is mainly provided on the sipdht-devel mailing list. Subscriptions and preferences can be managed directly from the mailman page. Archives are also available.
Developers are often available on the chat room sipdht@conference.tilab.com, which can be joined from any Jabber client (Gaim, PSI, Gtalk...). It is the right place for satisfying any kind of curiosity.
Sometimes decisions are made in live conferences, which always happen in the public room sipdht@sipfw.tilab.com. The room is always active and can be the only requirement for joining it is a SIP phone (Kphone, Linphone, X-Lite, or, if you only have HTTP connectivity, Wengophone). Events happening in this room are always announced on the mailing list.