session initialization protocol (sip) presented by: lei luo computer & information science...

29
Session Initialization Protocol (SIP) Presented by: Lei Luo Computer & Information Science Department University of Delaware Nov. 18, 2004 Some slides are borrowed from Dorgham Sisalem’s SIP Tutorial

Upload: darrell-dawson

Post on 23-Dec-2015

214 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Session Initialization Protocol (SIP) Presented by: Lei Luo Computer & Information Science Department University of Delaware Nov. 18, 2004 Some slides

Session Initialization Protocol (SIP)

Presented by: Lei Luo

Computer & Information Science DepartmentUniversity of Delaware

Nov. 18, 2004

Some slides are borrowed from Dorgham Sisalem’s SIP Tutorial

Page 2: Session Initialization Protocol (SIP) Presented by: Lei Luo Computer & Information Science Department University of Delaware Nov. 18, 2004 Some slides

2

What Is SIP?

Phone Network

Alice

Alice’s Home Station

Bob

Page 3: Session Initialization Protocol (SIP) Presented by: Lei Luo Computer & Information Science Department University of Delaware Nov. 18, 2004 Some slides

3

What is SIP?

A signaling protocol Set up Modify Multimedia Sessions Tear down Request/deliver presence and Instant messages

Enable Internet endpoints Discover one another Agree on a characterization of a session

Page 4: Session Initialization Protocol (SIP) Presented by: Lei Luo Computer & Information Science Department University of Delaware Nov. 18, 2004 Some slides

4

What is NOT SIP?

Not a transport protocolNot a media transmission protocolNot a QoS Reservation ProtocolNot an integrated communications system

Page 5: Session Initialization Protocol (SIP) Presented by: Lei Luo Computer & Information Science Department University of Delaware Nov. 18, 2004 Some slides

5

Internet Multimedia Protocol Stack

Source: Henning Schulzrinne,http://www.cs.columbia.edu/~hgs/internet/

SCTP

Page 6: Session Initialization Protocol (SIP) Presented by: Lei Luo Computer & Information Science Department University of Delaware Nov. 18, 2004 Some slides

6

What can SIP Do?

User LocationUser AvailabilityUser CapabilitySession SetupSession Management

Page 7: Session Initialization Protocol (SIP) Presented by: Lei Luo Computer & Information Science Department University of Delaware Nov. 18, 2004 Some slides

7

What Else Can SIP Do?

Request/deliver presence information and instant message sessions: Publish and upload presence information Request delivery of presence information Notify presence and other events Transport instant messages

Page 8: Session Initialization Protocol (SIP) Presented by: Lei Luo Computer & Information Science Department University of Delaware Nov. 18, 2004 Some slides

8

Tesla Marconi

INVITE

180 Ringing

200 OK

ACK

Media Session

BYE

200 OK

Simple SIP session establishment exampleSimple SIP session establishment example

Page 9: Session Initialization Protocol (SIP) Presented by: Lei Luo Computer & Information Science Department University of Delaware Nov. 18, 2004 Some slides

9

AliceProxy Server

Bob

INVITE

180 Ringing

200 OK

ACK

Media Session

BYE

200 OK

INVITE

180 Ringing

200 OK

SIP call example with proxy serverSIP call example with proxy server

Page 10: Session Initialization Protocol (SIP) Presented by: Lei Luo Computer & Information Science Department University of Delaware Nov. 18, 2004 Some slides

10

Alice Registrar Server

REGISTERContact: sip:[email protected]

200 OK

SIP registration exampleSIP registration example

Page 11: Session Initialization Protocol (SIP) Presented by: Lei Luo Computer & Information Science Department University of Delaware Nov. 18, 2004 Some slides

11

SUBSCRIBE

200 OK

NOTIFY

200 OK

NOTIFY

200 OK

MESSAGE

200 OK

MESSAGE

200 OK

SIP presence and instant message exampleSIP presence and instant message example

Page 12: Session Initialization Protocol (SIP) Presented by: Lei Luo Computer & Information Science Department University of Delaware Nov. 18, 2004 Some slides

12

How does SIP Work?

Based on HTTP-like request/response modelText-based protocolUse the UTF-8 charsetSIP message

A request from a client to a server A response from a server to a client

Page 13: Session Initialization Protocol (SIP) Presented by: Lei Luo Computer & Information Science Department University of Delaware Nov. 18, 2004 Some slides

13

SIP User Agent (UA)

SIP-enabled end-devices Maintain states on calls

Local and remote tags Call-ID Local and remote CSeq header fields

Contain client (UAC) & server applications (UAS) Must support SDP for media description

Page 14: Session Initialization Protocol (SIP) Presented by: Lei Luo Computer & Information Science Department University of Delaware Nov. 18, 2004 Some slides

14

SIP User Agent Examples

Cisco Siemens

MIC

Page 15: Session Initialization Protocol (SIP) Presented by: Lei Luo Computer & Information Science Department University of Delaware Nov. 18, 2004 Some slides

15

Presence Agent

SIP devices Receive subscription requests Generate state notifications

Collect presence informationNeed to authenticate a subscription request

Page 16: Session Initialization Protocol (SIP) Presented by: Lei Luo Computer & Information Science Department University of Delaware Nov. 18, 2004 Some slides

16

SIP Gateway

A special type of UA Interface a SIP network to a non-SIP network

Terminate the signaling pathMay or may not terminate the media pathSupport much more users than normal UA

Page 17: Session Initialization Protocol (SIP) Presented by: Lei Luo Computer & Information Science Department University of Delaware Nov. 18, 2004 Some slides

17

SIP Networks with Gateways

InternalTelephoneExtn: 7040

SIP/PSTN Gateway

Department PBX

Web based configuration

Web server

Telephoneswitch

SQLdatabase

Proxy, redirect, registrar server

Extn: 7134

xiaotaow@cs NetMeeting

H.323

rtspd: media server

sipum: Unified messaging

Quicktime

RTSP clients

RTSP

Extn: 7136

713x

Single machine

SNMP(Network Management)

sipconf: Conference server

SIP/H.323 Gateway

Local/long distance1-212-5551212

Borrowed from Xiaotao Wu’s slides (Columbia University, 2002)

Page 18: Session Initialization Protocol (SIP) Presented by: Lei Luo Computer & Information Science Department University of Delaware Nov. 18, 2004 Some slides

18

SIP Servers SIP Workhorses

Logical Entities Accept SIP requests Respond to requests

Types of Servers Proxy Server Redirect Server Registration Server

Page 19: Session Initialization Protocol (SIP) Presented by: Lei Luo Computer & Information Science Department University of Delaware Nov. 18, 2004 Some slides

19

SIP Message Format

Generic-message= Start-line

*message-header

CRLF

[ message-body ]

Start-line= Request-Line / Status-Line

Request-Line = Method SP Request-URI SP SIP-Version CRLF

Status-Line = SIP-Version SP Status-Code SP Reason-Phase CRLF

SP – blank space

Page 20: Session Initialization Protocol (SIP) Presented by: Lei Luo Computer & Information Science Department University of Delaware Nov. 18, 2004 Some slides

20

SIP Methods Sets

Basic Methods INVITE REGISTER BYE ACK CANCEL OPTIONS

Extended Methods REFER SUBSCRIBE NOTIFY MESSAGE etc.

Page 21: Session Initialization Protocol (SIP) Presented by: Lei Luo Computer & Information Science Department University of Delaware Nov. 18, 2004 Some slides

21

SIP Response Codes

Consistent with/extend HTTP/1.1 response codes 1xx – Informational 2xx – Success 3xx – Redirection 4xx – Client error 5xx – Server failure 6xx – Global Failure

600 – Busy Everywhere 603 – Decline 604 – Does Not Exist Anywhere etc.

Borrowed from HTTP

Created for SIP

Page 22: Session Initialization Protocol (SIP) Presented by: Lei Luo Computer & Information Science Department University of Delaware Nov. 18, 2004 Some slides

22

SIP Registration Server

Alice Registrar ServerSIP/2.0 200 OKVia: SIP/2.0/UDP 128.175.13.50:5060; branch=z9hG4bKus19To: Alice <sip:[email protected]>From: Alice <sip:[email protected]>;tag=3431Call-ID: [email protected]: 1 REGISTERContact: <sip:[email protected]>;expires=3600Content-Length: 0

REGISTER sip:registrar.udel.eduVia: SIP/2.0/UDP 128.175.13.50:5060; branch=z9hG4bKus19Max-Forwards: 70To: Alice <sip:[email protected]>From: Alice <sip:[email protected]>;tag=3431Call-ID: [email protected]: 1 REGISTERContact: sip:[email protected]: 0

Page 23: Session Initialization Protocol (SIP) Presented by: Lei Luo Computer & Information Science Department University of Delaware Nov. 18, 2004 Some slides

23

SIP Proxy Server

Alice Bob

Outbound proxy server

Inbound proxy server

Location server

DNS server

Media (RTP)

INVITE sip:[email protected] SIP/2.0Via: SIP/2.0/UDP 100.101.102.103:5060; branch=z9hG4bKmp17aTo: Bob <sip:[email protected]>From: Alice <sip:[email protected]>;tag=42Subject: Where are you exactly?Contact: <sip:[email protected]>

INVITE sip:[email protected] SIP/2.0Via: SIP/2.0/UDP proxy.yahoo.com:5060; branch=z9hG4bKtiop3Via: SIP/2.0/UDP proxy.udel.com:5060; branch=z9hG4bK83842.1Via: SIP/2.0/UDP 100.101.102.103:5060; branch=z9hG4bKmp17aTo: Bob <sip:[email protected]>From: Alice <sip:[email protected]>;tag=42Subject: Where are you exactly?Contact: <sip:[email protected]>100 Trying

100 Trying

180 Ringing

180 Ringing

180 Ringing

200 OK

200 OK

200 OK

ACKBYE

200 OK

INVITE sip:[email protected] SIP/2.0Via: SIP/2.0/UDP proxy.udel.com:5060; branch=z9hG4bK83842.1Via: SIP/2.0/UDP 100.101.102.103:5060; branch=z9hG4bKmp17aTo: Bob <sip:[email protected]>From: Alice <sip:[email protected]>;tag=42Subject: Where are you exactly?Contact: <sip:[email protected]>

SIP Trapezoid

Page 24: Session Initialization Protocol (SIP) Presented by: Lei Luo Computer & Information Science Department University of Delaware Nov. 18, 2004 Some slides

24

SIP Proxy Server

INVITE Bob

Alice

Bob’s voicemail

Bob’s Phone

INVITE Bob

486 Busy Here

INVITE Bob

Proxy servers can make flexible “routing decisions” to decide where to send a request.

Page 25: Session Initialization Protocol (SIP) Presented by: Lei Luo Computer & Information Science Department University of Delaware Nov. 18, 2004 Some slides

25

SIP Proxy Server

INVITE Bob

Alice

Bob’s Cell PhoneINVITE Bob

INVITE Bob

Bob’s Office Phone

INVITE Bob

Bob’s Home Phone

In parallel search, a proxy issues several requests to possible user locations upon receiving an incoming request.

200 OK

200 OKCANCEL

CANCEL

Page 26: Session Initialization Protocol (SIP) Presented by: Lei Luo Computer & Information Science Department University of Delaware Nov. 18, 2004 Some slides

26

SIP Redirect Server

INVITE sip:[email protected] SIP/2.0Via: SIP/2.0/UDP 100.101.102.103:5060; branch=z9hG4bKmp17aTo: Bob <sip:[email protected]>From: Alice <sip:[email protected]>;tag=42Subject: Where are you exactly?Contact: <sip:[email protected]>

Alice

Bob

Redirect Server

SIP/2.0 302 Moved TemporarilyVia: SIP/2.0/UDP 100.101.102.103:5060; branch=z9hG4bKmp17aTo: Bob <sip:[email protected]>;tag=64From: Alice <sip:[email protected]>;tag=42Subject: Where are you exactly?Contact: sip:[email protected]

INVITE sip:[email protected] SIP/2.0Via: SIP/2.0/UDP 100.101.102.103:5060; branch=z9hG4bKmp17aTo: Bob <sip:[email protected]>From: Alice <sip:[email protected]>;tag=13473Subject: Where are you exactly?Contact: <sip:[email protected]>

Page 27: Session Initialization Protocol (SIP) Presented by: Lei Luo Computer & Information Science Department University of Delaware Nov. 18, 2004 Some slides

27

That’s It!

We have learned a lot about SIP!!

Did we really learn a lot of stuff about SIP?

No Way!!!

Then what are we gonna do?

Page 28: Session Initialization Protocol (SIP) Presented by: Lei Luo Computer & Information Science Department University of Delaware Nov. 18, 2004 Some slides

28

Key References

J. Rosenberg, SIP: Session Initialization Protocol, RFC 3261, 2002

A. Johnston, SIP: Understanding the Session Initialization Protocol, 2nd edition

J. Kuthan and D. Sisalem, SIP Tutorial http://iptel.org/sip/

SIP web site: http://www.cs.columbia.edu/sip/

Page 29: Session Initialization Protocol (SIP) Presented by: Lei Luo Computer & Information Science Department University of Delaware Nov. 18, 2004 Some slides

Questions?