open source stuff

Decibel in 14 easy steps

Posted by grundleborg on March 10, 2008

In case the title has misled you, this post is completely free from satire, and is literally a step by step guide to trying out Decibel.

1) Decibel has some dependencies. You will need telepathy-qt and tapioca-qt compiled and installed to compile it. Some of the demos we are going to use also require a KDE4 development environment to be up and running.

2) You will need telepathy-qt and tapioca-qt from the tapioca-voip project (the versions in kdesupport are not yet supported by decibel). They can be got from the SVN repository by issuing the following commands:

Instructions to compile and build them are included in the file README files with each of them.

3) Get and compile decibel. Decibel is located in kdereview at the moment. It can be got by:

  • svn co svn://

Again, compiling instructions are included. Make sure you compile it as you KDE 4 user.

4) Decibel itself cannot communicate with instant messaging networks. To do this, we need telepathy compatible connection managers. For this demo, we will use gabble. Install the gabble package that comes with your distro.

5) Now we need two jabber accounts to test with. Decibel can’t create the accounts on the server yet, so if you don’t already have two jabber accounts, you will need to use kopete (or your favourite instant messaging client) to create them. If you are looking for a jabber server, there is one located at

6) Once you have your two jabber accounts, you need to make sure they’re both friends with each other. Then, log in to one with kopete (or your favourite instant messaging client).

7) Now its time to start up Decibel. Open up a konsole and type ‘decibel’. If all has gone according to plan, the daemon will start and you will be presented with a KWallet dialog asking for your KWallet password. Once you have entered that, the decibel daemon should block the konsole (this makes debugging a lot easier than if it forks).

8) Now we need to register the second jabber account with decibel. At the moment, it is done by using one of the demos. Open another konsole and cd to $YOUR_KDE_INSTALL_DIR/lib/Decibel. This is the folder where th demos are stored. If you ‘ls’ in this folder, you should see a series of executable files whose names fit the pattern ‘decibel_*_demo’.

9) We are registering an account with decibel, so the demo we want to use now is ‘decibel_registeraccount_demo’. The command line you type should be the following, replacing and yourjabberpass with the appropriate values. The ‘s:’ before the values tells decibel to expect a string.

./decibel_registeraccount_demo decibel_protocol=s:jabber password=s:yourjabberpass

10) Now that your account is registered with decibel, it is time to bring it online. To do this, we use the ‘decibel_setpresence_demo’. It should be called as follows replacing ‘handle’ with the numeric account handle returned by decibel_registeraccount_demo.

./decibel_setpresence_demo handle 2

If that worked correctly, your first jabber account running in your favourite instant messaging client should see your secondary account appear online.

12) The final step is to start a chat with your decibel jabber account from your favourite instant messaging client. If all the above steps have worked correctly, you should see a ugly little GUI pop up, allowing you to continue the conversation.

13) If no GUI appears and decibel spits out errors about .service files, try opening a third konsole and running ‘textchannelgui’ in it. This will register the gui with dbus in case the .service files are installed in the wrong locations.

14) Be warned, decibel is still using a rather old implementation of the telepathy-spec, so don’t expect your chat to work for more than a few messages. We are making rapid progress with getting decibel up to the latest spec, and I will blog again as soon as it is using that.

More information on using the decibel demos can be found on techbase.

If you are having problems, or even better, would like to help out, drop by #decibel and shout. There will often be someone there who can help you out.

3 Responses to “Decibel in 14 easy steps”

  1. Nigel said

    Hey does Telepathy-qt in fact still build? I’ve tried the the kde repository, the sourceforge repository and the tapioca repository and all the builds break. Following your instructions above, I get…

    /home/nigel/tmp/telepathy-qt/telepathy-qt-build/src/Core/__/__/include/QtTelepathy/Core/moc_channelstreamedmediaadaptor.cxx: In
    member function `virtual int
    StreamedMediaAdaptor::qt_metacall(QMetaObject::Call, int, void**)’:
    /home/nigel/tmp/telepathy-qt/telepathy-qt-build/src/Core/__/__/include/QtTelepathy/Core/moc_channelstreamedmediaadaptor.cxx:129: error: invalid
    conversion from `unsigned int’ to `uint*(*)()’
    /home/nigel/tmp/telepathy-qt/telepathy-qt-build/src/Core/__/__/include/QtTelepathy/Core/moc_channelstreamedmediaadaptor.cxx:129: error:
    initializing argument 2 of `void StreamedMediaAdaptor::StreamError(unsigned
    int, uint*(*)(), const QString&)’
    /home/nigel/tmp/telepathy-qt/telepathy-qt-build/src/Core/__/__/include/QtTelepathy/Core/moc_channelstreamedmediaadaptor.cxx: At
    global scope:
    /home/nigel/tmp/telepathy-qt/telepathy-qt-build/src/Core/__/__/include/QtTelepathy/Core/moc_channelstreamedmediaadaptor.cxx:160: error: prototype
    for `void StreamedMediaAdaptor::StreamError(unsigned int, unsigned int,
    const QString&)’ does not match any in class `StreamedMediaAdaptor’
    /home/nigel/tmp/telepathy-qt/include/QtTelepathy/Core/channelstreamedmediaadaptor.h:91: error: candidate
    is: void StreamedMediaAdaptor::StreamError(unsigned int, uint*(*)(), const
    *** Error code 1

    Stop in /home/nigel/tmp/telepathy-qt/telepathy-qt-build (line 750 of src/Core/CMakeFiles/QtTelepathyCore.dir/build.make).
    *** Error code 1

    Stop in /home/nigel/tmp/telepathy-qt/telepathy-qt-build (line 127 of CMakeFiles/Makefile2).
    *** Error code 1

    Stop in /home/nigel/tmp/telepathy-qt/telepathy-qt-build (line 113 of Makefile).

    • grundleborg said

      Wow! This blog post is more than a year old, and a lot has changed in that year. For a start, telepathy-qt and tapioca-qt are now found in KDE svn in the same place as Decibel is –

      Also, this stuff is all completely deprecated in favour of a new telepathy client library (telepathyQt4) which can be found here:;a=summary

      The new library is not yet finished, and we are still in the process of porting everything to use it – if you want to keep up to date with all this stuff, I suggest you follow this blog 😉

      Sorry I can’t be more help…

  2. Nigel said

    Thanks for the quick reply. I got the same error trying the repository you suggested (and every other repository I could find!) so either the last checkin is broken or there is something I need to be doing that I’m not.

    I realize theres a new version coming thats not yet done, so I thought I’d play a bit with the old to start learning as it could prove relevant to what we’re doing at I’ll follow whats up with the newer code and meanwhile see if I can force a compilation of the old stuff somehow.

    Thanks again!

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: