Knowing the party you are communicating with is a very useful feature in instant messaging applications and is seen throughout many different services. In XMPP, this is implemented using chat state notifications.
XMPP supports five different chat states. These are as follows:
<active/>
: The other user is actively participating in the chat or they have come back from an inactive state, for example, focusing on the chat window or returning to the computer after a break.<inactive/>
: The other user is not actively participating in the conversation. For example, they are no longer focused on the chat window for a period of 2 minutes or more.<gone/>
: The user is no longer participating in the chat. They may have closed the chat window or are not focused on it for a much longer period (10 minutes or more).<composing/>
: The user is actively typing and a message may be imminent exciting times!<paused/>
: The user was typing but has stopped, maybe...