¿Qué es XMPP? Resumen de sus funciones y ventajas
Con el protocolo abierto XMPP, no necesitas tu propio servicio de mensajería para comunicarte con otros usuarios. Basado en el estándar XML, XMPP permite la comunicación independiente del dispositivo y del navegador a través de un cliente XMPP y un servidor XMPP o servicios compatibles con XMPP. Gracias al cifrado seguro y a las funciones para llamadas de audio y vídeo, XMPP ofrece una alternativa flexible de chat y mensajería instantánea.
- Certificado SSL Wildcard
- Registro privado
- 1 cuenta de correo electrónico por contrato
¿Qué es XMPP?
XMPP son las siglas de “Extensible Messaging and Presence Protocol”, es decir, “Protocolo Extensible de Mensajería y Presencia”, usado para la comunicación online. Los fundamentos XMPP son el principio cliente-servidor y el estándar XML abierto, en el que un cliente XMPP en el terminal de usuario se comunica con otros participantes a través de un servidor XMPP.
La tecnología XMPP ha sido desarrollada por Jeremie Miller desde 1998. La primera versión importante de XMPP, que entonces todavía se llamaba Jabber, se publicó en el año 2000. Con un protocolo de transmisión en tiempo real basado en el estándar XML, este software de código abierto se presentó como una alternativa libre y flexible a la mensajería instantánea comercial. En 2004, Jabber se convirtió en el protocolo estándar XMPP, modificado por la IETF (Internet Engineering Task Force), que es mantenido por la XMPP Standards Foundation y estandarizado en nuevas implementaciones.
Principio de funcionamiento de XMPP
El funcionamiento de XMPP se basa en el intercambio de información entre un cliente y un servidor. Esto significa que para utilizar XMPP y establecer una conexión, se necesita primero un software cliente XMPP gratuito. Ejemplos de ello son los siguientes:
- Miranda y Gajim (Windows)
- Pidgin (Linux, Windows)
- Dino (Linux)
- Conversations (Android)
- Coccinella (iOS)
Con un cliente, puedes intercambiar mensajes, ver el estado de los participantes, utilizar chats de grupo y hacer llamadas de audio/vídeo, todo esto con servicios de mensajería y correo electrónico que sean compatibles con el protocolo XMPP. Otras funciones prácticas son el reenvío de correos electrónicos y SMS, las conexiones de transporte a otras redes de mensajería instantánea y la gestión de canales RSS. Los servidores XMPP actúan de forma similar a un servidor SMTP y a los agentes de transferencia de correo, que actúan como interfaz de comunicación para recibir y enviar mensajes entre los participantes.
Utiliza tu propio servidor seguro con un servidor dedicado de IONOS y benefíciate de un hardware empresarial no compartido, de la integración de la API y la nube y del tráfico ilimitado gratuito.
Cómo utilizar XMPP
Para utilizar XMPP, es necesario tener una cuenta con el correspondiente proveedor de XMPP. Una cuenta suele ser suficiente, ya que la comunicación se realiza a través de diferentes servidores XMPP. Para el registro, se crea un nombre de usuario y una contraseña y se recibe el llamado J-ID (Jabber Identifier), que es similar a una dirección de correo electrónico para la identificación y el direccionamiento en la red: nombredeusuario@ejemplo.com. La @ va precedida del nombre de usuario y seguida del servidor de registro correspondiente.
Con tu propio J-ID puedes iniciar sesión en el cliente correspondiente, crear una cuenta XMPP y conectarte a uno de los muchos servidores XMPP a través de tu cliente XMPP o iniciar sesión en el servidor de tu elección. Esto, a su vez, te permite conectarte con el servidor de otros participantes y establecer la comunicación. Incluso es posible implementar XMPP para intranets internas aisladas.
Funciones importantes de XMPP
El protocolo abierto XMPP ofrece las siguientes funciones a usuarios:
Mensajería instantánea entre proveedores
Con las implementaciones de XMPP, puedes enviar mensajes instantáneos independientemente del sistema operativo y del navegador y no tienes que depender de otros mensajeros instantáneos.
Peer-to-Peer
Las sesiones Peer-to-Peer son posibles con una extensión llamada Jingle, que es similar al funcionamiento del Protocolo de Iniciación de Sesión y con el que también se puede utilizar la telefonía VoIP. Otras funciones de Jingle son las conexiones mediante “Jingle Signaling” a través de las traducciones de direcciones de red (NAT), así como del protocolo de datagramas de usuario (UDP).
Llamadas de audio y vídeo
Con el cliente adecuado, también puedes comunicarte con los participantes en tiempo real a través de llamadas de audio y vídeo, de forma similar a otros servicios de mensajería.
Chats de grupo
Las conferencias y las sesiones de grupo son posibles con las especificaciones de XMPP, con el chat multiusuario, y funcionan como salas de chat o grupos de chat. Se pueden asignar roles o proteger las salas con una contraseña y hacerlas invisibles. El concepto es similar al de IRC (Internet Relay Chat).
Transportes
Los transportes XMPP ofrecen a los usuarios la posibilidad de comunicarse a través del servidor XMPP con participantes de otras redes como ICQ, IRC, Yahoo Messenger o AOL Instant Messenger sin que los usuarios de XMPP tengan que acceder directamente al servidor de terceros. Los mensajes se envían desde el servidor XMPP a los transportes XMPP y desde allí se reenvían a los servidores de otros participantes. Si el servidor de terceros es una red que no es compatible con XMPP, se requiere una cuenta en esa red y clientes XMPP que sean compatibles con Service Discovery y proporcionen comunicación con mensajeros instantáneos propietarios.
Cifrado
Por razones de seguridad, las conexiones XMPP deberían estar encriptadas, ya que pueden producirse brechas de seguridad ideales para un ataque man-in-the-middle o para el phishing al conectarse de un servidor a otro. El cifrado es posible, por ejemplo, a través de TLS (Transport Layer Security) según el principio de encriptación cliente-servidor. Sin embargo, para una seguridad óptima y el menor número de puntos de ataque posible, se recomienda una combinación de cifrado de cliente a servidor y de servidor a servidor. El nivel más alto de seguridad lo proporciona el cifrado de extremo a extremo, en el que los datos son cifrados por el cliente emisor y descifrados por el cliente receptor. En este caso, los servidores tampoco pueden descifrar los datos transmitidos. Se suele utilizar el protocolo OMEMO.
Ámbitos de aplicación de XMPP
El protocolo de código abierto XMPP sirvió de base para muchos servicios de mensajería propietarios, en parte antiguos, como Google Talk, IXQ o Yahoo Messenger, y permitió así una comunicación relativamente libre entre diferentes mensajeros. Aunque los servicios de mensajería instantánea propietarios habituales ya no ofrecen compatibilidad con XMPP/Jabber, los mensajeros como WhatsApp, Facebook Messenger o iMessage utilizan variantes del protocolo XMPP. XMPP no ha perdido en absoluto su popularidad y distribución a la vista de los miles de servidores para XMPP y los numerosos clientes especializados en XMPP.
Ventajas de XMPP
XMPP ofrece la gran ventaja de que se pueden encontrar clientes adecuados para los sistemas operativos más comunes y casi todos los lenguajes de programación son compatibles. Otra ventaja es no tener la necesidad de utilizar un software de mensajería propietario cuyas directrices poco transparentes con el uso de los datos no se ajusten a las preferencias del usuario. Además, la comunicación XMPP ofrece la posibilidad de reenviar correos electrónicos y SMS o de comunicarse con otras personas a través de vídeo, audio o telefonía IP. El cifrado de extremo a extremo puede utilizarse para una seguridad fiable.