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

Post on 23-Dec-2015

214 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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

2

What Is SIP?

Phone Network

Alice

Alice’s Home Station

Bob

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

4

What is NOT SIP?

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

5

Internet Multimedia Protocol Stack

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

SCTP

6

What can SIP Do?

User LocationUser AvailabilityUser CapabilitySession SetupSession Management

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

8

Tesla Marconi

INVITE

180 Ringing

200 OK

ACK

Media Session

BYE

200 OK

Simple SIP session establishment exampleSimple SIP session establishment example

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

10

Alice Registrar Server

REGISTERContact: sip:alice@128.175.13.16

200 OK

SIP registration exampleSIP registration example

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

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

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

14

SIP User Agent Examples

Cisco Siemens

MIC

15

Presence Agent

SIP devices Receive subscription requests Generate state notifications

Collect presence informationNeed to authenticate a subscription request

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

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)

18

SIP Servers SIP Workhorses

Logical Entities Accept SIP requests Respond to requests

Types of Servers Proxy Server Redirect Server Registration Server

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

20

SIP Methods Sets

Basic Methods INVITE REGISTER BYE ACK CANCEL OPTIONS

Extended Methods REFER SUBSCRIBE NOTIFY MESSAGE etc.

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

22

SIP Registration Server

Alice Registrar ServerSIP/2.0 200 OKVia: SIP/2.0/UDP 128.175.13.50:5060; branch=z9hG4bKus19To: Alice <sip:alice@eecis.udel.edu>From: Alice <sip:alice@eecis.udel.edu>;tag=3431Call-ID: 23@128.175.13.50CSeq: 1 REGISTERContact: <sip:alice@128.175.13.50>;expires=3600Content-Length: 0

REGISTER sip:registrar.udel.eduVia: SIP/2.0/UDP 128.175.13.50:5060; branch=z9hG4bKus19Max-Forwards: 70To: Alice <sip:alice@eecis.udel.edu>From: Alice <sip:alice@eecis.udel.edu>;tag=3431Call-ID: 23@128.175.13.50CSeq: 1 REGISTERContact: sip:alice@128.175.13.50Content-Length: 0

23

SIP Proxy Server

Alice Bob

Outbound proxy server

Inbound proxy server

Location server

DNS server

Media (RTP)

INVITE sip:bob@yahoo.com SIP/2.0Via: SIP/2.0/UDP 100.101.102.103:5060; branch=z9hG4bKmp17aTo: Bob <sip:bob@yahoo.com>From: Alice <sip:alice@udel.edu>;tag=42Subject: Where are you exactly?Contact: <sip:alice@pc.udel.edu>

INVITE sip:bob@yahoo.com 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:bob@yahoo.com>From: Alice <sip:alice@udel.edu>;tag=42Subject: Where are you exactly?Contact: <sip:alice@pc.udel.edu>100 Trying

100 Trying

180 Ringing

180 Ringing

180 Ringing

200 OK

200 OK

200 OK

ACKBYE

200 OK

INVITE sip:bob@yahoo.com 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:bob@yahoo.com>From: Alice <sip:alice@udel.edu>;tag=42Subject: Where are you exactly?Contact: <sip:alice@pc.udel.edu>

SIP Trapezoid

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.

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

26

SIP Redirect Server

INVITE sip:bob@yahoo.com SIP/2.0Via: SIP/2.0/UDP 100.101.102.103:5060; branch=z9hG4bKmp17aTo: Bob <sip:bob@yahoo.com>From: Alice <sip:alice@udel.edu>;tag=42Subject: Where are you exactly?Contact: <sip:alice@pc.udel.edu>

Alice

Bob

Redirect Server

SIP/2.0 302 Moved TemporarilyVia: SIP/2.0/UDP 100.101.102.103:5060; branch=z9hG4bKmp17aTo: Bob <sip:bob@yahoo.com>;tag=64From: Alice <sip:alice@udel.edu>;tag=42Subject: Where are you exactly?Contact: sip:alice@200.201.202.203ACK

INVITE sip:bob@200.201.202.203 SIP/2.0Via: SIP/2.0/UDP 100.101.102.103:5060; branch=z9hG4bKmp17aTo: Bob <sip:bob@yahoo.com>From: Alice <sip:alice@udel.edu>;tag=13473Subject: Where are you exactly?Contact: <sip:alice@pc.udel.edu>

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?

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/

Questions?

top related