Protocolo extensible de mensajería y presencia Logotipo del protocolo XMPP.
Función | Mensajería instantánea |
---|---|
Acrónimo | XMPP |
Fecha de creación | 1999 |
Puerto | 5222 (cliente - servidor) y 5269 (servidor - servidor) |
RFC | RFC 6120 - RFC 6121 - RFC 6122 - RFC 3922 - RFC 3923 |
El Protocolo extensible de mensajería y presencia (que se puede traducir por "protocolo extensible de presencia y mensajería"), a menudo abreviado comoXMPP, es un conjunto deprotocolos estándar abiertosdel Grupo de trabajo de ingeniería de Internet (IETF) paramensajería instantáneay, en general, un Arquitectura de intercambio de datos descentralizado. XMPP es también un sistema de colaboración e intercambio multimedia casi en tiempo real a través de su extensiónJingle, del cual lavoz sobre IP(telefonía por Internet), lavideoconferenciay el intercambio de archivos son ejemplos de aplicaciones.
XMPP está compuesto por un protocolo TCP / IP basado en una arquitectura cliente-servidor que permite intercambios descentralizados de mensajes instantáneos o no, entre clientes, en formato Extensible Markup Language (XML). XMPP está en constante y abierto desarrollo dentro del IETF .
Los servidores pueden ser privados ( intranet ) o públicos, es decir vinculados a otros servidores públicos a través de Internet (como en Facebook ). Todos los servidores públicos crean, lo que se llama, la red Jabber (o la red XMPP).
Por tanto, XMPP es utilizado en todo el mundo por cientos de servidores públicos y privados y millones de usuarios. Muchos jugadores industriales usan XMPP, como Apple , Cisco , Gizmo5 , GNOME , Google , IBM , Oracle Corporation , etc.
El protocolo XMPP se divide en dos partes diferentes:
XMPP está diseñado de manera más amplia y abierta que la mensajería instantánea patentada y popular. Por lo tanto, es utilizado por empresas y administraciones en el contexto de intercambios de datos entre aplicaciones ( ETL , EAI , ESB ) dentro de los sistemas de información, pero también en el contexto de la computación en red , notificaciones de alerta o supervisión de información, sistemas y redes , o computación en la nube. . Finalmente, XMPP también se utiliza en el campo del intercambio y la colaboración casi en tiempo real, como la pizarra interactiva (TBI) o la edición y el desarrollo colaborativo, pero también los juegos en Internet (especialmente los juegos de cartas). Y plateau).
Fue en 1998 cuando Jeremie Miller inventó Jabber, un protocolo de mensajería instantánea basado en XML . Su trabajo se inspiró en ICQ , creado en 1996, el primer sistema de este tipo.
En enero de 1999, anunció públicamente en Slashdot “una completa plataforma informática de código abierto para mensajería instantánea con comunicación transparente a otros sistemas de mensajería instantánea (mensajería instantánea)”. Se diseñó el protocolo, así como un servidor funcional ( jabberd ) y clientes de prueba (WinJab y Gabber).
En agosto de 1999, Jeremie Miller pidió la estandarización del protocolo por parte del IETF para promover estándares abiertos e interoperabilidad. El IMPP WG se creó y publicó en febrero de 2000 las RFC 2778 y 2779, pero no llegó a un consenso.
El servidor jabberd 1.0 de código abierto fue lanzado en mayo de 2000 y estabiliza el protocolo. En junio, Jeremie Miller publica un borrador de Internet, pero la fecha límite ha pasado. La versión 1.2 de jabberd introdujo el dialback que previene el robo de identidades de servidor.
La Jabber Software Foundation se creó en agosto de 2001 para coordinar el creciente número de desarrolladores y empresas de código abierto que adoptan tecnologías Jabber, así como para gestionar la documentación, la creación y el mantenimiento de protocolos XML.
En 2002, los borradores de Internet se envían nuevamente al IETF como XMPP Core y XMPP IM, y se crea un XMPP WG.
El RFC 3920 XMPP Core y XMPP-IM 3921 y el RFC 3922 y 3923 CPIM E2E se aceptan en octubre de 2004.
En 2007, JSF se convirtió en XSF para XMPP Standards Foundation y ofreció servicios de autoridad intermediaria de certificación TLS / SSL.
Apple introdujo la compatibilidad con Jabber en su software de mensajería iChat que seenvió con OS X Tiger en mayo de 2005.
Google de 2005 a 2013La empresa Google lanzó Google Talk en agosto de 2005, un cliente XMPP patentado vinculado a los servidores de Google. Este cliente proporciona voz (telefonía por Internet) a través del protocolo Jingle , cuyas especificaciones se publican con la biblioteca libjingle. Luego, JSF se encarga de su estandarización. Unos meses más tarde, estos servidores se abren a la red Jabber. En mayo de 2013, Google anunció su intención de abandonar XMPP a favor del protocolo propietario Google+ Hangouts .
Facebook de 2008 a 2015En mayo de 2008, los desarrolladores de Facebook anunciaron soporte para XMPP para su aplicación de chat . La implementación será efectiva el 10 de febrero de 2010, sin embargo, el servidor no está conectado al resto de la red Jabber. En julio de 2015, Facebook eliminó el soporte para XMPP, lo que lo obligó a pasar por su propia API.
Pruebas de ICQ / AIM y Yahoo!En enero de 2008, AOL , entonces proveedor de software de mensajería instantánea ICQ y AIM (compatible y basado en el protocolo OSCAR ), instaló un servidor experimental que permitía la conexión a través de XMPP. Por tanto, es una base de más de 50 millones de usuarios que expande la red Jabber. En febrero de 2008, Yahoo! , propietario de Yahoo! Messenger , también anuncia interés en XMPP. Desde entonces, los servidores pueden conectarse a otros servidores XMPP.
Skype en 2011En junio de 2011, Skype anunció la creación de un conector XMPP en la versión de Windows de su software cliente en desarrollo. Sin embargo, el uso está limitado a texto y no a video / audio. Esta integración parecía apuntar a conectarse a Facebook que estaba usando XMPP .
WLM en 2011En septiembre de 2011, Microsoft anunció que Windows Live Messenger (también llamado MSN (de MicroSoft Network)) ofrecerá una forma de conectarse a su mensajería instantánea a través del protocolo XMPP utilizando el sistema de autenticación OAuth en el contexto de su nuevo sistema operativo Windows 8 y especialmente los servicios en línea asociados con él. Sin embargo, la integración solo se realizará a nivel cliente-servidor, prohibiendo que las personas presentes en otros dominios XMPP (como gmail.com o jabber.org) interactúen con ellos, ya que las especificaciones conservadas son pocas.
Este anuncio fue seguido rápidamente por la integración en clientes de correo electrónico alternativos que admiten múltiples protocolos.
Puede ser interesante notar que Microsoft tiene acciones en Facebook y compró Skype en mayo de 2011
En septiembre de 2008, Cisco anunció un acuerdo para adquirir la empresa Jabber Inc. . Ni XSF, la fundación sin fines de lucro ni el protocolo XMPP se ven afectados por esta adquisición.
XMPP es el corazón de Jabber; XMPP es para Jabber lo que el Protocolo de transferencia de hipertexto (HTTP) es para la World Wide Web .
El protocolo es mantenido por XMPP Standards Foundation (anteriormente Jabber Software Foundation ) y está estandarizado por Internet Engineering Task Force (IETF) bajo el nombre XMPP.
Jeremie Miller inició el proyecto en 1998 y la primera versión pública se lanzó en mayo de 2000. El resultado principal del proyecto es jabberd , un servidor gratuito que permite que el software cliente se conecte y charle. Este servidor se utiliza para crear una red Jabber privada (detrás de un firewall ) o para unirse a otros servidores públicos federados en Internet, para charlar en línea con sus corresponsales.
Se pueden crear muchas aplicaciones Jabber:
Gracias a Jingle , la extensión multimedia de XMPP, es posible extender los streams a cualquier contenido binario: telefonía por Internet , videoconferencia , etc.
La red de usuarios de Jabber está descentralizada, lo que significa que está formada por varios servidores, conectados entre sí. Funciona de forma similar al correo electrónico : los mensajes instantáneos se transfieren de un usuario a otro a través de su servidor respectivo. Otra similitud, un usuario es identificado por un nombre de usuario y un nombre de servidor, los dos campos están separados por un signo de arroba "@". Este identificador se llama Jabber ID o más simplemente "dirección Jabber".
Por ejemplo, si un usuario [email protected] quiere comunicarse con [email protected] , el software cliente de Bob primero envía su mensaje a su servidor ( jabber.org ). Luego, el servidor de Bob se pondrá en contacto con el servidor de Gilles ( jabber.cz ) a través de Internet y le enviará el mensaje. Finalmente, el servidor jabber.cz podrá contactar con el software cliente de Gilles, si está en línea, y comunicarle el mensaje (de lo contrario, el mensaje se mantendrá pendiente en el servidor y se entregará cuando Gilles esté en línea). Obviamente, todos estos pasos se realizan de forma instantánea y transparente para el usuario, al igual que los correos electrónicos.
|
↔ |
|
← |
|
→ |
|
↔ |
|
Una "dirección de Jabber" es el identificador de un usuario de Jabber.
Se compone de dos o tres partes:
Estos dos o tres campos se presentan como usuario @ servidor / recurso o más simplemente como usuario @ servidor , como una dirección de correo electrónico.
Por ejemplo, el usuario bob en el servidor jabber.org que usa el recurso Work tendrá la siguiente dirección Jabber:
[email protected]/Work o más simplemente [email protected] , como dirección de correo electrónico.
La lista de contactos de un usuario de Jabber se almacena en el servidor. Un usuario encontrará su lista de contactos si se conecta a Jabber en otras estaciones de trabajo o con otros clientes.
Presencia y estadosCuando un cliente de Jabber se conecta (o desconecta) a un servidor, este último anuncia automáticamente la presencia en línea (respectivamente la desconexión) del usuario a todos sus contactos.
También es posible hacerse “invisibles”: el usuario aparece desconectado a los ojos de sus corresponsales, mientras puede ver las notificaciones de presencia de sus contactos.
Hay varios estados de presencia: "en línea", "fuera de línea", "ausente", etc.
Recursos y prioridadesEl recurso es una parte opcional de una dirección Jabber. Es el último campo de este, separado de los demás por una barra ("/").
Un recurso, que el usuario puede configurar libremente en su software cliente, generalmente indica la ubicación donde se encuentra un usuario de Jabber. Por ejemplo, los valores de Hogar , Trabajo , Computadora portátil o Software son comunes. El recurso se vuelve útil cuando un usuario inicia sesión desde varias ubicaciones o con varios clientes al mismo tiempo. Sus contactos tienen entonces la opción de enviarle un mensaje a uno u otro de sus recursos, o al predeterminado, es decir, al de mayor prioridad . Si varios recursos conectados al mismo tiempo tienen la misma prioridad, el mensaje se dirige al último recurso conectado.
La prioridad es un número entero entre -128 y +127. Es opcional y configurable en la mayoría de los clientes Jabber. En caso de ausencia, el servidor considera que su prioridad es igual a 0. Su uso principal es para la entrega de mensajes destinados a una dirección Jabber sin recurso.
TransporteMuchos servidores Jabber ofrecen un servicio de transporte (también llamado pasarelas ) que permite al usuario charlar con usuarios de otros sistemas de mensajería instantánea.
El usuario puede registrarse para estos transportes proporcionando su información específica a la red de destino (por ejemplo, para ICQ , es necesario proporcionar el UIN ( Nombre de identificación de usuario ) y la contraseña). Una vez hecho esto, el usuario puede agregar contactos usando esta otra red como lo haría con un contacto usando Jabber. Actualmente, los transportes están disponibles para los protocolos más utilizados, como IRC , MSN Messenger , Yahoo! Messenger y ICQ / AOL Instant Messenger (AIM). También hay otros transportes como servicios de correo electrónico.
Al utilizar un transporte, el usuario está limitado a las capacidades del cliente y el transporte utilizado; probablemente no tendrá todas las funciones del cliente oficial de la red de destino.
Los contactos de otras redes aparecen en la lista de contactos como contactos de Jabber con direcciones específicas de Jabber: identificador @ transporte . Así por ejemplo:
Sin embargo, algunas Empresas que operan estos protocolos y servicios patentados están bloqueando o han bloqueado el acceso a importantes servidores Jabber, como jabber.org y jabber.com , en su red. Por lo tanto, esto hace que sea imposible utilizar los transportes en cuestión en estos servidores. Algunas Empresas también han modificado su protocolo, según algunos Para contrarrestar el uso de su red por parte de clientes alternativos o de transportes Jabber.
Grupos de enfoqueLos grupos de discusión o conferencias ("MUC" para " Multi User Chat " o " GroupChat ") crean conversaciones para más de dos usuarios, como canales IRC .
Es posible crear grupos públicos o privados, invitar contactos a un grupo, moderar grupos (" patear " y " prohibir " como en IRC), registrar discusiones y hacer que la sala sea persistente.
Transferencias de archivosJabber permite transferir archivos directamente entre usuarios, o mediante un proxy intermediario, con la posibilidad de interrumpir y reanudar la transferencia.
TintineoJingle permite sesiones de videoconferencia y red de voz sobre IP . Jingle se ha integrado en varios clientes de Jabber como Psi , Kopete , Spark y Pidgin desde 2008 . Fue utilizado por Google Talk hasta 2014 antes de ser reemplazado por Google Hangout .
Publicación-suscripciónSe está desarrollando y estandarizando un mecanismo de publicación-suscripción , XEP-0060; esto implica tener la capacidad de distribuir y almacenar información en los servidores Jabber, así como suscribirse a estas fuentes de noticias.
Este mecanismo puede permitir, entre otras cosas, configurar publicaciones de resúmenes y artículos, suscripciones a estos hilos, presencia extendida, marcadores compartidos, sistemas de subasta e intercambio, catálogos en línea, sistemas de flujo de trabajo , notificaciones de eventos ...
Presencia extendidaSe está desarrollando y estandarizando un mecanismo de presencia extendida , implica tener la capacidad de transmitir información dinámica relacionada con el estado del usuario, es decir, su estado de ánimo, su actividad, su geolocalización, su música que está escuchando, su perfil, su apodo, navegación web, chats grupales, juegos, videos visto, y ciertamente más por venir.
La presencia extendida se basa en una simplificación y especialización del mecanismo de publicación-suscripción.
Jingle, gracias a su amplio diseño, escalabilidad y estandarización, ofrece un amplio espectro de aplicaciones:
El protocolo XMPP (Jabber) fue publicado como un " borrador " por el IETF , para que pudiera convertirse en un estándar de mensajería instantánea.
En 2002 , se formó el grupo XMPP y trabajó en la estandarización del protocolo. Entonces, el 4 de octubre de 2005, las especificaciones del protocolo se publicaron como RFC . Desde esa fecha, XMPP Standards Foundation ha cedido el control de sus principales tecnologías al IETF mientras continúa desarrollando numerosas extensiones del protocolo (serie XEP).