This more of a 'what are people doing now' question, not a 'what should the implementations be doing'.

Lets say that my Jabber client has an avid desire to know the accurate online status of remote JIDs, and the roster subscriptions are 'both'. To that end, my client makes the assumption that if no update to the status has been received in an hour, then something has possibly happened to the remote JID that hasn't been properly pushed to my client (remote server restart normally ).

How should my Jabber _client_ get the latest news about the remote JID?

The solutions that I've tried to get this information are:

  A) Presence probes.  Swallowed by some servers.
        <presence to='[EMAIL PROTECTED]' type='probe'/>
      or
        <presence to='[EMAIL PROTECTED]' from='[EMAIL PROTECTED]' type='probe'/>

  B) Directed presence saying unavailable then available again.
        <presence to='[EMAIL PROTECTED]' type='unavailable'/>
        <presence to='[EMAIL PROTECTED]'/>

  C) Subscribe to their presence again.
        <presence to='[EMAIL PROTECTED]' type='subscribe'/>

and finally (this far less frequently than anything directed at a given JID):

  D) Unavailable then available again to the entire roster.
        <presence type='unavailable/><presence/>

Of these, the 'subscribe' trick seems to be the most consistent at returning the desired information. 'probe's seem to get swallowed by a number of servers, and appearing to go offline and online again just irritates the remote users.

Any other tricks that people use?

--
  Bruce Campbell.

Reply via email to