stringtranslate.com

XMPP

Extensible Messaging and Presence Protocol ( сокращенно XMPP , первоначально называвшийся Jabber [1] ) — открытый протокол связи, разработанный для обмена мгновенными сообщениями (IM), информации о присутствии и ведения списка контактов . [2] Основанный на XML (Extensible Markup Language), он обеспечивает обмен структурированными данными между двумя или более сетевыми объектами в режиме , близком к реальному времени . [3] Разработанный как расширяемый , протокол предлагает множество приложений за пределами традиционного обмена мгновенными сообщениями в более широкой области промежуточного программного обеспечения, ориентированного на сообщения , включая сигнализацию для VoIP , видео, передачу файлов , игр и других применений.

В отличие от большинства коммерческих протоколов обмена мгновенными сообщениями, XMPP определен в открытом стандарте на прикладном уровне . Архитектура сети XMPP похожа на электронную почту ; любой может запустить свой собственный сервер XMPP, и нет центрального главного сервера. Этот подход федеративной открытой системы позволяет пользователям взаимодействовать с другими на любом сервере, используя учетную запись пользователя «JID», похожую на адрес электронной почты. Реализации XMPP могут быть разработаны с использованием любой лицензии на программное обеспечение, и многие реализации серверов, клиентов и библиотек распространяются как бесплатное и открытое программное обеспечение . Также существуют многочисленные реализации бесплатного и коммерческого программного обеспечения .

Первоначально разработанные сообществом открытого исходного кода , протоколы были формализованы как утвержденный стандарт обмена мгновенными сообщениями в 2004 году и постоянно развивались с новыми расширениями и функциями. Различные клиентские программы XMPP доступны как на настольных компьютерах, так и на мобильных платформах и устройствах - к 2003 году протокол использовали более десяти миллионов человек по всему миру в сети, согласно XMPP Standards Foundation . [4] [ требуется обновление ]

Характеристики протокола

Децентрализация

Простая сеть XMPP с серверами jabber.org и draugr.de . Зеленые клиенты находятся в сети, желтые клиенты пишут друг другу, а маленькие зеленые субклиенты — это ресурсы одного пользователя. Коричневая сеть не подключена к Интернету. Сервер draugr.de подключен к другим службам обмена мгновенными сообщениями (ICQ, AIM и другим) через транспорты XMPP .

Архитектура сети XMPP напоминает Simple Mail Transfer Protocol (SMTP), модель клиент-сервер ; клиенты не общаются друг с другом напрямую, поскольку она децентрализована — любой может запустить сервер. По замыслу, здесь нет центрального уполномоченного сервера, как в службах обмена сообщениями, таких как AIM , WLM , WhatsApp или Telegram . В этом вопросе часто возникает некоторая путаница, поскольку в сети работает публичный сервер XMPP jabber.org, на который подписаны многие пользователи. Однако любой может запустить свой собственный сервер XMPP на своем собственном домене.

Адресация

Стандартный JID

Каждый пользователь в сети имеет уникальный адрес XMPP, называемый JID [5] (по историческим причинам адреса XMPP часто называют Jabber ID ). JID структурирован как адрес электронной почты с именем пользователя и доменным именем (или IP-адресом [6] ) для сервера, на котором находится этот пользователь, разделенные знаком ( ) @— например, « [email protected]«: здесь aliceимя пользователя и example.comсервер, на котором зарегистрирован пользователь.

Поскольку пользователь может захотеть войти из нескольких мест, он может указать ресурс . Ресурс идентифицирует конкретного клиента, принадлежащего пользователю (например, домашний, рабочий или мобильный). Это может быть включено в JID путем добавления косой черты, за которой следует имя ресурса. Например, полный JID мобильного аккаунта пользователя может быть [email protected]/mobile.

Каждый ресурс может иметь указанное числовое значение, называемое приоритетом . Сообщения, просто отправленные на , [email protected]будут отправлены клиенту с наивысшим приоритетом, но отправленные на , [email protected]/mobileбудут отправлены только мобильному клиенту. Наивысший приоритет — это тот, у которого наибольшее числовое значение.

JID без части имени пользователя также допустимы и могут использоваться для системных сообщений и управления специальными функциями на сервере. Ресурс остается необязательным и для этих JID.

Средства маршрутизации сообщений на основе логического идентификатора конечной точки (JID), а не явного IP-адреса, предоставляют возможности использования XMPP в качестве реализации сети Overlay поверх различных базовых сетей. [7]

XMPP через HTTP

Исходным и «родным» транспортным протоколом для XMPP является Transmission Control Protocol (TCP), использующий открытые потоки XML через долгоживущие соединения TCP. В качестве альтернативы транспорту TCP сообщество XMPP также разработало транспорт HTTP для веб-клиентов, а также пользователей за ограниченными брандмауэрами . В исходной спецификации XMPP мог использовать HTTP двумя способами: опрос [8] и привязка . Метод опроса, в настоящее время устаревший, по сути подразумевает, что сообщения, хранящиеся в базе данных на стороне сервера, регулярно извлекаются (и публикуются) клиентом XMPP с помощью HTTP-запросов «GET» и «POST». Метод привязки, реализованный с использованием двунаправленных потоков по синхронному HTTP ( BOSH ), [9] позволяет серверам отправлять сообщения клиентам сразу после их отправки. Эта модель push-уведомлений более эффективна, чем опрос, при котором многие опросы не возвращают новых данных.

Поскольку клиент использует HTTP, большинство брандмауэров позволяют клиентам получать и отправлять сообщения без каких-либо помех. Таким образом, в сценариях, где порт TCP, используемый XMPP, заблокирован, сервер может прослушивать обычный порт HTTP, и трафик должен проходить без проблем. Различные веб-сайты позволяют людям входить в XMPP через браузер. Кроме того, существуют открытые публичные серверы, которые прослушивают стандартные порты http (порт 80) и https (порт 443) и, следовательно, разрешают соединения из-за большинства брандмауэров. Однако зарегистрированный IANA порт для BOSH на самом деле 5280, а не 80.

Расширяемость

XMPP Standards Foundation или XSF (ранее Jabber Software Foundation) активно разрабатывает открытые расширения XMPP, так называемые XEP . [10] Однако расширения также могут быть определены любым лицом, программным проектом или организацией. Для поддержания взаимодействия общие расширения управляются XSF. Приложения XMPP за пределами IM включают: чаты , управление сетями , синдикацию контента , инструменты для совместной работы, обмен файлами , игры, удаленное управление системами и мониторинг, геолокацию , промежуточное программное обеспечение и облачные вычисления , VoIP и службы идентификации.

Благодаря своей способности поддерживать обнаружение в локальных сетевых доменах , XMPP хорошо подходит для облачных вычислений , где виртуальные машины, сети и брандмауэры в противном случае представляли бы препятствия для альтернативного обнаружения сервисов и решений на основе присутствия. Облачные вычисления и системы хранения данных полагаются на различные формы связи на нескольких уровнях, включая не только обмен сообщениями между системами для передачи состояния, но и миграцию или распределение более крупных объектов, таких как хранилища или виртуальные машины. Наряду с аутентификацией и защитой транзитных данных, XMPP может применяться на различных уровнях и может оказаться идеальным в качестве расширяемого промежуточного программного обеспечения или протокола промежуточного программного обеспечения, ориентированного на сообщения (MOM).

Текущие ограничения

На данный момент XMPP не поддерживает качество обслуживания (QoS); гарантированная доставка сообщений должна быть построена поверх уровня XMPP. Для решения этой проблемы предложено два XEP: XEP-0184 Message delivery receipts, который в настоящее время является проектом стандарта, и XEP-0333 Chat Markers, который считается экспериментальным.

Поскольку XML основан на тексте, обычный XMPP имеет более высокие сетевые издержки по сравнению с чисто бинарными решениями. Эта проблема решалась экспериментальным XEP-0322: Efficient XML Interchange (EXI) Format, где XML сериализуется эффективным бинарным способом, особенно в режиме с информацией о схеме. Этот XEP в настоящее время отложен.

Внутриполосная передача двоичных данных ограничена. Двоичные данные должны быть сначала закодированы в base64 , прежде чем их можно будет передать внутриполосно. Поэтому любой значительный объем двоичных данных (например, передача файлов ) лучше всего передавать внеполосно , используя внутриполосные сообщения для координации. Лучшим примером этого является протокол расширения Jingle XMPP, XEP-0166.

Функции

Параметры передачи файлов в чате в Conversations , XMPP-клиенте для Android

Сеансы общения «равный-равному»

Используя расширение Jingle , XMPP может предоставить открытое средство для поддержки связи между машинами или одноранговыми сетями в различных сетях. Эта функция в основном используется для IP-телефонии (VoIP).

Многопользовательский чат

XMPP поддерживает конференции с несколькими пользователями, используя спецификацию Multi-User Chat (MUC) (XEP-0045). С точки зрения обычного пользователя, это сопоставимо с Internet Relay Chat (IRC).

Безопасность и шифрование

Серверы XMPP могут быть изолированы (например, в интрасети компании ), а безопасная аутентификация ( SASL ) и шифрование «точка-точка» ( TLS ) встроены в основные спецификации XMPP.

Off-the-Record Messaging (OTR) — это расширение XMPP, позволяющее шифровать сообщения и данные. С тех пор оно было заменено лучшим расширением, multi-end-to-multi-end шифрованием ( OMEMO , XEP-0384) end-to-end шифрованием между пользователями. Это обеспечивает более высокий уровень безопасности, шифруя все данные от исходного клиента и снова расшифровывая их на целевом клиенте; оператор сервера не может расшифровать данные, которые он пересылает.

Сообщения также можно зашифровать с помощью OpenPGP , например, с помощью программы Gajim .

Обнаружение услуг

Хотя сегодня существует несколько протоколов обнаружения служб (например, zeroconf или Service Location Protocol ), XMPP обеспечивает надежную основу для обнаружения служб, находящихся локально или в сети, а также доступности этих служб (через информацию о присутствии), как указано в XEP-0030 DISCO. [11]

Подключение к другим протоколам

Алиса отправляет сообщение через сеть XMPP в транспорт ICQ. Затем сообщение направляется Бобу через сеть ICQ.

Одной из первоначальных целей разработки раннего сообщества открытого исходного кода Jabber было предоставление пользователям возможности подключаться к нескольким системам мгновенного обмена сообщениями (особенно к системам, не относящимся к XMPP) через одно клиентское приложение. Это было сделано с помощью сущностей, называемых транспортами или шлюзами, к другим протоколам мгновенного обмена сообщениями, таким как ICQ , AIM или Yahoo Messenger , а также к таким протоколам, как SMS , IRC или электронная почта . В отличие от многопротокольных клиентов , XMPP предоставляет этот доступ на уровне сервера, взаимодействуя через специальные службы шлюзов, работающие вместе с сервером XMPP. Любой пользователь может «зарегистрироваться» в одном из этих шлюзов, предоставив информацию, необходимую для входа в эту сеть, и затем может общаться с пользователями этой сети, как если бы они были пользователями XMPP. Таким образом, такие шлюзы функционируют как клиентские прокси (шлюз аутентифицируется от имени пользователя в службе, не относящейся к XMPP). В результате любой клиент, который полностью поддерживает XMPP, может получить доступ к любой сети со шлюзом без дополнительного кода в клиенте и без необходимости для клиента иметь прямой доступ к Интернету. Однако модель клиентского прокси может нарушать условия обслуживания используемого протокола (хотя такие условия обслуживания не имеют юридической силы в ряде стран), а также требует от пользователя отправки своего имени пользователя и пароля для обмена мгновенными сообщениями на сторонний сайт, который управляет транспортом (что может вызывать проблемы с конфиденциальностью и безопасностью).

Другой тип шлюза — шлюз «сервер-сервер», который позволяет развертыванию сервера без XMPP подключаться к собственным серверам XMPP с использованием встроенных функций междоменной федерации XMPP. Такие шлюзы «сервер-сервер» предлагаются несколькими программными продуктами корпоративного IM, включая:

Программное обеспечение

XMPP реализован многими клиентами, серверами и библиотеками кода. [15] Эти реализации предоставляются в соответствии с различными лицензиями на программное обеспечение.

Серверы

Существует множество программного обеспечения XMPP-серверов, среди которых наиболее известны ejabberd и Prosody .

Современные клиенты

Список друзей и многопользовательский чат в Spark [16]

Большое количество клиентского программного обеспечения XMPP существует на различных современных и устаревших платформах, включая как графические клиенты, так и клиенты на основе командной строки. Согласно веб-сайту XMPP, некоторые из самых популярных программ включают Conversations и Quicksy ( Android ), Dino ( BSD , Windows , Unix , Linux ), Converse.js (веб-браузер, Linux , Windows , macOS ), [16] Gajim ( Windows , Linux ), [16] Monal ( macOS , iOS ) и Swift.IM (macOS, Windows, Linux). В последнее время Monal был разветвлен как релиз Quicksy для iOS .

Среди других клиентов: Bombus, ChatSecure , Coccinella , Miranda NG , [16] Pidgin , Psi , [16] Tkabber , Trillian и Xabber .

Развертывание и распространение

По всему миру существуют тысячи серверов XMPP, многие из которых являются публичными, а также частными лицами или организациями, которые используют свои собственные серверы без коммерческих намерений. На многочисленных веб-сайтах представлен список публичных серверов XMPP, на которых пользователи могут зарегистрироваться (например, на веб-сайте XMPP.net).

Несколько крупных публичных служб обмена мгновенными сообщениями изначально используют или использовали XMPP, включая LiveJournal 's "LJ Talk", [17] Nimbuzz и HipChat . Различные хостинговые службы, такие как DreamHost , позволяют клиентам хостинга выбирать XMPP-сервисы наряду с более традиционными веб-сервисами и службами электронной почты. Специализированные XMPP-хостинговые службы также существуют в виде облака , так что владельцам доменов не нужно напрямую запускать свои собственные XMPP-серверы, включая Cisco Webex Connect, Chrome.pl, Flosoft.biz, i-pobox.net и hosted.im.

XMPP также используется при развертывании не-IM-сервисов, включая интеллектуальные сетевые системы, такие как приложения реагирования на спрос , промежуточное программное обеспечение, ориентированное на сообщения, а также в качестве замены SMS для обеспечения обмена текстовыми сообщениями на многих смартфонах- клиентах.

Неродные развертывания

Некоторые из крупнейших поставщиков услуг обмена сообщениями используют или использовали различные формы протоколов на основе XMPP в своих внутренних системах, не обязательно раскрывая этот факт своим конечным пользователям. [18] [19] Одним из примеров является Google , который в августе 2005 года представил Google Talk , комбинацию VoIP и IM-системы, которая использует XMPP для обмена мгновенными сообщениями и в качестве основы для протокола сигнализации передачи голоса и файлов под названием Jingle . Первоначальный запуск не включал связь между серверами ; Google включил эту функцию 17 января 2006 года. [20] Позже Google добавил функциональность видео в Google Talk, также используя протокол Jingle для сигнализации. В мае 2013 года Google объявил, что совместимость с XMPP будет исключена из Google Talk для федерации сервер-сервер, хотя он сохранит поддержку клиент-сервер. [21] С тех пор Google Talk был исключен из линейки продуктов Google.

В январе 2008 года AOL представила экспериментальную поддержку XMPP для своего сервиса AOL Instant Messenger (AIM), [22] позволяя пользователям AIM общаться с помощью XMPP. Однако в марте 2008 года эта услуга была прекращена. [ необходима цитата ] По состоянию на май 2011 года AOL предлагает ограниченную поддержку XMPP. [23]

В феврале 2010 года сайт социальной сети Facebook открыл свою функцию чата для сторонних приложений через XMPP. [24] Некоторые функции были недоступны через XMPP, и поддержка была прекращена в апреле 2014 года. [25] Аналогичным образом, в декабре 2011 года Microsoft выпустила интерфейс XMPP для своей службы Microsoft Messenger . [26] Skype , его фактический преемник, также предоставлял ограниченную поддержку XMPP. [27] Apache Wave — еще один пример. [28]

XMPP является фактическим стандартом для приватного чата на игровых платформах, таких как Origin [ 29] и PlayStation , а также на ныне прекращенных Xfire и Raptr [30] . Двумя заметными исключениями являются Steam [31] и Xbox LIVE ; оба используют собственные фирменные протоколы обмена сообщениями.

История и развитие

Логотип Jabber

Джереми Миллер начал работать над технологией Jabber в 1998 году и выпустил первую версию сервера jabberd4 января 1999 года. [32] Раннее сообщество Jabber было сосредоточено на программном обеспечении с открытым исходным кодом, в основном на сервере jabberd, но его главным результатом стала разработка протокола XMPP.

Internet Engineering Task Force (IETF) сформировала рабочую группу XMPP в 2002 году для формализации основных протоколов в качестве технологии мгновенного обмена сообщениями и присутствия IETF. Ранний протокол Jabber , разработанный в 1999 и 2000 годах, лег в основу XMPP, опубликованного в RFC 3920 и RFC 3921 в октябре 2004 года (основными изменениями во время формализации рабочей группой XMPP IETF были добавление TLS для шифрования канала и SASL для аутентификации). Рабочая группа XMPP также разработала спецификации RFC 3922 и RFC 3923. В 2011 году RFC 3920 и RFC 3921 были заменены RFC 6120 и RFC 6121 соответственно, причем RFC 6122 определял формат адреса XMPP. В 2015 году RFC 6122 был заменен RFC 7622. Помимо этих основных протоколов, стандартизированных в IETF, XMPP Standards Foundation (ранее Jabber Software Foundation) активно занимается разработкой открытых расширений XMPP.

Первым IM-сервисом на основе XMPP был Jabber.org, [16] который работал непрерывно и предлагал бесплатные аккаунты с 1999 года. [33] С 1999 года по февраль 2006 года сервис использовал jabberd в качестве своего серверного программного обеспечения, после чего он перешел на ejabberd (оба являются серверами приложений с бесплатным программным обеспечением ). В январе 2010 года сервис перешел на фирменное серверное программное обеспечение M-Link, производимое Isode Ltd. [34]

В сентябре 2008 года компания Cisco Systems приобрела компанию Jabber, Inc., создателей коммерческого продукта Jabber XCP. [35]

XMPP Standards Foundation (XSF) разрабатывает и публикует расширения XMPP посредством процесса стандартизации, основанного на протоколах расширения XMPP (XEP, ранее известных как предложения по улучшению Jabber - JEP). Особенно широко используются следующие расширения:

Интернет вещей

Такие функции XMPP, как федерация между доменами, публикация/подписка, аутентификация и ее безопасность даже для мобильных конечных точек, используются для внедрения Интернета вещей . Несколько расширений XMPP являются частью экспериментальной реализации: Формат эффективного обмена XML (EXI); [44] Данные датчиков; [45] Предоставление; [46] Управление; [47] Концентраторы; [48] Обнаружение. [49]

Эти усилия задокументированы на странице в вики XMPP, посвященной Интернету вещей [50] и в списке рассылки XMPP IoT. [51]

Спецификации и стандарты

Рабочая группа IETF XMPP подготовила серию документов Request for Comments (RFC):

Наиболее важными и наиболее широко применяемыми из этих спецификаций являются:

Конкурирующие стандарты

XMPP часто рассматривался как конкурент SIMPLE , основанного на протоколе SIP (Session Initiation Protocol ), как стандартный протокол для обмена мгновенными сообщениями и уведомлений о присутствии. [52] [53]

Расширение XMPP для многопользовательского чата [38] можно рассматривать как конкурента IRC , хотя IRC гораздо проще, имеет гораздо меньше функций и гораздо более широко используется. [ необходима цитата ]

Расширения XMPP для публикации-подписки [39] предоставляют многие из тех же функций, что и протокол расширенной очереди сообщений (AMQP).

Смотрите также

Ссылки

  1. ^ "Jabber Inc". Cisco.com . Получено 24 ноября 2012 г. .
  2. ^ Йоханссон, Лейф (18 апреля 2005 г.). "XMPP как MOM - Greater NOrdic Middleware Symposium (GNOMIS)" (PDF) . Осло: Стокгольмский университет. Архивировано из оригинала (PDF) 10 мая 2011 г.
  3. ^ Saint-Andre, P. (март 2011 г.). Extensible Messaging and Presence Protocol (XMPP): Core. IETF . doi : 10.17487/RFC6120 . RFC 6120 . Получено 4 мая 2014 г. .
  4. ^ "Jabber Instant Messaging User Base Surpasses ICQ" (пресс-релиз). XMPP Standards Foundation . 22 сентября 2003 г. Архивировано из оригинала 3 ноября 2007 г. Получено 30 ноября 2007 г.
  5. ^ XMPP Standards Foundation (3 октября 2003 г.). ""XEP-0029: Определение идентификаторов Jabber (JID)"". Расширяемый протокол обмена сообщениями и присутствия . Получено 10 ноября 2019 г. .
  6. ^ RFC6122
  7. ^ "Extensible Messaging and Presence Protocol (XMPP): Core". xmpp.org . Получено 21 сентября 2023 г. .
  8. ^ Джо Хильдебранд; Крейг Каес; Дэвид Уэйт (3 июня 2009 г.). "XEP-0025: Jabber HTTP Polling". Xmpp.org . Получено 24 ноября 2012 г. .
  9. ^ ab Ян Патерсон; Дэйв Смит; Питер Сент-Андре; Джек Моффитт (2 июля 2010 г.). "XEP-0124: Двунаправленные потоки по синхронному HTTP ([BOSH])". Xmpp.org . Получено 24 ноября 2012 г. .
  10. ^ "Спецификации". xmpp.org . XSF . стр. 1 . Получено 6 января 2017 г. .
  11. ^ «Service Discovery». 3 октября 2017 г.
  12. ^ «Lotus Sametime 7.5 взаимодействует с AIM, Google Talk», eWeek, 6 декабря 2006 г. Eweek.com
  13. ^ "Lotus поставляет шлюз для интеграции IM с AOL, Yahoo, Google", Network World, 6 декабря 2006 г. Networkworld.com Архивировано 1 ноября 2008 г. на Wayback Machine
  14. ^ "Унифицированные коммуникации: объединение коммуникаций в различных сетях", пресс-релиз Microsoft, 1 октября 2009 г. Microsoft.com Архивировано 5 января 2010 г. на Wayback Machine
  15. ^ "Клиенты". xmpp.org .
  16. ^ abcdef "XMPP Software". XMPP Org . Получено 19 сентября 2024 г.
  17. ^ "Вопрос FAQ #270-Что такое LJ Talk?". Livejournal.com. 27 сентября 2010 г. Получено 24 ноября 2012 г.
  18. ^ Ли, Дилан (3 августа 2017 г.). «Введение в Jabber/XMPP». www.dylanleigh.net . Получено 16 октября 2017 г. .
  19. ^ Rémond, Mickaël (23 февраля 2014 г.). «Whatsapp, Facebook, Erlang и обмен сообщениями в реальном времени: все началось с ejabberd». ProcessOne — Блог . Получено 17 сентября 2020 г.
  20. Берд, Гэри (17 января 2006 г.). "XMPP Federation" . Получено 30 ноября 2007 г.
  21. ^ «Мы анонсировали новый коммуникационный продукт Hangouts в мае 2013 года. Hangouts заменит Google Talk и не поддерживает XMPP». 26 мая 2015 года.
  22. ^ Дженсен, Флориан (17 января 2008 г.). "AOL adaptationing XMPP aka Jabber". Архивировано из оригинала 20 января 2008 г. Получено 17 января 2008 г.
  23. ^ "AOL XMPP Gateway". 14 мая 2011 г. Архивировано из оригинала 22 мая 2011 г. Получено 14 мая 2011 г.
  24. ^ "Facebook Chat теперь доступен везде" . Получено 11 февраля 2010 г.
  25. ^ "Chat API (устарело)" . Получено 5 июля 2015 г. .
  26. ^ Обасанджо, Дэр (14 декабря 2011 г.). «Любой может создать клиент Messenger — с открытыми стандартами доступа через XMPP». Windowsteamblog.com . Получено 24 ноября 2012 г. .
  27. ^ Рёттгерс, Янко (28 июня 2011 г.). «Skype добавляет поддержку XMPP, на очереди совместимость с IM? — Tech News and Analysis». Gigaom.com . Получено 24 ноября 2012 г.
  28. ^ "Протокол федерации Google Wave". Архивировано из оригинала 4 марта 2016 г.
  29. ^ "Игровая платформа Origin отправляет логины и сообщения в виде простого текста". Slight Future. 30 июня 2015 г. Получено 22 февраля 2016 г.
  30. ^ "Raptr мертв. Больше никаких Gaming Evolved через год после того, как AMD отказалась от приложения". Pcgamesn.com. 13 сентября 2017 г. Получено 16 октября 2020 г.
  31. ^ "libsteam.c". Github . Получено 22 февраля 2016 г. .
  32. ^ "Open Real Time Messaging System". Tech.slashdot.org. 4 января 1999 г. Получено 24 ноября 2012 г.
  33. Марсель Ганье (1 марта 2003 г.). «Разговор с шеф-поваром». Linux-журнал .
  34. ^ "Jabber.org – XMPP Server Migration". 12 августа 2009 г. Архивировано из оригинала 13 декабря 2009 г. Получено 14 декабря 2009 г.
  35. ^ "Cisco объявляет о заключении окончательного соглашения о приобретении Jabber". Архивировано из оригинала 23 декабря 2009 г. Получено 2 января 2010 г.
  36. ^ "XEP-0004: Формы данных". xmpp.org . 8 июня 2021 г.
  37. ^ "XEP-0030: Service Discovery". xmpp.org . 3 октября 2017 г.
  38. ^ ab "XEP-0045: Многопользовательский чат". xmpp.org . 4 марта 2021 г.
  39. ^ ab "XEP-0060: Publish-Subscribe". xmpp.org . 7 сентября 2021 г.
  40. ^ "XEP-0163: Протокол персональных троеборий". xmpp.org . 18 марта 2018 г.
  41. ^ "XEP-0071: XHTML-IM". xmpp.org . 8 марта 2018 г.
  42. ^ "XEP-0096: SI File Transfer". xmpp.org . 29 ноября 2017 г.
  43. ^ "XEP-0115: Возможности сущности". xmpp.org . 5 мая 2020 г.
  44. ^ "XEP-0322: Эффективный формат обмена XML (EXI)". xmpp.org . 25 января 2018 г.
  45. ^ "XEP-0323: Интернет вещей - Данные датчиков". xmpp.org . 20 мая 2017 г.
  46. ^ "XEP-0324: Интернет вещей - Подготовка". xmpp.org . 4 марта 2021 г.
  47. ^ "XEP-0325: Интернет вещей - Управление". xmpp.org . 4 марта 2021 г.
  48. ^ "XEP-0326: Интернет вещей - Концентраторы". xmpp.org . 20 мая 2017 г.
  49. ^ "XEP-0347: Интернет вещей - Discovery". xmpp.org . 3 ноября 2018 г.
  50. ^ "Технические страницы/Системы IoT". xmpp.org .
  51. ^ "Страница информации об IOT". jabber.org .
  52. ^ "XMPP поднимается, чтобы соответствовать стандарту SIMPLE", журнал Infoworld, 17 апреля 2003 г. XMPP поднимается, чтобы соответствовать стандарту SIMPLE
  53. ^ "XMPP против SIMPLE: гонка за стандарты обмена сообщениями", журнал Infoworld, 23 мая 2003 г. Infoworld.com

Внешние ссылки