On Tue, Dec 11, 2007 at 10:28:55AM -0700, Peter Saint-Andre wrote:
> Robin Redeker wrote:
> > Hi!
> > 
> > Some days ago I had a mail discussion on the jdev@ mailing list
> > about messages to unsubscribed contacts and contacts in general.
> > Tomasz said that messages should generally go to the bare JID instead of
> > the full JID, and that the local routing is up to the server.
> > 
> > He meant, chat sessions should be kept track of with the <thread>
> > element, which completly makes sense to me.
[.snip.]
> > Please also note that the term 'chat session' in that paragraph is quite
> > undefined, or at least it's meaning is a bit fuzzy to me.
> 
> At its simplest, I think this is a chat session:
> 
[.snip.]
>
> The sharing of directed presence gives both parties more knowledge about
> availability, but I think it should be initiated by the recipient (and
> subject to client prompt on a per-session basis, or configuration in the
> client to auto-share directed presence).
> 
[.snip.]
> > Of course, If I don't have to keep track of the resources, that would
> > _greatly_ simplify everything for me. Just sending to the bare JID and
> > leaving the rest up to <thread> and the contacts routing settings
> > would make enormous sense to me.
> 
> Sending every message to the bare JID is not the custom.
> 
> > Back to section 5.1.1, the sections somehow contradicts the section
> > 8.3.1.1 (Message):
> > 
> >    For a message stanza of type "chat", "error", "groupchat", or
> >    "normal", the server SHOULD deliver the stanza to the
> >    highest-priority available resource.
> > 
> > That 'feature' only makes sense if at least the initial message goes to
> > a bare JID. But if it is routed to a resource by the server and I have
> > no knowledge about the presence of that resource (eg. if I'm not
> > subscribed), where should the next message go to, to the full JID I
> > received a reply from? 
> 
> You should keep sending to the bare JID until you receive a reply from a
> full JID, then start sending to the full JID.
> 

Ok, I have another question:

We have: Contact A with one resource (resource is 'res1'):

  [EMAIL PROTECTED]/res1

And Contact B with two resources:

  [EMAIL PROTECTED]/res1  priority 20
  [EMAIL PROTECTED]/res2  priority 10

They are not subscribed to each other and do NOT share any presence
information.

Contact A sends a bare JID message to contact B. Contact B receives the
message at res1 (due to highest priority), and answers from that
resource. Contact A receives the full JID of that resource now and
'binds' the conversation to it and they chat. Later Contact B switches
to his laptop, with another client bound to the other resource 'res2'.
And he sends a message to the bare JID (because the client there doesn't
know the full JID of contact A) of contact A.
How should contact A proceed? Should he bind (and reply) the conversation to 
res2?
Should he make a second 'chat session', which is probably not very
intuitive for the user because he just wanted to talk to contact B and
when he got two options to send the message, what should he do (he
doesn't even know which resource is the 'right' one, or whether 'res1'
maybe went offline)?

What if they share presence, should contact A's client determine from
the highest priority resource where the message should go to?


Robin

-- 
Robin Redeker                         | Deliantra, the free code+content MORPG
[EMAIL PROTECTED] / [EMAIL PROTECTED] | http://www.deliantra.net
http://www.ta-sa.org/                 |

Reply via email to