SIMPLE (протокол)


SIMPLE (Session Initiation Protocol for Instant Messaging and Presence Leveraging Extensions) — набор профилей и расширений стандарта SIP, предназначенных для систем мгновенной передачи сообщений (IM) и уведомления о присутствии (Presence). Как и XMPP, SIMPLE, в отличие от подавляющего числа существующих протоколов для передачи мгновенных сообщений и уведомления о присутствии, является открытым стандартом. Также одной из важных особенностей протокола является возможность использования списков присутствия (presence lists), взятых из других приложений.

В 2006 году IETF поручил рабочей группе под названием SIMPLE Working Group определить набор профилей и расширений стандарта SIP, предназначенных для системы мгновенной передачи сообщений и уведомления о присутствии. В документах RFC: RFC 2778 Архивная копия от 8 августа 2007 на Wayback Machine и RFC 2779 Архивная копия от 7 августа 2007 на Wayback Machine, RFC 3428 Архивная копия от 6 августа 2007 на Wayback Machine группа определила модель её функционирования и основные требования к системе мгновенной передачи сообщений и уведомления о присутствии.

Ключевые компоненты протокола уже успели получить достаточно широкое распространение, наиболее известен Microsoft Windows Messenger Архивная копия от 11 декабря 2007 на Wayback Machine.

Механизм ядра протокола. Он обеспечивает фактические расширения SIP для подписок, уведомлений и публикаций. RFC 3265 определяет методы SUBSCRIBE и NOTIFY. Метод SUBSCRIBE позволяет подписываться на событие на сервере, сервер отвечает с помощью метода NOTIFY, всякий раз, когда происходит событие. RFC 3856 определяет, каким образом использовать SUBSCRIBE/NOTIFY для определения присутствия. Определены две модели: модель end-to-end — каждый Пользовательский Агент самостоятельно осуществляет подписку на информацию о присутствии — и централизованная модель. Последняя вводит понятие сервера присутствия. Все подписки обрабатываются этим сервером. Сообщение PUBLISH (RFC 3903) позволяет Пользовательским Агентам сообщать серверу присутствия о состоянии их подписки.

Документы присутствия. Информация о присутствии кодируется в документы XML, которые переносятся в теле соответствующих SIP-сообщений. RFC 3863 и RFC 4479 описывают эту процедуру, RFC 4480 (RPID), RFC 4481, RFC 4482 (CPID) и другие — описывают содержание и форматы документов присутствия.