2.5.4 Display Presence Information

This use case describes how a user obtains and displays presence information for other users. The actor is a user.

The following diagram illustrates this process.

Process for displaying presence information

Figure 13: Process for displaying presence information

Preconditions

  • The protocol client can communicate with the relay servers that are associated with the user.

  • The user can see presence information for other users.

Steps

  1. The user selects an option in the protocol client UI to display a list of other users.

  2. The protocol client subscribes to presence information from the relay servers that are associated with the users to display.

  3. The relay server updates the presence subscription records and notifies the protocol client of the presence information for the subscribed users.

  4. The protocol client receives the presence information for the users, and then displays the list of users and presence information for each of those users.

  5. The user closes the UI that displays the list of users.

  6. The protocol client unsubscribes from the presence information for the other users.

  7. The relay server updates the presence subscription records and removes the corresponding presence subscriptions for the protocol client.

Errors

  • Cannot connect to the relay server – The protocol client sets the presence information to a status of unknown and tries again when it can connect to the relay server.

  • Relay server errors – The protocol client sets the presence information to a status of unknown and tries again.

  • Client errors – The protocol client notifies the user of the error, sets the presence information to a status of unknown, and tries again.

Post-conditions

  • The user sees presence information for other users.

  • The user cannot see presence information for other users because an error occurred.