When a client session becomes unresponsive, Openfire will verify its livelyness by sending it pings. If these go unanswered, the session is eventually timed-out (Stream Management, when available, can be put in effect).
Relatively soon in the process, the server is aware that the client might be unresponsive (as it starts sending pings). At this point, it could be beneficial for entities subscribed to the presence of the unresponsive client to be aware of (potential) issues.
Openfire should include a feature that allows a 'mock' presence to be sent out for these unresponsive clients, indicating that they're unresponsive. XEP-0310: Presence State Annotations provides a framework that can be used for this.