How-To: UPnP over XMPP

Sharing/Accessing UPnP MediaServers over XMPP in 7 steps

This little howto explains briefly how you can easily share and
access UPnP devices using Coherence_ and Telepathy_ over XMPP.


- you and one or more friends
- your jabber account and a jabber conference server
- some media files
- a UPnP compatible media-player, like Rhythmbox or Totem
- or any UPnP device in your living room (PS3, ...)

The obligatory warning: this stuff describes how to share any local
MediaServer you might have in your LAN across the internets. So be
careful about what you share ;)

The second warning: Mirabeau is not yet able to traverse NATs. This
means that if you are behind a router (typical setup for DSL
connections), you need to enable its UPnP support (using the admin interface).

An experimental `Maemo UI`_ is also available (there are less steps :) ).

Steps to follow:

0. Install the various telepathy packages, especially telepathy-gabble
   (>= 0.7.30) and telepathy-python (>= 0.15.8)

1. Checkout the development version of Coherence_:


     $ git clone
     $ git clone
     $ cd Coherence

2. Configure Coherence


     $ cp docs/mirabeau.xml my-mirabeau.xml
     # edit the config: jabber account, conf server, jabber room and eventually a media folder
     # you want to share with your friends

3. Start Coherence, it will connect to your jabber account, join the
   chatroom and start offering data to other participants of the room:


     $ PYTHONPATH=$PWD:$PYTHONPATH ./bin/coherence -c my-mirabeau.xml

4. Ask your friends to do the same. You need to all agree on a common
   conference server and chatroom name! is a good
   choice. (NB: Your friends need to be in your Jabber roster also)

5. While people join the room, your local Coherence instance starts
   connecting to the tubes available in the room and translate them to
   local UPnP devices. Coherence should print informations on the
   console output each time a new incoming tube is opened and accepted.

6. Start your media player and/or other UPnP compatible
   clients. Remote devices of the people in the room should show up and
   be browseable!

.. _Telepathy:
.. _Coherence:
.. _Maemo UI: /wiki/MirabeauHowTo/Maemo