Improving the Routing Efficiency
of SIP Instant Message
SIP即時傳訊之繞送效能研究
adviser :Quincy Wu
speaker:Wenping Zhang
date:2008.03.13
Outline
Introduction
Messaging Schemes
Page-mode
SIP/SDP
Session-mode
MSRP
SIP
Server
Message syntax
Method
SDP
Structure
Drawback
MSRP
Method
Future Work
Reference
2
Introduction 1/2
3
Introduction 2/2
4
Messaging Schemes 1/2
Page-mode messaging
That track only individual messages can be described.
Uses the SIP Method MESSAGE for transmitting data.
User 1 User 2
5
Messaging Schemes 2/2
Session-mode messaging
Messaging that is part of a "session" with a definite start and end.
The new proposed model by SIMPLE work group using MSRP Protocol.
Proxy
MSRP
User 1 User 2
6
Session Initiation Protocol (SIP)
A signaling protocol
The setup, modification, and tear-down of
multimedia sessions
SIP + SDP
Describe the session characteristics
Separate signaling and media streams
7
SIP Server
Proxy servers
Handle requests or forward requests to other
servers
Can be used for call forwarding, time-of-day
routing, or follow-me services
8
UA 1 Proxy Server UA 2
sip:server.work.com
(1) INVITE
UA2@server.work.com (2) INVITE
UA2@station1.work.com
(3) 100 Trying
(4) 180 Ringing
(5) 180 Ringing
(6) 200 OK
(7) 200 OK
(8) ACK
UA2@station1.work.com (9) ACK
UA2@station1.work.com
Connection (Media Stream)
(10) BYE
UA2@station1.work.com (11) BYE
UA2@station1.work.com
(12) 200 OK
(13) 200 OK
9
SIP Messaging Syntax
Text-based
Similar to HTTP
Disadvantage – more bandwidth consumption
SIP messages
Message = start-line
*message-header CRLF
[message-body]
10
11
SIP for Instant Messaging
The IETF working group – SIP for Instant
Messaging and Presence Leveraging
Extensions (SIMPLE)
A new SIP method –MESSAGE (RFC 3428)
This request carries the actual message in a
message body.
A MESSAGE request does not establish a SIP
dialog.
12
UA 1 Proxy Server UA 2
(1) MESSAGE
(2) MESSAGE
(3) 200 OK
(4) 200 OK
(5) MESSAGE
(6) MESSAGE
(7) 200 OK
(8) 200 OK
13
The Session Description Protocol (SDP)
The Most Common Message Body
Be session information describing the media to be
exchanged between the parties
SDP, RFC 2327 (initial publication)
SIP uses SDP in an answer/offer mode
An agreement between the two parties as to the
types of media they are willing to share
RFC 3264 (An Offer/Answer Model with SDP)
To describe how SDP and SIP should be used together
14
The Structure of SDP
SDP simply provides a format for describing session
information to potential session participants.
Text-based Protocol
The Structure of SDP
Session Level Info
Name of the session
Originator of the session
Time that the session is to be active
Media Level Info
Media type
Port number
Transport protocol
Media format
15
16
Drawback 1/2
Mary
Proxy server
Bob
17
Drawback 2/2
18
The Message Session Relay Protocol (MSRP)
MSRP is a text-based, connection-oriented protocol
for exchanging arbitrary (binary) MIME content,
especially instant messages.
The exchange is carried by some signaling protocol,
such as the Session Initiation Protocol (SIP). This
allows a communication user agent to offer a
messaging session as one of the possible media-
types in a session.
SIP can use an offer/answer model to transport the
MSRP URIs for the media in SDP.
19
Alice Bob
INVITE
INVITE sip:bob@biloxi.example.com SIP/2.0
To:
From: ;tag=786
Call-ID: 3413an89KU 200 OK
Content-Type: application/sdp
SIP/2.0 200 OK
To: ;tag=087js
c=IN IP4 atlanta.example.com
From: ;tag=786
m=message 7654 TCP/MSRP *
Call-ID: 3413an89KU
a=accept-types:text/plain
ACK
Content-Type: application/sdp
a=path:msrp://atlanta.example.com:7654/jshA7weztas;tcp
c=IN IP4 biloxi.example.com
m=message 12763 TCP/MSRP *
a=accept-types:text/plain
MSRP Session
a=path:msrp://biloxi.example.com:12763/kjhd37s2s20w2a;tcp
20
MSRP communication primitives 1/2
SEND Method
Be used to deliver a
complete message or a
chunk (a portion of a
complete message).
src: www.cs.columbia.edu/~hgs/teaching/ais/slides/sip-suthan.ppt
21
MSRP communication primitives 2/2
REPORT Method
It report on the status of
a previously sent
message, or a range of
bytes inside a message.
22
UA 1 Proxy Server UA 2
(SIP) INVITE
(SIP) INVITE
(SIP) 200 OK
(SIP) 200 OK
(SIP) ACK
(SIP) ACK
(MSRP) SEND
(MSRP) 200 OK
(MSRP) SEND
(MSRP) 200 OK
(SIP) BYE
(SIP) BYE
(SIP) 200 OK
(SIP) 200 OK
23
Future Work
Joins the MSRP mechanism in existing SIP
phone (Linux – Linphone).
How solves MSRP passes through NAT the
question?
24
Reference
RFC 3261 - SIP: Session Initiation Protocol
http://www.ietf.org/rfc/rfc3261.txt
RFC 3428 - Session Initiation Protocol (SIP) Extension for Instant Messaging
http://www.ietf.org/rfc/rfc3428.txt
RFC 2327 - SDP: Session Description Protocol
http://www.ietf.org/rfc/rfc2327.txt
RFC 3264 - An Offer/Answer Model with the Session Description Protocol (SDP)
http://www.ietf.org/rfc/rfc3264.txt
The Message Session Relay Protocol
http://www.ietf.org/rfc/rfc4975.txt
25