Quobis wac provides a presence functionality that allows users to know the “status” or presence of another user, and also setting its own presence. In addition to the “online” status, other information is stored in the presence as the user avatar, the displany name, a note or the “mood”. This functionality is implemented in the wac-core service.
Presence is managed via a set of REST API endpoints, while its updates are sent via the websocket connection to the user subscribed to a given presence. Before getting updates, the user needs to “subscribe” to the presence of a given user. After that, he/she will receive updates everytime that the presence changes.
Presence and call management
The presence service is tightly coupled with the QSS service, as the presence of the user is changed to “busy” when she/he is on a call. On the other hand, the user is announced as “online” when she has a open connection with the server.
For compatibility reasons, since v5.3, the presence information is not removed when deleting users, as we asume all users have a presence so if we drop presence for deleted users, applications querying data about those users may fail. Instead, when a presence query about a deleted user is done, the answer is an empty presence (it only contains the address field, the other fields are null or empty strings).