Message Session Relay Protocol
Encyclopedia
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 Initiation Protocol
Session Initiation Protocol
The Session Initiation Protocol is an IETF-defined signaling protocol widely used for controlling communication sessions such as voice and video calls over Internet Protocol . The protocol can be used for creating, modifying and terminating two-party or multiparty sessions...

 (SIP) or other rendez-vous 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
Rich Communication Suite
Rich Communication Suite is an industry effort focused on the use of IMS for providing mobile phone communication services. "Rich Communication" in itself is meaningless jargon, which refers to the use of more than just voice for communication, but has long been touted as a benefit of IMS...

 context, especially for the Instant Messaging
Instant messaging
Instant Messaging is a form of real-time direct text-based chatting communication in push mode between two or more people using personal computers or other devices, along with shared clients. The user's text is conveyed over a network, such as the Internet...

, File Transfer
File transfer
File transfer is a generic term for the act of transmitting files over a computer network or the Internet. There are numerous ways and protocols to transfer files over a network. Computers which provide a file transfer service are often called file servers. Depending on the client's perspective the...

 and Image Sharing
Image share
Image Share is a service for sharing images between users during a mobile phone call. It has been specified for use in a 3GPP-compliant cellular network by the GSM Association in the PRD IR.79 Image Share Interoperability Specification....

 features.

Protocol design

MSRP has similar syntax as other IETF text based protocol such as SIP, HTTP
Hypertext Transfer Protocol
The Hypertext Transfer Protocol is a networking protocol for distributed, collaborative, hypermedia information systems. HTTP is the foundation of data communication for the World Wide Web....

 and RTSP
Real Time Streaming Protocol
The Real Time Streaming Protocol is a network control protocol designed for use in entertainment and communications systems to control streaming media servers. The protocol is used for establishing and controlling media sessions between end points...

. 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 be certain that a response to a request would arrive on the same connection. MSRP also relies on transport layer is reliable, 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:

msrp://atlanta.example.com:7654/jshA7weztas;tcp
  • msrp is the scheme
  • atlanta.example.com:7654 is the authority
  • jshA7weztas is the session identifier
  • tcp is the transport

Usage in SIP

MSRP can be used within a SIP
Session Initiation Protocol
The Session Initiation Protocol is an IETF-defined signaling protocol widely used for controlling communication sessions such as voice and video calls over Internet Protocol . The protocol can be used for creating, modifying and terminating two-party or multiparty sessions...

 session:
  • to do Instant Messaging
    Instant messaging
    Instant Messaging is a form of real-time direct text-based chatting communication in push mode between two or more people using personal computers or other devices, along with shared clients. The user's text is conveyed over a network, such as the Internet...

     in a one-to-one or one-to-many mode
  • to transfer file attachment
  • to do some Image Sharing
    Image share
    Image Share is a service for sharing images between users during a mobile phone call. It has been specified for use in a 3GPP-compliant cellular network by the GSM Association in the PRD IR.79 Image Share Interoperability Specification....

     based on prior exchange of capabilities between the user endpoints


MSRP session is set up through SIP's offer-answer model. The SDP m-line media type is message and the proto 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:
v=0
o=alice 2890844526 2890844527 IN IP4 alice.example.com
s= -
c=IN IP4 alice.example.com
t=0 0
m=message 7394 TCP/MSRP *
a=accept-types:text/plain
a=path:msrp://alice.example.com:7394/2s93i9ek2a;tcp

The fact that MSRP contains the address and port and at the same time the c-line holds the address and m-line contain the port is a cause for ambiguity. Generally, other media types use the c-line and m-line to describe the address, but the MSRP RFC states this information is actually specified by the MSRP path. This may cause some devices to improperly set up the session, in particular, a B2BUA may require to alter the path per each MSRP message between the different devices. To overcome this, a RFC draft changes the way devices compare the MSRP paths. Rather than comparing the entire path, only the session identifier should be compared. This approach simplifies many real life scenarios and improves the overall interoperability between devices in the network.

See also

  • SIP
    Session Initiation Protocol
    The Session Initiation Protocol is an IETF-defined signaling protocol widely used for controlling communication sessions such as voice and video calls over Internet Protocol . The protocol can be used for creating, modifying and terminating two-party or multiparty sessions...

  • IMS
    IP Multimedia Subsystem
    The IP Multimedia Subsystem or IP Multimedia Core Network Subsystem is an architectural framework for delivering Internet Protocol multimedia services. It was originally designed by the wireless standards body 3rd Generation Partnership Project , as a part of the vision for evolving mobile...

  • RCS
    Rich Communication Suite
    Rich Communication Suite is an industry effort focused on the use of IMS for providing mobile phone communication services. "Rich Communication" in itself is meaningless jargon, which refers to the use of more than just voice for communication, but has long been touted as a benefit of IMS...

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK