[Standards-JIG] RFC 3921 Better User Presence Experience (Implementation Detail)
mridul at sun.com
Thu Oct 26 07:56:55 UTC 2006
JD Conley wrote:
> I was wondering what you guys thought about this and if anyone already
> implements something similar in their servers.
> Today if my server loses connectivity with any other server and I had
> received presence from a contact there they will remain online from my
> perspective even though they can't actually be reached. The server knows
> the contact can't be reached and sends out a stanza error to me the next
> time I try to communicate with my contact. However, my contact still
> appears online.
> I would propose that if a server is ever unable to deliver a stanza to a
> remote domain over an S2S link it SHOULD notify all locally connected
> entities that have received presence from that domain with an empty
> presence unavailable stanza. And this should be in the implementation
> notes or maybe in 3921.
You have s2s connections being dropped frequently - cos of inactivity ,
configured timeouts , etc.
So losing of an s2s connection does not imply that the remote server is
gone - just that the socket has been closed.
There are two cases here :
1) Socket's are closed but both server are still up.
2) Sockets are closed and remote server is down (immediately or
subsequently after some time when one tries to reach the other).
In case 1 , as soon as the remote server wants to notify local server
(presence change , message , etc) - it will initiate an s2s connection
and then send the required stanzas. So , this case is not affected by
dropping of the socket - and dropping of s2s connections is actually
quite common from what I see.
Case 2 is tricky since you cannot distinguish it from case 1 (either
side becoming unreachable , restarting , etc ).
Especially since it is the responsibility of the remote server to push
presence updates - local server/components will end up with a bunch of
stale presence state.
We would need some guideline regarding this imo .... btw , it looks like
there might be a conflict in the rfc which I will be mailing out to the
More information about the Standards