Technical details of the Message Session Relay Protocol (MSRP).
- Overview:
- MSRP is a session-oriented instant message transport protocol.
- It is designed for transmitting a series of related instant messages within the context of a communication session.
- These message sessions are treated like any other media stream when set up via a rendezvous or session creation protocol, such as the Session Initiation Protocol (SIP).
- MSRP can be used not only for instant messaging but also for image sharing or file transfer.
- Key Concepts:
- MSRP Framing and Message Chunking:
- MSRP messages are divided into chunks for efficient transmission.
- Each chunk is framed with a header that includes information about the message, such as its length and content type.
- Chunks can be reassembled at the receiver to reconstruct the complete message.
- MSRP Addressing:
- MSRP uses Uniform Resource Identifiers (URIs) for addressing.
- URIs specify the location of the MSRP endpoint (e.g.,
msrp:user@example.com:12345/abcde
).
- MSRP Transaction and Report Model:
- MSRP follows a transaction model similar to HTTP.
- Requests (e.g.,
SEND
) and responses (e.g.,200 OK
) are part of transactions. - Reports (e.g., success or failure reports) provide feedback on message delivery.
- MSRP Connection Model:
- MSRP connections can be established over TCP or TLS.
- Connections are set up between MSRP endpoints (e.g., user agents or servers).
- MSRP Framing and Message Chunking:
- Using MSRP with SIP and SDP:
- SDP Connection and Media-Lines:
- MSRP sessions are negotiated using SDP (Session Description Protocol).
- SDP describes the media streams (including MSRP) in a session.
- MSRP sessions are associated with specific media lines in SDP.
- URI Negotiations:
- MSRP URIs are exchanged during session setup.
- Negotiation involves determining the MSRP endpoints and their capabilities.
- SDP Connection and Media-Lines: