Hey folks,
For awhile I've been designing systems whereby any entity announcing
presence has the responsibility of continuously refreshing this
presence. I've even done this within XMPP by including a <ttl> element
in the presence stanza indicating a timeout value. If the receiving
entity does not receive a new presence stanza within this time period
then it considers the sending entity to be unavailable. I prefer this to
the practice of the receiving entity having to periodically probe
whoever it has received presence from. The end result is pretty much the
same, but to me it feels cleaner to put this responsibility on the sender.
I wonder if it couldn't hurt to standardize a simple thing like this?
<presence from="alice" to="bob">
<status>I'm here</status>
<ttl xmlns="urn:xmpp:tmp:ttl">600</ttl>
</presence>
Given the above directed presence, Bob would expect another presence
stanza from Alice within 10 minutes.
Justin