Пользовательские статусы
Введение
Статус и статусное сообщение — специальный информационный пакет в сети Jabber, который показывает, готов ли данный пользователь к общению. За доставку таких пакетов отвечает сервер. Обычно необходимым условием получения информации о присутствии какого-либо контакта является наличие его в ростере принимающей стороны и наличие подписки от данного контакта.
Возможные значения статуса в Jabber:
- Доступен (Available, Online)
- Самый распространенный статус, означающий, что пользователь в сети и готов принимать сообщения.
- Готов пообщаться (Free for chat)
- Пользователь в сети и желает пообщаться.
- Отошел (Away)
- Пользователь в сети, но отлучился.
- Недоступен (xa, eXtended Away)
- Пользователь в сети, но отлучился на долгое время.
- Не беспокоить (DND, Do Not Disturb)
- Пользователь в сети, но не желает, чтобы его беспокоили.
- Недоступен (Not available, offline)
- Пользователь отключен от сети. Вы можете отправить ему сообщение в оффлайн, но нет гарантии, что он его получит.
Статусное сообщение - текстовая строка, комментирующая статус и определяемая пользователем.
Кроме основных есть также ряд так называемых расширенных статусов, позволяющих передавать разнообразную дополнительную информацию о пользователе.
Расширенные статусы
В Jabber существует особый транспорт под названием PEP (иногда его называют PubSub, это не одно и то же, но связанные вещи). Принцип его работы довольно прост: кто-то создает свою рассылку, PEP транспорт её считывает и рассылает подписчикам (напоминает RSS). На базе данного транспорта создано несколько сервисов (смотрите ниже таблицу поддержки в различных клиентах). PEP неявно для пользователя используется также в XEP-0154: User Profile — Профиль
Настроение и Активность
Это самые популярные сервисы. Их можно сравнить с x-статусами в ICQ. Первый служит для передачи настроения, а второй для передачи занятости. На данный момент в каждом их них можно задать около 60 значений.
Клиенты
На данный момент поддержка PEP есть в следующих клиентах:
Стандарт | Статус | Клиент | Описание | |||||||
Psi | Gajim | Pidgin | Kopete | Miranda | Bombus | Tkabber | Adium | |||
---|---|---|---|---|---|---|---|---|---|---|
XEP-0080 | Geolocation | X | Местоположение | |||||||
XEP-0084 | User Avatar | X | X | X | X | X | X | X | X | Аватар |
XEP-0107 | User Mood | X | X | X | X | X | X | X | X | Настроение |
XEP-0108 | User Activity | X | X | X | Занятие | |||||
XEP-0118 | User Tune | X | X | X | X | X | X | Прослушиваемая мелодия | ||
XEP-0194 | Chatting | X | X | X | X | X | X | X | X | Конференции |
XEP-0195 | User Browsing | Серфинг в интернете | ||||||||
XEP-0196 | User Gaming | Онлайн-игры | ||||||||
XEP-0197 | User Viewing | Просматриваемое TV, фильмы и т.п. |
Также QIP Infium имеет поддержку PEP, но она несовместима со стандартом и может быть прочитана только другим QIP Infium.