powered by Jive Software

InviteListener - no MUC extensions present?

Hi all,

We’re successfully sending an InviteEvent from a Flex/Xiff client we have written with Openfire as the back end. When this invite sends, my running client (Adium in this case, but also tested with Spark) picks up the invitation and asks me to confirm whether I would like to join the room.

We have also written our own Flex/XIFF client that listens for the InviteEvents. I’ve run this in debug and the event is being listened for. The XIFF InviteListener class has this code in the handleEvent method:

var exts:Array = msg.getAllExtensionsByNS(MUCUserExtension.NS);

if(!exts || exts.length < 0) {

return;

}

In debug I can see that the extensions on this message are NULL. Is there any reason why Spark and Adium pick this up and our XIFF client doesn’t? Is it possible that the extensions are at some point lost by the XIFF code, or should we be setting up something special on the XMPPConnection when we connect?

Many thanks for any help,

Michael

Actually, my mistake, that InviteHandler was handling another message entirely, hence the lack of the MUC extensions. Still not actually receiving the actual invite message but if and when I do I’ll post some feedback.

Right - found the solution, publishing it in case it helps anyone.

Our Flex XMPP client was not sending a Presence message to the Openfire on login to say the user is available, whereas Spark does (found this through a bit of packet sniffing). Openfire does not send the invite to our client as it can’t see the user is available.

This tutorial helped a lot - http://paazio.nanbudo.fi/tutorials/flash/xiff-chat-part-4-invitations.