Currently it is not possible to send room invitations directly from one person to another. That is, the invitation must go through the room. See:
http://www.xmpp.org/extensions/xep-0045.html#invite This can cause problems with deployments that use privacy lists to block communications from entities that are not in your roster. In order to solve this issue, we need to modify the <invite/> element in XEP-0045. Currently the flow is like this: 1. Occupant Sends an Invitation by Way of Room <message from='[EMAIL PROTECTED]/desktop' to='[EMAIL PROTECTED]'> <x xmlns='http://jabber.org/protocol/muc#user'> <invite to='[EMAIL PROTECTED]'/> </x> </message> 2. Room Sends Invitation to Invitee on Behalf of Occupant <message from='[EMAIL PROTECTED]' to='[EMAIL PROTECTED]'> <x xmlns='http://jabber.org/protocol/muc#user'> <invite from='[EMAIL PROTECTED]'/> </x> </message> Notice that the invitation comes from the room and there is no way for the invitee to know which room to join other than by checking the 'from' address on the <message/>. For direct invitations we'd need to include a 'room' attribute, like so: <message from='[EMAIL PROTECTED]/desktop' to='[EMAIL PROTECTED]'> <x xmlns='http://jabber.org/protocol/muc#user'> <invite room='[EMAIL PROTECTED]'/> </x> </message> Yes, this is basically just like jabber:x:conference. Hmm. Everything that's old is new again. BTW, I think the room itself should include the 'room' attribute too. That way you can just check the room attribute, not the 'from' address of the <message/>. Naturally, you could still send invitations through the room, but the ability to invite directly enables us to work around the privacy lists blocking issue. Thoughts? Peter
smime.p7s
Description: S/MIME Cryptographic Signature