XMPP

Protocolo de comunicaciones para middleware orientado a mensajes

XMPP
Protocolo de comunicación
ObjetivoMensajería instantánea
Introducción1999 ; hace 25 años ( 1999 )
Capa OSICapa de aplicación
Puerto(s)TCP 5222, 5269, 8010
RFC(s)RFC 6120 (núcleo), RFC 6121 (IM y presencia), RFC 7622 (formato de dirección), RFC 3922 (CPIM), RFC 3923 (cifrado)
Sitio webxmpp.org

El Protocolo Extensible de Mensajería y Presencia ( abreviatura XMPP , originalmente llamado Jabber [1] ) es un protocolo de comunicación abierto diseñado para mensajería instantánea (MI), información de presencia y mantenimiento de listas de contactos . [2] Basado en XML (lenguaje de marcado extensible), permite el intercambio casi en tiempo real de datos estructurados entre dos o más entidades de red. [3] Diseñado para ser extensible , el protocolo ofrece una multitud de aplicaciones más allá de la mensajería instantánea tradicional en el ámbito más amplio del middleware orientado a mensajes , incluida la señalización para VoIP , video, transferencia de archivos , juegos y otros usos.

A diferencia de la mayoría de los protocolos de mensajería instantánea comerciales, XMPP se define en un estándar abierto en la capa de aplicación . La arquitectura de la red XMPP es similar a la del correo electrónico ; cualquiera puede ejecutar su propio servidor XMPP y no hay un servidor maestro central. Este enfoque de sistema abierto federado permite a los usuarios interoperar con otros en cualquier servidor utilizando una cuenta de usuario "JID", similar a una dirección de correo electrónico. Las implementaciones de XMPP se pueden desarrollar utilizando cualquier licencia de software y muchas implementaciones de servidor, cliente y biblioteca se distribuyen como software libre y de código abierto . También existen numerosas implementaciones de software comercial y gratuito .

Originalmente desarrollados por la comunidad de código abierto , los protocolos se formalizaron como un estándar de mensajería instantánea aprobado en 2004 y se han desarrollado continuamente con nuevas extensiones y características. Varios programas cliente XMPP están disponibles tanto en plataformas y dispositivos móviles como de escritorio; en 2003, el protocolo lo usaban más de diez millones de personas en todo el mundo en la red, según la XMPP Standards Foundation . [4] [ necesita actualización ]

Características del protocolo

Descentralización

Una red XMPP simple con los servidores jabber.org y draugr.de . Los clientes verdes están en línea, los clientes amarillos se escriben entre sí y los subclientes verdes pequeños son los recursos de un usuario. La red marrón no está conectada a Internet. El servidor draugr.de está conectado a otros servicios de mensajería instantánea (ICQ, AIM y otros) a través de transportes XMPP .

La arquitectura de red XMPP recuerda al Protocolo simple de transferencia de correo (SMTP), un modelo cliente-servidor ; los clientes no se comunican directamente entre sí, ya que está descentralizado: cualquiera puede ejecutar un servidor. Por diseño, no hay un servidor central autorizado como ocurre con los servicios de mensajería como AIM , WLM , WhatsApp o Telegram . A menudo surge cierta confusión sobre este punto, ya que hay un servidor XMPP público que se ejecuta en jabber.org, al que muchos usuarios se suscriben. Sin embargo, cualquiera puede ejecutar su propio servidor XMPP en su propio dominio.

Un JID estándar

Cada usuario de la red tiene una dirección XMPP única, llamada JID [5] (por razones históricas, las direcciones XMPP a menudo se denominan Jabber ID ). El JID está estructurado como una dirección de correo electrónico con un nombre de usuario y un nombre de dominio (o dirección IP [6] ) para el servidor donde reside ese usuario, separados por un signo arroba ( @) - por ejemplo, “ [email protected]“: aquí aliceestá el nombre de usuario y example.comel servidor en el que está registrado el usuario.

Dado que un usuario puede querer iniciar sesión desde varias ubicaciones, puede especificar un recurso . Un recurso identifica un cliente particular que pertenece al usuario (por ejemplo, casa, trabajo o móvil). Esto se puede incluir en el JID añadiendo una barra seguida del nombre del recurso. Por ejemplo, el JID completo de la cuenta móvil de un usuario podría ser [email protected]/mobile.

Cada recurso puede tener especificado un valor numérico llamado prioridad . Los mensajes enviados simplemente a [email protected]irán al cliente con la prioridad más alta, pero los enviados a [email protected]/mobileirán solo al cliente móvil. La prioridad más alta es la que tiene el valor numérico más alto.

Los JID sin nombre de usuario también son válidos y pueden utilizarse para mensajes del sistema y para controlar funciones especiales del servidor. El recurso también es opcional para estos JID.

Los medios para enrutar mensajes basados ​​en un identificador de punto final lógico (JID) en lugar de una dirección IP explícita presentan oportunidades para usar XMPP como una implementación de red superpuesta sobre diferentes redes subyacentes. [7]

XMPP a través de HTTP

El protocolo de transporte original y "nativo" para XMPP es el Protocolo de Control de Transmisión (TCP), que utiliza secuencias XML abiertas sobre conexiones TCP de larga duración. Como alternativa al transporte TCP, la comunidad XMPP también ha desarrollado un transporte HTTP para clientes web, así como para usuarios detrás de cortafuegos restringidos . En la especificación original, XMPP podía utilizar HTTP de dos formas: sondeo [8] y enlace . El método de sondeo, ahora obsoleto, implica esencialmente que los mensajes almacenados en una base de datos del lado del servidor se obtienen (y publican) regularmente por un cliente XMPP mediante solicitudes HTTP 'GET' y 'POST'. El método de enlace, implementado utilizando flujos bidireccionales sobre HTTP síncrono ( BOSH ), [9] permite a los servidores enviar mensajes a los clientes tan pronto como se envían. Este modelo de envío de notificaciones es más eficiente que el sondeo, donde muchos de los sondeos no devuelven datos nuevos.

Como el cliente utiliza HTTP, la mayoría de los cortafuegos permiten a los clientes obtener y enviar mensajes sin ningún obstáculo. Por lo tanto, en situaciones en las que el puerto TCP utilizado por XMPP está bloqueado, un servidor puede escuchar en el puerto HTTP normal y el tráfico debería pasar sin problemas. Varios sitios web permiten a las personas iniciar sesión en XMPP a través de un navegador. Además, hay servidores públicos abiertos que escuchan en los puertos estándar http (puerto 80) y https (puerto 443), y por lo tanto permiten conexiones desde detrás de la mayoría de los cortafuegos. Sin embargo, el puerto registrado por la IANA para BOSH es en realidad 5280, no 80.

Extensibilidad

La XMPP Standards Foundation o XSF (anteriormente Jabber Software Foundation) está activa en el desarrollo de extensiones XMPP abiertas, llamadas XEP . [10] Sin embargo, las extensiones también pueden ser definidas por cualquier individuo, proyecto de software u organización. Para mantener la interoperabilidad, las extensiones comunes son administradas por la XSF. Las aplicaciones XMPP más allá de la mensajería instantánea incluyen: salas de chat , administración de red , sindicación de contenido , herramientas de colaboración, intercambio de archivos , juegos, control y monitoreo de sistemas remotos, geolocalización , middleware y computación en la nube , VoIP y servicios de identidad.

Basándose en su capacidad para admitir el descubrimiento en dominios de redes locales , XMPP es ideal para la computación en la nube , donde las máquinas virtuales, las redes y los cortafuegos presentarían obstáculos para el descubrimiento de servicios alternativos y las soluciones basadas en presencia. Los sistemas de computación en la nube y de almacenamiento dependen de varias formas de comunicación en múltiples niveles, que incluyen no solo la mensajería entre sistemas para transmitir el estado, sino también la migración o distribución de objetos más grandes, como el almacenamiento o las máquinas virtuales. Junto con la autenticación y la protección de datos en tránsito, XMPP se puede aplicar en una variedad de niveles y puede resultar ideal como middleware extensible o protocolo de middleware orientado a mensajes (MOM).

Limitaciones actuales

En este momento, XMPP no admite la calidad de servicio (QoS); la entrega segura de mensajes debe construirse sobre la capa XMPP. Hay dos XEP propuestos para abordar este problema: XEP-0184 Recibos de entrega de mensajes, que actualmente es un borrador de estándar, y XEP-0333 Marcadores de chat, que se considera experimental.

Dado que XML se basa en texto, el XMPP normal tiene una mayor sobrecarga de red en comparación con las soluciones puramente binarias. Este problema se estaba solucionando con el formato experimental XEP-0322: Efficient XML Interchange (EXI), en el que XML se serializa de una manera binaria eficiente, especialmente en el modo basado en esquemas. Este XEP está actualmente aplazado.

La transferencia de datos binarios en banda es limitada. Los datos binarios deben codificarse primero en base64 antes de poder transmitirse en banda. Por lo tanto, cualquier cantidad significativa de datos binarios (por ejemplo, transferencias de archivos ) se transmite mejor fuera de banda , utilizando mensajes en banda para coordinar. El mejor ejemplo de esto es el Protocolo de extensión XMPP de Jingle , XEP-0166.

Características

Opciones de transferencia de archivos en un chat en Conversaciones , un cliente XMPP para Android

Sesiones entre pares

Con la extensión llamada Jingle , XMPP puede proporcionar un medio abierto para admitir comunicaciones de máquina a máquina o de punto a punto en un conjunto diverso de redes. Esta función se utiliza principalmente para telefonía IP (VoIP).

Chat multiusuario

XMPP admite conferencias con múltiples usuarios, utilizando la especificación Multi-User Chat (MUC) (XEP-0045). Desde el punto de vista de un usuario normal, es comparable a Internet Relay Chat (IRC).

Seguridad y encriptación

Los servidores XMPP se pueden aislar (por ejemplo, en la intranet de una empresa ), y la autenticación segura ( SASL ) y el cifrado punto a punto ( TLS ) se han incorporado a las especificaciones centrales de XMPP.

Off-the-Record Messaging (OTR) es una extensión de XMPP que permite el cifrado de mensajes y datos. Desde entonces, ha sido reemplazada por una extensión mejor, el cifrado de extremo a extremo entre usuarios ( OMEMO , XEP-0384). Esto proporciona un mayor nivel de seguridad, ya que cifra todos los datos del cliente de origen y los descifra nuevamente en el cliente de destino; el operador del servidor no puede descifrar los datos que está reenviando.

Los mensajes también se pueden cifrar con OpenPGP , por ejemplo con el software Gajim .

Descubrimiento de servicios

Si bien hoy en día existen varios protocolos de descubrimiento de servicios (como zeroconf o el Protocolo de ubicación de servicios ), XMPP proporciona una base sólida para el descubrimiento de servicios que residen localmente o en una red, y la disponibilidad de estos servicios (a través de información de presencia), como se especifica en XEP-0030 DISCO. [11]

Conexión a otros protocolos

Alice envía un mensaje a través de la red XMPP al transporte ICQ. A continuación, el mensaje se envía a Bob a través de la red ICQ.

Uno de los objetivos originales de diseño de la comunidad de código abierto Jabber era permitir a los usuarios conectarse a múltiples sistemas de mensajería instantánea (especialmente sistemas que no fueran XMPP) a través de una única aplicación cliente. Esto se hacía a través de entidades llamadas transportes o pasarelas a otros protocolos de mensajería instantánea como ICQ , AIM o Yahoo Messenger , pero también a protocolos como SMS , IRC o correo electrónico . A diferencia de los clientes multiprotocolo , XMPP proporciona este acceso a nivel de servidor comunicándose a través de servicios de pasarela especiales que se ejecutan junto con un servidor XMPP. Cualquier usuario puede "registrarse" en una de estas pasarelas proporcionando la información necesaria para iniciar sesión en esa red, y luego puede comunicarse con los usuarios de esa red como si fueran usuarios XMPP. Por lo tanto, dichas pasarelas funcionan como proxies de cliente (la pasarela se autentica en nombre del usuario en el servicio que no es XMPP). Como resultado, cualquier cliente que admita completamente XMPP puede acceder a cualquier red con una pasarela sin código adicional en el cliente y sin la necesidad de que el cliente tenga acceso directo a Internet. Sin embargo, el modelo de proxy del cliente puede violar los términos de servicio del protocolo utilizado (aunque dichos términos de servicio no son legalmente exigibles en varios países) y también requiere que el usuario envíe su nombre de usuario y contraseña de mensajería instantánea al sitio de terceros que opera el transporte (lo que puede generar problemas de privacidad y seguridad).

Otro tipo de puerta de enlace es una puerta de enlace de servidor a servidor, que permite que una implementación de servidor que no sea XMPP se conecte a servidores XMPP nativos mediante las funciones de federación entre dominios integradas de XMPP. Estas puertas de enlace de servidor a servidor se ofrecen en varios productos de software de mensajería instantánea empresarial, entre los que se incluyen:

Software

XMPP se implementa en muchos clientes, servidores y bibliotecas de código. [15] Estas implementaciones se proporcionan bajo una variedad de licencias de software.

Servidores

Existen numerosos programas de servidor XMPP, algunos de los más conocidos incluyen ejabberd y Prosody .

Clientela

Lista de amigos y chat multiusuario en Spark [16]

Existe una gran cantidad de software cliente XMPP en varias plataformas modernas y tradicionales, incluidos clientes gráficos y basados ​​en línea de comandos. Según el sitio web de XMPP, algunos de los software más populares incluyen Conversations (Android), Dino (BSD, Windows, Unix, Linux), Converse.js (navegador web, Linux, Windows, macOS), [16] Gajim (Windows, Linux), [16] Monal (macOS, iOS) y Swift.IM (macOS, Windows, Linux).

Otros clientes incluyen: Bombus, ChatSecure , Coccinella , Miranda NG , [16] Pidgin , Psi , [16] Tkabber , Trillian y Xabber .


Despliegue y distribución

Existen miles de servidores XMPP en todo el mundo, muchos de ellos públicos, así como también servidores privados de particulares u organizaciones sin fines comerciales. Numerosos sitios web muestran una lista de servidores XMPP públicos en los que los usuarios pueden registrarse (por ejemplo, en el sitio web XMPP.net).

Varios servicios de mensajería instantánea públicos de gran tamaño utilizan o han utilizado XMPP de forma nativa, como "LJ Talk" de LiveJournal , [17] Nimbuzz y HipChat . Varios servicios de alojamiento, como DreamHost , permiten a los clientes de alojamiento elegir servicios XMPP junto con servicios web y de correo electrónico más tradicionales. También existen servicios de alojamiento XMPP especializados en forma de nube , de modo que los propietarios de dominios no necesitan ejecutar directamente sus propios servidores XMPP, como Cisco Webex Connect, Chrome.pl, Flosoft.biz, i-pobox.net y hosting.im.

XMPP también se utiliza en implementaciones de servicios que no son de mensajería instantánea, incluidos sistemas de redes inteligentes como aplicaciones de respuesta a la demanda , middleware orientado a mensajes y como reemplazo de SMS para proporcionar mensajería de texto en muchos clientes de teléfonos inteligentes .

Implementaciones no nativas

Algunos de los proveedores de mensajería más importantes utilizan, o han estado utilizando, varias formas de protocolos basados ​​en XMPP en sus sistemas backend sin necesariamente exponer este hecho a sus usuarios finales. [18] [19] Un ejemplo es Google , que en agosto de 2005 presentó Google Talk , una combinación de VoIP y sistema de mensajería instantánea que utiliza XMPP para mensajería instantánea y como base para un protocolo de señalización de transferencia de archivos y voz llamado Jingle . El lanzamiento inicial no incluía comunicaciones de servidor a servidor ; Google habilitó esa característica el 17 de enero de 2006. [20] Google luego agregó la funcionalidad de video a Google Talk, también utilizando el protocolo Jingle para señalización. En mayo de 2013, Google anunció que la compatibilidad con XMPP se eliminaría de Google Talk para la federación de servidor a servidor, aunque mantendría el soporte de cliente a servidor. [21] Google Talk ha sido eliminado desde entonces de la línea de productos de Google.

En enero de 2008, AOL introdujo soporte experimental para XMPP en su servicio AOL Instant Messenger (AIM), [22] lo que permitió a los usuarios de AIM comunicarse mediante XMPP. Sin embargo, en marzo de 2008, este servicio se suspendió. [ cita requerida ] A partir de mayo de 2011, AOL ofrece soporte limitado para XMPP. [23]

En febrero de 2010, el sitio de redes sociales Facebook abrió su función de chat a aplicaciones de terceros a través de XMPP. [24] Algunas funciones no estaban disponibles a través de XMPP y el soporte se abandonó en abril de 2014. [25] De manera similar, en diciembre de 2011, Microsoft lanzó una interfaz XMPP para su servicio Microsoft Messenger . [26] Skype , su sucesor de facto, también proporcionó soporte XMPP limitado. [27] Apache Wave es otro ejemplo. [28]

XMPP es el estándar de facto para el chat privado en plataformas relacionadas con juegos como Origin , [29] y PlayStation , así como las ahora discontinuadas Xfire y Raptr . [30] Dos excepciones notables son Steam [31] y Xbox LIVE ; ambas usan sus propios protocolos de mensajería propietarios .

Historia y desarrollo

Logotipo de Jabber

Jeremie Miller comenzó a trabajar en la tecnología Jabber en 1998 y lanzó la primera versión del jabberdservidor el 4 de enero de 1999. [32] La primera comunidad Jabber se centró en el software de código abierto, principalmente el servidor Jabberd, pero su principal resultado resultó ser el desarrollo del protocolo XMPP.

En 2002, el Grupo de Trabajo de Ingeniería de Internet (IETF) formó un grupo de trabajo XMPP para formalizar los protocolos básicos como una tecnología de mensajería instantánea y presencia del IETF. El protocolo Jabber inicial , desarrollado en 1999 y 2000, formó la base para XMPP, tal como se publicó en RFC 3920 y RFC 3921 en octubre de 2004 (los principales cambios durante la formalización por parte del Grupo de Trabajo XMPP del IETF fueron la adición de TLS para el cifrado de canal y SASL para la autenticación). El grupo de trabajo XMPP también produjo las especificaciones RFC 3922 y RFC 3923. En 2011, RFC 3920 y RFC 3921 fueron reemplazadas por RFC 6120 y RFC 6121 respectivamente, y RFC 6122 especifica el formato de dirección XMPP. En 2015, el RFC 6122 fue reemplazado por el RFC 7622. Además de estos protocolos centrales estandarizados en el IETF, la XMPP Standards Foundation (anteriormente Jabber Software Foundation) está activa en el desarrollo de extensiones XMPP abiertas.

El primer servicio de mensajería instantánea basado en XMPP fue Jabber.org [16] , que ha funcionado de forma continua y ha ofrecido cuentas gratuitas desde 1999 [33]. Desde 1999 hasta febrero de 2006, el servicio utilizó Jabberd como software de servidor, momento en el que migró a Ejabberd (ambos son servidores de aplicaciones de software libre ). En enero de 2010, el servicio migró al software de servidor propietario M-Link producido por Isode Ltd. [34]

En septiembre de 2008, Cisco Systems adquirió Jabber, Inc., los creadores del producto comercial Jabber XCP. [35]

La Fundación de Estándares XMPP (XSF) desarrolla y publica extensiones para XMPP a través de un proceso de estándares centrado en los Protocolos de Extensión XMPP (XEP, anteriormente conocidos como Propuestas de Mejora de Jabber - JEP). Las siguientes extensiones son especialmente utilizadas:

  • Formularios de datos [36]
  • Descubrimiento de servicios [37]
  • Chat multiusuario [38]
  • Protocolo de publicación-suscripción [39] y eventos personales [40]
  • XHTML-IM [41]
  • Transferencia de archivos [42]
  • Capacidades de la entidad [43]
  • Enlace HTTP [9]
  • Jingle para voz y video

Internet de las cosas

Las características de XMPP, como la federación entre dominios, la publicación/suscripción, la autenticación y su seguridad incluso para terminales móviles, se están utilizando para implementar la Internet de las cosas . Varias extensiones de XMPP son parte de la implementación experimental: Formato de intercambio XML eficiente (EXI); [44] Datos de sensores; [45] Aprovisionamiento; [46] Control; [47] Concentradores; [48] Descubrimiento. [49]

Estos esfuerzos están documentados en una página en la wiki de XMPP dedicada a Internet de las cosas [50] y en la lista de correo de IoT de XMPP. [51]

Especificaciones y normas

El grupo de trabajo XMPP del IETF ha elaborado una serie de documentos de solicitud de comentarios (RFC):

  • RFC 3920 (reemplazada por RFC 6120)
  • RFC 3921 (reemplazada por RFC 6121)
  • RFC 3922
  • RFC 3923
  • RFC 4622 (reemplazada por RFC 5122)
  • RFC 4854
  • RFC 4979
  • RFC 6122 (reemplazada por RFC 7622)

Las especificaciones más importantes y más ampliamente implementadas son:

  • RFC 6120, Protocolo extensible de mensajería y presencia (XMPP): núcleo , que describe la mensajería cliente-servidor mediante dos secuencias XML abiertas . Las secuencias XML constan de <presence/>, <message/> y <iq/> (información/consulta). Una conexión se autentica con la Capa de seguridad y autenticación simple (SASL) y se cifra con Seguridad de la capa de transporte (TLS).
  • RFC 6121 , Protocolo extensible de mensajería y presencia (XMPP): mensajería instantánea y presencia describe la mensajería instantánea (MI), la aplicación más común de XMPP.
  • RFC 7622, ​​Protocolo extensible de mensajería y presencia (XMPP): formato de dirección describe las reglas para las direcciones XMPP, también llamadas JabberID o JID. Actualmente, los JID utilizan PRECIS (tal como se define en RFC 7564) para el manejo de caracteres Unicode fuera del rango ASCII.

Normas en competencia

XMPP se ha considerado a menudo como un competidor de SIMPLE , basado en el Protocolo de inicio de sesión (SIP), como el protocolo estándar para mensajería instantánea y notificación de presencia. [52] [53]

La extensión XMPP para chat multiusuario [38] puede considerarse un competidor de IRC , aunque IRC es mucho más simple, tiene muchas menos funciones y se utiliza mucho más ampliamente. [ cita requerida ]

Las extensiones XMPP para publicación-suscripción [39] proporcionan muchas de las mismas características que el Protocolo avanzado de cola de mensajes (AMQP).

Véase también

Referencias

  1. ^ "Jabber Inc". Cisco.com . Consultado el 24 de noviembre de 2012 .
  2. ^ Johansson, Leif (18 de abril de 2005). "XMPP como MOM - Greater NOrdic MIddleware Symposium (GNOMIS)" (PDF) . Oslo: Universidad de Estocolmo. Archivado desde el original (PDF) el 10 de mayo de 2011.
  3. ^ Saint-Andre, P. (marzo de 2011). Protocolo extensible de mensajería y presencia (XMPP): núcleo. IETF . doi : 10.17487/RFC6120 . RFC 6120 . Consultado el 4 de mayo de 2014 .
  4. ^ "La base de usuarios de mensajería instantánea de Jabber supera a ICQ" (nota de prensa). XMPP Standards Foundation . 22 de septiembre de 2003. Archivado desde el original el 3 de noviembre de 2007. Consultado el 30 de noviembre de 2007 .
  5. ^ XMPP Standards Foundation (3 de octubre de 2003). «"XEP-0029: Definición de identificadores Jabber (JID)"». Protocolo extensible de mensajería y presencia . Consultado el 10 de noviembre de 2019 .
  6. ^ RFC 6122
  7. ^ "Protocolo de presencia y mensajería extensible (XMPP): núcleo". xmpp.org . Consultado el 21 de septiembre de 2023 .
  8. ^ Joe Hildebrand; Craig Kaes; David Waite (3 de junio de 2009). «XEP-0025: sondeo HTTP de Jabber». Xmpp.org . Consultado el 24 de noviembre de 2012 .
  9. ^ por Ian Paterson; Dave Smith; Peter Saint-Andre; Jack Moffitt (2 de julio de 2010). «XEP-0124: flujos bidireccionales a través de HTTP síncrono ([BOSH])». Xmpp.org . Consultado el 24 de noviembre de 2012 .
  10. ^ "Especificaciones". xmpp.org . XSF . p. 1 . Consultado el 6 de enero de 2017 .
  11. ^ "Descubrimiento de servicios". 3 de octubre de 2017.
  12. ^ "Lotus Sametime 7.5 interopera con AIM y Google Talk", eWeek, 6 de diciembre de 2006 Eweek.com
  13. ^ "Lotus lanza un portal para integrar mensajería instantánea con AOL, Yahoo y Google", Network World, 6 de diciembre de 2006 Networkworld.com Archivado el 1 de noviembre de 2008 en Wayback Machine
  14. ^ "Comunicaciones unificadas: unificación de las comunicaciones entre diferentes redes", comunicado de prensa de Microsoft, 1 de octubre de 2009 Microsoft.com Archivado el 5 de enero de 2010 en Wayback Machine.
  15. ^ "Clientes". xmpp.org .
  16. ^ abcdef «Software XMPP». XMPP Org . Consultado el 19 de septiembre de 2024 .
  17. ^ "Pregunta FAQ n.° 270: ¿Qué es LJ Talk?". Livejournal.com. 27 de septiembre de 2010. Consultado el 24 de noviembre de 2012 .
  18. ^ Leigh, Dylan (3 de agosto de 2017). "Introducción a Jabber/XMPP". www.dylanleigh.net . Consultado el 16 de octubre de 2017 .
  19. ^ Rémond, Mickaël (23 de febrero de 2014). «Whatsapp, Facebook, Erlang y mensajería en tiempo real: todo empezó con ejabberd». ProcessOne — Blog . Consultado el 17 de septiembre de 2020 .
  20. ^ Burd, Gary (17 de enero de 2006). «XMPP Federation» . Consultado el 30 de noviembre de 2007 .
  21. ^ "En mayo de 2013 anunciamos un nuevo producto de comunicaciones, Hangouts. Hangouts reemplazará a Google Talk y no es compatible con XMPP". 26 de mayo de 2015.
  22. ^ Jensen, Florian (17 de enero de 2008). «AOL adopta XMPP, también conocido como Jabber». Archivado desde el original el 20 de enero de 2008. Consultado el 17 de enero de 2008 .
  23. ^ "AOL XMPP Gateway". 14 de mayo de 2011. Archivado desde el original el 22 de mayo de 2011. Consultado el 14 de mayo de 2011 .
  24. ^ "El chat de Facebook ya está disponible en todas partes" . Consultado el 11 de febrero de 2010 .
  25. ^ "API de chat (obsoleta)" . Consultado el 5 de julio de 2015 .
  26. ^ Obasanjo, Dare (14 de diciembre de 2011). "Cualquiera puede crear un cliente de Messenger con acceso a estándares abiertos a través de XMPP". Windowsteamblog.com . Consultado el 24 de noviembre de 2012 .
  27. ^ Roettgers, Janko (28 de junio de 2011). "Skype añade compatibilidad con XMPP, ¿la próxima interoperabilidad con mensajería instantánea? — Noticias y análisis tecnológicos". Gigaom.com . Consultado el 24 de noviembre de 2012 .
  28. ^ "Protocolo de federación Google Wave". Archivado desde el original el 4 de marzo de 2016.
  29. ^ "La plataforma de juegos Origin envía el login y los mensajes en texto plano". Slight Future. 30 de junio de 2015. Consultado el 22 de febrero de 2016 .
  30. ^ "Raptr ha muerto. No habrá más Gaming Evolved un año después de que AMD abandonara la aplicación". Pcgamesn.com. 13 de septiembre de 2017. Consultado el 16 de octubre de 2020 .
  31. ^ "libsteam.c". Github . Consultado el 22 de febrero de 2016 .
  32. ^ "Sistema abierto de mensajería en tiempo real". Tech.slashdot.org. 4 de enero de 1999. Consultado el 24 de noviembre de 2012 .
  33. ^ Marcel Gagné (1 de marzo de 2003). "Charlando con el chef". Diario de Linux .
  34. ^ "Jabber.org – Migración de servidor XMPP". 12 de agosto de 2009. Archivado desde el original el 13 de diciembre de 2009. Consultado el 14 de diciembre de 2009 .
  35. ^ "Cisco anuncia un acuerdo definitivo para adquirir Jabber". Archivado desde el original el 23 de diciembre de 2009. Consultado el 2 de enero de 2010 .
  36. ^ "XEP-0004: Formularios de datos". xmpp.org . 8 de junio de 2021.
  37. ^ "XEP-0030: Descubrimiento de servicios". xmpp.org . 3 de octubre de 2017.
  38. ^ ab "XEP-0045: Chat multiusuario". xmpp.org . 4 de marzo de 2021.
  39. ^ ab "XEP-0060: Publicar-Suscribir". xmpp.org . 7 de septiembre de 2021.
  40. ^ "XEP-0163: Protocolo de competición personal". xmpp.org . 18 de marzo de 2018.
  41. ^ "XEP-0071: XHTML-IM". xmpp.org . 8 de marzo de 2018.
  42. ^ "XEP-0096: Transferencia de archivos SI". xmpp.org . 29 de noviembre de 2017.
  43. ^ "XEP-0115: Capacidades de la entidad". xmpp.org . 5 de mayo de 2020.
  44. ^ "XEP-0322: Formato de intercambio XML eficiente (EXI)". xmpp.org . 25 de enero de 2018.
  45. ^ "XEP-0323: Internet de las cosas: datos de sensores". xmpp.org . 20 de mayo de 2017.
  46. ^ "XEP-0324: Internet de las cosas: aprovisionamiento". xmpp.org . 4 de marzo de 2021.
  47. ^ "XEP-0325: Internet de las cosas - Control". xmpp.org . 4 de marzo de 2021.
  48. ^ "XEP-0326: Internet de las cosas - Concentradores". xmpp.org . 20 de mayo de 2017.
  49. ^ "XEP-0347: Internet de las cosas: descubrimiento". xmpp.org . 3 de noviembre de 2018.
  50. ^ "Páginas técnicas/Sistemas IoT". xmpp.org .
  51. ^ "Página de información de IoT". jabber.org .
  52. ^ "XMPP se alza para enfrentarse al estándar SIMPLE", revista Infoworld, 17 de abril de 2003 XMPP se alza para enfrentarse al estándar SIMPLE
  53. ^ "XMPP vs SIMPLE: La carrera por los estándares de mensajería", revista Infoworld, 23 de mayo de 2003 Infoworld.com
  • Sitio web oficial
Retrieved from "https://en.wikipedia.org/w/index.php?title=XMPP&oldid=1252220178"