powered by Jive Software

Kraken implementation?


I have Kraken installed as a plugin on my OpenFire server and have enabled MSN and Yahoo. What I am unsure about is how to use these gateways? Should I make my client connect to the gateway instead of the server address, eg msn. instead of

Also at the moment I set my JID as username@ but with MSN and Yahoo etc the username is already and email so username@yahoo.com would become username@yahoo.com@yahoo., which is invalid?

Basically I need a quick example / explanation of how I actually code my XIFF client to use these gateways, using the XMPPConnection class.


If you’re building a client, than the specs are your best friend: http://xmpp.org/extensions/xep-0100.html

Hi guys,

I’m experiencing same problem as nacker stated before. I just realized that openfire can use kraken as transport with other protocols ( kinda bit late .) But the next problem is how to retrieve buddy list for yahoo, and other protocols.

When i do

Collection<RosterEntry> entries = roster.getEntries();
        for (RosterEntry entry : entries)
            jid = entry.getUser();

the output was giving me the yahoo transport. now, i need to know, how to retrieve yahoo contacts using smack.

I already registered the transport for the user, using kraken xml-rpc.

Appreciate it so much. Thanks guys.

I will restate: the specs are your friend.

Your yahoo (or MSN, or AIM, or any legacy network) contacts will be added to your roster by the gateway. After you logged in, you will see that there are a number of contacts on your roster that look like <username_on_legacy_network>@yahoo.<your_xmpp_domain>

Hi Guus,

Noted for specs, thanks. So, do you mean that gateway will automatically retrieve the legacy protocol users ?

I tried to login using my jabber id, and on gateway i already registered the transport type ( yahoo ) along with other informations, but still, what i have on my roster buddy only the transport, and no buddy list for yahoo.



you were right, i can see my yahoo contact using different account. so, it seems the problem on my yahoo account. And sorry, i didn’t notice this is a xiff discussion, so it’s better if i move to smack discussion.

Good to see it is resolved. In actuality, this appears more like a Kraken-related issue than a XIFF or Smack one, but hey, as people apparently find this a logical place to look for information, we’ll just leave it here.


I have a related question to Kraken as well. I am unsure how to use the Gateways myself.

I just downloaded and installed Openfire + Kraken, both the latest versions available. I am creating my own client for mobile devices using an open source library. I am following this documentation’s flow to register a user to a Gateway: http://xmpp.org/extensions/xep-0100.html

Question #1:

in section 4.1 Register, I am up to step #8

“Optionally, Jabber User sends IQ-set qualified by the ‘jabber:iq:roster’ namespace to its server (see RFC 3921 [4]), containing a roster item for Gateway.”

What I am expecting next is #9:

“Gateway sends subscription request to Jabber User (i.e., by sending a presence stanza of type “subscribe” to Jabber User’s bare JID).”

But this never happens, can anyone tell me why?

Question #2:

If I send a Registration snippet containing my GTalk username and password to the GTalk gateway, it looks like the registration is successful, as I can see it under Registrations in Openfire console. I can also see my GTalk Roster in the Roster section. However, I have to login twice to get the full Roster back. So the sequence is this:

  1. Register/Login

  2. Ask for Roster, no response

  3. Register/Login again

  4. Ask for Roster, get full Roster this time.

Anyone can tell me why I need to register / login twice? It may have something to do with question #1 I suppose.

Question #3:

Continuing on Question #2, I am not getting any Presence updates from my contacts even after I send a presence probe by sending a blank Presence snippet. Why? May have something to do with #1 as well.

Thanks a lot for any help

Kraken does deviate a little from the specs - it will add legacy contacts directly to the Openfire roster, without sending the XMPP roster exchange stanzas that are specified in the XEP. The gateway contact itself might be added to your roster in a similar fashion (without sending presence subscribe stanzas, but by simply adding them to your roster “under water”). There are a number of shortcuts like this in Kraken. It’s breaking spec, but reduces the amount of stanzas that are sent back and forth.

As for the other questions, I don’t have an answer ready, and I don’t have the time now to look into it. Perhaps you should post on http://kraken.blathersource.org/

Hello, thanks for your reply. I have in fact posted my questions on Kraken’s forum, but that forum looks dead as a graveyard. I’m pretty confused and poking blindly here…

Is there a Kraken log anywhere? It would help if I can see what Kraken does after receiving my snippets, or if it’s receiving my snippets at all.