[Standards] s2s and gracelessly broken streams
b+jabber at bruce-2007.zerlargal.org
Mon Apr 2 19:16:30 UTC 2007
On Mon, 2 Apr 2007, Mridul wrote:
> Tomasz Sterna wrote:
>> Dnia 30-03-2007, piÄ
o godzinie 17:02 +0200, Matthias Wimmer napisaÅ(a):
>>> Servers will typically close connections to reduce the number of open
>> Only to ones that they got online users from.
>> Servers with only offline users would need not to be probed.
Well, once you know that the user is offline of course. Until you
determine that, you'd need to keep probing.
> You dont know who has offline user and who does not.
> The problem of userB at domain2 thinking userA at domain1 is offline when he
> is available is almost as bad.
After putting on my thinking cap, I think that this problem occurs far
more often than we'd like to admit. The problem lies in the following
wording from 3921 5.1.1 (and implicitly 5.1.2):
If the user's server receives a presence stanza of type "error" in
response to the initial presence that it sent to a contact on behalf
of the user, it SHOULD NOT send further presence updates to that
contact (until and unless it receives a presence stanza from the
If the above wording is followed, this has the implication that presence
updates are exchanged until an error is received, then no further presence
updates are sent until the user reconnects or a presence update is
received from the remote end.
So if the Internet hiccups, and one or both ends receives a
connection-failed message from their local s2s component in response to a
presence update, then the presence status of the other user is in an
undefined state until one, or both users reconnect.
In other words, with long lived connections and no scheduled probes,
eventually all your friends run away.
To counter this, you'd need to probe, on a less frequent basis of course,
the remote JIDs that are known to be offline, even if you've received a
( I suspect this is one of the things that you were referring to in
starting this thread ;) )
 Red, goes well with a dark blue scarf.
 Reconnect occasionally, spend some time in the big blue room.
More information about the Standards