Message Session Relay Protocol
In computer networking, the Message Session Relay Protocol (MSRP) is a protocol for transmitting a series of related instant messages in the context of a communications session. An application instantiates the session with the Session Description Protocol (SDP) over Session Initiation Protocol (SIP) or other rendezvous methods. The MSRP protocol is defined in RFC 4975. MSRP messages can also be transmitted by using intermediaries peers, by using the relay extensions defined in RFC 4976. MSRP is used in the RCS context, especially for the instant messaging, file transfer and photo sharing features. Protocol design. MSRP has  similar syntax as other IETF text based protocol such as SIP, HTTP and RTSP. Each message is either a request or a response, uses URIs, a message contains headers and a body that can carry any type of data, including binary information. Unlike SIP, MSRP is much simpler. The first 2 headers must be To-Path and From-Path and the last must be Content-Type, this significantly reduces the complexity of parsers. Messages must also end with 7 dash ('-') characters, followed by a transaction identifier which appears in the first line, these are followed by a continuation flag, which  is a single character and end of line (CRLF). This last line at the end of messages makes it rather simple to find and detect the message boundaries. MSRP is not defined for connection-less protocols, such as UDP, thus one can be certain that a response to a request would arrive on the same connection. MSRP also relies on a reliable transport layer, that is, guarantees delivery and maintains the order of the messages, which further simplifies the protocol design. An MSRP URI has a scheme (which is "msrp" or "msrps"), authority, as defined by RFC 3986, which holds  the IP/domain name and possibly the port, an optional session identifier, the transport and additional optional parameters. For example: codice_1 Usage in SIP. MSRP can be used within a SIP session: MSRP session is set up through SIP's offer-answer model. The SDP m-line media type is "message" and the protocol is either "TCP/MSRP" for MSRP over TCP and "TCP/TLS/MSRP" for MSRP over secure TLS. Furthermore, the MSRP URI is specified in a "path" attribute. A full SDP example, as provided by the RFC: The address and port are contained in the c- and  m-lines, but also in the path attribute on an a-line. Generally, other media types use the c-line and m-line to describe the address and port, but the MSRP says the path attribute is the authoritative source for MSRP.