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.

Reply via email to