[JDEV] Messaging with Resources, desired behavior
dizzyd at jabber.org
Mon May 26 19:49:15 CDT 2003
-----BEGIN PGP SIGNED MESSAGE-----
On Monday, May 26, 2003, at 17:18 America/Denver, Chris Mullins wrote:
> When I first send a message to someone, I send it to
> someone at jabber.com.
> The server then looks through (I'm assuming) what resources "someone"
> logged in with, picks the one with the highest priority, and forwards
> the message to them. This means that the message actually is delivered
> so someone at jabber.com/HighPriorityResource.
> If/When they reply, so I quickly get a message back from
> someone at jabber.com/HighPriorityResource.
> If I reply to that message, should I send it to the user at resource, or
> continue sending it to "user", and let the server make the resource
> priority decision on each and every message?
Well, Nitro and Exodus both "lock in" to a resource once a reply is
sent. So they send the initial message to user at host, then
user at host/resource once a reply comes back. The trick here is that once
the "locked in" resource goes offline, you switch back to sending
messages to user at host. Repeat when a reply comes back from another
Honestly, my philosophy on message routing is that a client should be
able to send to ANY resource, but the recipients server ALWAYS has the
prerogative to rewrite that message to any other resource.
> More importantly, let's say someone at jabber.com/HighPriorityResource
> offline and I send him a message (using the full JID + Resource), but
> comes online at someone at jabber.com/DifferentResource - will the server
> automatically deliver the message to that resource, or will the message
> be archived for the next time (s)he logs in using that exact resource
From what I remember of the code, the 1.4 server will send the message
to offline if the exact resource requested was not available. Now, I
don't know if that makes _sense_ but that's what it does. :)
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.1 (Darwin)
-----END PGP SIGNATURE-----
More information about the JDev