MSRP protocol ppt presentation

Embed Size (px)

Citation preview

  • 8/6/2019 MSRP protocol ppt presentation

    1/19

    MSRP(The Message Session

    Relay Protocol)

    2007/04/02

  • 8/6/2019 MSRP protocol ppt presentation

    2/19

    2

    outline Introduction

    Applicability

    Protocol Overview

    MSRP Framing and Message Chunking

    MSRP Transaction and Report Model

    Response Code Descriptions

    References

  • 8/6/2019 MSRP protocol ppt presentation

    3/19

    3

    Introduction (1/5) This document came from draft-ietf-simple-

    message-sessions-16.

    A series of related instant messagesbetween two or more parties can be viewed

    as part of a "message session".

  • 8/6/2019 MSRP protocol ppt presentation

    4/19

    4

    Introduction (2/5) Messaging schemes that track only individual

    messages can be described as "page-mode"

    messaging, whereas messaging that is part of a"session" with a definite start and end is called"session-mode" messaging.

    UA!

    Proxy

    UA2 UA!

    Proxy

    UA2

    SIP SIP SIP SIP

    MSRP

    Page-mode Session-mode

  • 8/6/2019 MSRP protocol ppt presentation

    5/19

    5

    Introduction (3/5)

    Session-mode messaging has a number of

    benefits over page-mode messaging, suchas explicit rendezvous

    tighter integration with other media-types

    direct client-to-client operation

    security

  • 8/6/2019 MSRP protocol ppt presentation

    6/19

    6

    I

    ntroduction (4/5) This document defines a session-oriented

    instant message transport protocol called the

    Message Session Relay Protocol (MSRP). The exchange is carried by some signaling

    protocol, such as the Session Initiation

    Protocol (SIP). This allows a communicationuser agent to offer a messaging session asone of the possible media-types in a session.

  • 8/6/2019 MSRP protocol ppt presentation

    7/19

    7

    I

    ntroduction (5/5) SIP can use an offer/answer model to

    transport the MSRP URIs for the media in

    SDP.

    This document defines how the offer/answerexchange works to establish MSRP

    connections and how messages are sentacross the MSRP protocol.

  • 8/6/2019 MSRP protocol ppt presentation

    8/19

    8

    Applicability (1/2) MSRP is not designed for use as a standalone

    protocol. MSRP must be used only in thecontext of a rendezvous mechanism meeting

    the following requirements: The rendezvous mechanism MUST provide both

    MSRP URIs associated with an MSRP session toeach of the participating endpoints.

    The rendezvous mechanism MUST provide

    mechanisms for the negotiation of any supportedMSRP extensions. The rendezvous mechanism MUST be able to

    natively transport im: URIs or automatically translateim: URIs into the addressing identifiers of therendezvous protocol.

  • 8/6/2019 MSRP protocol ppt presentation

    9/19

    9

    Applicability (2/2) To use a rendezvous mechanism with

    MSRP, an RFC MUST be prepared

    describing how it exchanges MSRP URIsand meets these requirements listed here.

    This document provides such a description

    for the use of MSRP in the context of SIPand SDP.

  • 8/6/2019 MSRP protocol ppt presentation

    10/19

    10

    Protocol Overview (1/2) MSRP is a text-based, connection-oriented

    protocol for exchanging arbitrary (binary)

    MIME content, especially instant messages.

    MSRP sessions are typically arranged

    using SIP the same way a session of audioor video media is set up.

  • 8/6/2019 MSRP protocol ppt presentation

    11/19

    11

    Alice Bob

    INVITEINVITE sip:[email protected] SIP/2.0To: From: ;tag=786Call-ID: 3413an89KUContent-Type: application/sdp

    c=INIP4 atlanta.example.comm=message 7654 TCP/MSRP *a=accept-types:text/plain

    a=path:msrp://atlanta.example.com:7654/jshA7weztas;tcp

    200 OKSIP/2.0 200 OKTo: ;tag=087jsFrom: ;tag=786Call-ID: 3413an89KU

    Content-Type: application/sdp

    c=INIP4 biloxi.example.comm=message 12763 TCP/MSRP *a=accept-types:text/plaina=path:msrp://biloxi.example.com:12763/kjhd37s2s20w2a;tcp

    ACKACK sip:bob@biloxi SIP/2.0To: ;tag=087jsFrom: ;tag=786Call-ID: 3413an89KU

  • 8/6/2019 MSRP protocol ppt presentation

    12/19

    12

    Protocol Overview (2/2) MSRP defines two request types, or

    methods.

    SEND requests are used to deliver acomplete message or a chunk (a portion of acomplete message), while REPORT requestsreport on the status of a previously sentmessage, or a range of bytes inside amessage.

  • 8/6/2019 MSRP protocol ppt presentation

    13/19

    13

    MSRP a786hjs2 SENDTo-Path: msrp://biloxi.example.com:12763/kjhd37s2s20w2a;tcpFrom-Path: msrp://atlanta.example.com:7654/jshA7weztas;tcpMessage-ID: 87652491

    Byte-Range: 1-25/25Success-Report: yesFailure-Report: noContent-Type: text/plain

    Hey Bob, are you there?-------a786hjs2$

    MSRP dkei38sd REPORTTo-Path: msrp://atlanta.example.com:7654/jshA7weztas;tcpFrom-Path: msrp://biloxi.example.com:12763/kjhd37s2s20w2a;tcpMessage-ID: 87652491Byte-Range: 1-25/25Status: 000 200 OK-------a786hjs2$

    the path of URIs to the destination in the To-Path header field

    own URI in the From-Path header field

    the request with an end-line of seven hyphens, the transaction identifier and a "$" to indicate this request containsthe end of a complete message

    the Byte-Range header field identifies the portion of the message carried in this chunk and the total size of the

    message

  • 8/6/2019 MSRP protocol ppt presentation

    14/19

    14

    MSRP Framing and Message Chunking (1/2)

    Messages sent using MSRP can be very large and canbe delivered in several SEND requests, where eachSEND request contains one chunk of the overallmessage.

    There is a Byte-Range header field in the request thatindicates that the overall position of this chunk inside thecomplete message.

    The Byte-Range header field value contains a startingvalue (range-start) followed by a "-", an ending value(range-end) followed by a "/", and finally the total length. The first octet in the message has a position of one, rather than

    a zero.

  • 8/6/2019 MSRP protocol ppt presentation

    15/19

    15

    MSRP Framing and Message Chunking (2/2)

    For example, the following snippet of twoSEND requests demonstrates a message

    that contains the text "abcdEFGH" beingsent as two chunks.

    MSRP dkei38sd SEND

    Message-ID: 4564dpWdByte-Range: 1-*/8

    Content-Type: text/plain

    abcd-------dkei38sd+

    MSRP dkei38ia SEND

    Message-ID: 4564dpWdByte-Range: 5-8/8

    Content-Type: text/plain

    EFGH-------dkei38ia$

  • 8/6/2019 MSRP protocol ppt presentation

    16/19

    16

    MSRP Transaction and Report Model

    A sender sends MSRP requests to a receiver.The receiver MUST quickly accept or rejectthe request. There are two important conceptshere: first, the hop-by-hop delivery of the request may

    succeed or fail The first type of status is referred to as "transaction status" and

    may be returned in response to a request.

    second, the end result of the request may besuccessfully processed or not The second type of status is referred to as "delivery status" and

    may be returned in a REPORT transaction.

  • 8/6/2019 MSRP protocol ppt presentation

    17/19

    17

    Response Code Descriptions This summarizes the semantics of various

    response codes that may be used in the

    Status header field in REPORT requests. 200 - indicates a successful transaction

    400 - indicates a request was unintelligible

    413 - indicates that the receiver wishes thesender to stop sending the message

  • 8/6/2019 MSRP protocol ppt presentation

    18/19

    18

    References

    The Message Session Relay Protocol(draft-ietf-simple-message-sessions-16)

    draft-ietf-simple-message-sessions

  • 8/6/2019 MSRP protocol ppt presentation

    19/19

    19

    END