I found out how to link directly to a chat room on a Jabber conference server -- it took a bit of digging, and I wound up actually looking at the spec before I was sure I was doing it right. I confirmed here, so I'm pretty sure I've got it.
The results, though, are puzzling. If I click a link of the style
xmpp:email@example.com I get a new chat session with user "dude" at example.com, as expected. If I tack on a nonsense query (
xmpp:firstname.lastname@example.org?foobar), it's ignored, which is what the spec says should happen. However, if I use
xmpp:email@example.com?join, as in the link above, nothing happens.
I dug a little deeper, and found out that on my (Linux) system, xmpp URIs are handled via
purple-url-handler, so I dropped to a terminal and ran it manually. The result was that any xmpp URI ran fine except one that includes a ?join query. The ?join query results in a dbus crash, pointing specifically to line 2356 of dbus-message.c -- a little Googling suggests this probably is dbus's less-than-elegant way of telling me that somebody is using dbus incorrectly.
Am I crafting my link correctly? Is this an OS or maybe application issue? Does this work on other platforms / browsers / etc? More importantly, is there any easy way to fix it?