Microsoft Notification Protocol

Microsoft Notification Protocol (MSNP) fue un protocolo de mensajería instantánea creado por Microsoft para su propia red de mensajería y es usado tanto por Windows Live Messenger (y su antecesor MSN Messenger), el cliente oficial de Microsoft, como por otros clientes de mensajería tales como el Pidgin, Kopete, aMSN y emesene entre otros.

Desde sus primeras versiones, este protocolo ha sufrido una serie de transformaciones en las que se ha modificado su sintaxis y se han añadido/eliminado comandos. Cada uno de estos cambios se reflejan en una versión del protocolo y se representan por la cadena 'MSNP' seguida del número de la versión.

En un principio, Microsoft pensaba hacer público este protocolo. Incluso publicaron un Internet Draft donde especificaban MSNP2, pero desde entonces no han vuelto a publicar las actualizaciones del protocolo y actualmente es un protocolo cerrado.

Formato de los mensajes

Los comandos usados en MSNP están codificados como cadenas ASCII y están estructurados de la siguiente forma:

MSG [trID] par1 par2 ... parN [tamPayload] \r\n [payload]

Donde MSG puede ser una cadena de 3 letras en mayúsculas que representan un comando o un número de 3 cifras que representa un código de error. A este cadena le puede seguir un Transaction ID (TrID) que se utiliza para asociar un mensaje enviado por el cliente a su correspondiente respuesta por parte del servidor. Posteriormente se incluyen cada uno de los parámetros requeridos por el comando separados por espacios en blanco y finalizados por un salto de línea al estilo DOS (\r\n, CRLF).

El payload es usado por algunos comandos para enviar datos binarios. Para hacer esto se incluye el tamaño en bytes del payload como el último parámetro del comando y posteriormente se incluye el payload justo después del salto de línea.

Other Languages