I actually have a follow up question related to this. I have a component service that manages a certain functionality for my platform. It receives information from one or more other components. This input must include a jid that represents who the information should be going to. The management component receives all of this information and must then deliver it to the appropriate recipient. When the sending component initially generates the information, it won't know the resource that the target user is using or will be using therefore it will be a bare jid. However, when the management component needs to forward the information on, it needs the full jid to send the IQ too. How do I find this full jid? How do I determine the resource being used by a particular user in order to deliver my Iq. This is a push based system so I can't rely on an incoming message from the client and get the full jid that way.
Currently, the information being passed around uses IQ sets. Under the rules you guys pointed me to, IQs don't work if more than one resource is on line. I am wondering if the end delivery mechanism (from the management component to the end client) should be a Message stanza. From: [email protected] [mailto:[email protected]] On Behalf Of Dave Cridland Sent: Friday, October 04, 2013 12:08 PM To: XMPP Standards Subject: Re: [Standards] Question regarding a server's handling of resource identifiers On Fri, Oct 4, 2013 at 4:43 PM, Todd Herman <[email protected]<mailto:[email protected]>> wrote: * Send the message to the resource with the highest priority This is legal behaviour, as Matthew says. If it's of type normal or chat, anyway. * Send the stanza to all resources This, too, is legal behaviour - though more commonly, all resources without a negative priority. Personally I'm less keen on this, but not hugely so - if the sender wants this behaviour, though, then can use type headline, which does this. * Drop the message and return an error (forcing direct interactions with resources only) This would be a Bad Thing, and isn't allowable under RFC 6121. Any input would be greatly appreciated. I noticed you cited RFC 6120. That's a fine spec, and many of my best friends are RFC 6120s, however I suspect you want to read through RFC 6121 §8.5.2, and in particular §8.5.2.1.1, which explains what to do if a <message/> stanza is received to a bare jid when one or more non-negative priority resources is online (which, I think, is more or less what you're asking). Dave.
