En redes informáticas, el Protocolo de retransmisión de sesiones de mensajes ( MSRP ) es un protocolo para transmitir una serie de mensajes instantáneos relacionados en el contexto de una sesión de comunicaciones. Una aplicación crea una instancia de la sesión con el Protocolo de descripción de sesión (SDP) a través del Protocolo de inicio de sesión (SIP) u otros métodos de encuentro .
El protocolo MSRP se define en RFC 4975. [1] Los mensajes MSRP también se pueden transmitir mediante pares intermediarios, utilizando las extensiones de retransmisión definidas en RFC 4976. [2]
MSRP se utiliza en el contexto de RCS , especialmente para las funciones de mensajería instantánea , transferencia de archivos y uso compartido de fotografías .
La sintaxis MSRP es similar a otros protocolos basados en texto IETF como SIP, HTTP y RTSP .
MSRP requiere una capa de transporte confiable, como TCP . Cada mensaje es una solicitud o una respuesta y utiliza URI ; un mensaje contiene encabezados y un cuerpo que puede llevar cualquier tipo de datos, incluida información binaria.
Los dos primeros encabezados deben ser To-Path y From-Path y el último debe ser Content-Type; esto reduce significativamente la complejidad de los analizadores. Los mensajes también deben terminar con 7 caracteres de guión ('-'), seguidos de un identificador de transacción que aparece en la primera línea; estos van seguidos de un indicador de continuación, que es un solo carácter y final de línea (CRLF). Esta última línea al final de los mensajes hace que sea bastante sencillo encontrar y detectar los límites de los mensajes.
Una URI MSRP tiene un esquema (que es "msrp" o "msrps"), una autoridad, tal como se define en RFC 3986, que contiene el nombre de dominio/IP y posiblemente el puerto, un identificador de sesión opcional, el transporte y parámetros opcionales adicionales. Por ejemplo:
msrp://atlanta.example.com:7654/jshA7weztas;tcp
msrp
¿es el esquema?atlanta.example.com:7654
es la autoridadjshA7weztas
es el identificador de la sesióntcp
es el transporteMSRP se puede utilizar dentro de una sesión SIP :
La sesión MSRP se configura a través del modelo de oferta-respuesta [3] de SIP . El tipo de medio de la línea m de SDP es mensaje y el protocolo es TCP/MSRP para MSRP sobre TCP y TCP/TLS/MSRP para MSRP sobre TLS seguro. Además, el URI de MSRP se especifica en un atributo de ruta .
Un ejemplo completo de SDP, según lo proporcionado por el RFC:
v=0o=alicia 2890844526 2890844527 IN IP4 alice.ejemplo.comes= -c=IN IP4 alice.ejemplo.comt=0 0m=mensaje 7394 TCP/MSRP *a=aceptar-tipos:texto/sin formatoa=ruta:msrp://alice.ejemplo.com:7394/2s93i9ek2a;tcp
La dirección y el puerto están contenidos en las líneas c y m, pero también en el atributo path de una línea a. Generalmente, otros tipos de medios utilizan la línea c y la línea m para describir la dirección y el puerto, pero la sección 8.1 de MSRP RFC 4975 dice que el atributo path es la fuente autorizada para MSRP.