SIP Session Initiation Protocol Short Introduction Artur Hecker, ENST.

17
SIP Session Initiation Protocol Short Introduction Artur Hecker, ENST

Transcript of SIP Session Initiation Protocol Short Introduction Artur Hecker, ENST.

Page 1: SIP Session Initiation Protocol Short Introduction Artur Hecker, ENST.

SIP

Session Initiation Protocol

Short Introduction

Artur Hecker, ENST

Page 2: SIP Session Initiation Protocol Short Introduction Artur Hecker, ENST.

SIP: Motivation

Need for a signalization protocolNew applications with the same needs:

IP telephony, video conferencing

How can you: address the opponent? find the opponent? negotiate parameters? manage the session?

Page 3: SIP Session Initiation Protocol Short Introduction Artur Hecker, ENST.

SIP: Alternative visions

ITU-T: H.323 recommendation The first and most deployed vision Different versions since 1996 (the recent - V3) Defines the whole suite of components with the

roles, codecs, interactions, etc. HEAVY!

Megaco: MGCP Multimedia Gateway Control Protocol RFC 2705

Page 4: SIP Session Initiation Protocol Short Introduction Artur Hecker, ENST.

SIP: RFC 2543

Application-layer signaling protocol for: Session creation/modification/termination Parameter set agreement User mobility by proxying and redirecting Current location registration

SIP is: Transport layer independent Text-based and related to existent protocols

(inheritance of SMTP and HTTP elements)

Page 5: SIP Session Initiation Protocol Short Introduction Artur Hecker, ENST.

SIP: Main principles

Internet-protocol: client-serverMessages and headers follow the HTTP

and SMTP schemes Client sends requests, server answers with

state responses (HTTP-like) Addressing uses the familiar format:

sip:[email protected], transparency

Designed to be an “easy protocol”

Page 6: SIP Session Initiation Protocol Short Introduction Artur Hecker, ENST.

SIP: Components

Listen at the default port UDP/5060 Can optionally use TCP

SIP-Clients: UAC+UAS

SIP-Servers: Proxy Registration Server Redirect Server

Page 7: SIP Session Initiation Protocol Short Introduction Artur Hecker, ENST.

SIP: Simple call scenario

sip:[email protected] sip:[email protected]

UAC UAS

INVITE sip:[email protected] SIP/2.0

1

ACK sip:[email protected] SIP/2.0

SIP/2.0 200 OK2

3

BYE sip:[email protected] SIP/2.0

4

media sessionmedia session

Page 8: SIP Session Initiation Protocol Short Introduction Artur Hecker, ENST.

SIP: Messages (1)

SIP/2.0 200 OKVia: SIP/2.0/UDP rois.enst.frFrom: P. Chef <sip:[email protected]>To: <sip:[email protected]>Call-ID: [email protected]: 1 INVITEContact: sip:[email protected]: application/sdpContent-Length: …

v=0o=pauvre 14234 41322 IN IP4 …s=Je suis en vacancesc=IN IP4 travail.enst.frm=audio 6043 RTP/AVP 0 3

INVITE sip:[email protected] SIP/2.0Via: SIP/2.0/UDP rois.enst.frFrom: P. Chef <sip:[email protected]>To: M. Pauvre <sip:[email protected]>Call-ID: [email protected]: 1 INVITESubject: Venez dans mon bureauContent-Type: application/sdpContent-Length: …

v=0o=chef 5432 7654 IN IP4 10.1.1.1s=Venez dans mon bureauc=IN IP4 rois.enst.frm=audio 1050 RTP/AVP 0 3 4 5

1

2

Page 9: SIP Session Initiation Protocol Short Introduction Artur Hecker, ENST.

SIP: Messages (2)

ACK sip:[email protected] SIP/2.0Via: SIP/2.0/UDP rois.enst.frFrom: P. Chef <sip:[email protected]>To: M. Pauvre <sip:[email protected]>Call-ID: [email protected]: 1 ACK

BYE sip:[email protected] SIP/2.0Via: SIP/2.0/UDP rois.enst.frFrom: P. Chef <sip:[email protected]>To: M. Pauvre <sip:[email protected]>Call-ID: [email protected]: 2 BYE

4

3

Page 10: SIP Session Initiation Protocol Short Introduction Artur Hecker, ENST.

SIP: Methods

INVITE invitation to a session, dialogue and session updates

ACK response confirmation to INVITE

OPTIONS query the server for its possibilities

BYE release the call

CANCEL Cancel the pending request

REGISTER Registration of a new location at some registration server

Page 11: SIP Session Initiation Protocol Short Introduction Artur Hecker, ENST.

SIP: Response classes

1xx: Informational In-call-setup informational responses

2xx: Success Succeeded, done, accepted

3xx: Redirection Further action needed to complete request

4xx: Client Error Bad syntax or request can’t be fulfilled at the server

5xx: Server Error Server can’t fulfill a valid request

6xx: Global Failure The request can’t be fulfilled at any server

Page 12: SIP Session Initiation Protocol Short Introduction Artur Hecker, ENST.

SIP: Headers

Usage and meaning depend on the method Value according to syntax and current context Different categories:

general, entity, request, response end-to-end and hop-by-hop

Examples: Hide Encryption Expires Proxy-Authenticate Proxy-Authorization WWW-Authenticate

Page 13: SIP Session Initiation Protocol Short Introduction Artur Hecker, ENST.

SIP: Components: Registration & Redirect Servers

INVITE sip:[email protected]

302 Moved temporarilyContact: [email protected]:3080;transport=udp

REGISTER sip:register.enst.fr SIP/2.0Via: SIP/2.0/UDP travail.enst.frFrom: sip:[email protected]: sip:[email protected]: [email protected]: 1 REGISTERContact: <sip:[email protected]:3080;transport=udp>Expires: 3600

register

travail

enst.fr

Page 14: SIP Session Initiation Protocol Short Introduction Artur Hecker, ENST.

SIP: Components:General proxy

SIP - trapezoid

INVITE sip:[email protected]: SIP/2.0/UDP rois.enst.fr

enst.fr lip6.fr

INVITE sip:[email protected]: SIP/2.0/UDP proxy.enst.frVia: SIP/2.0/UDP rois.enst.fr

INVITE sip:[email protected]: SIP/2.0/UDP sip.lip6.frVia: SIP/2.0/UDP proxy.enst.frVia: SIP/2.0/UDP rois.enst.fr

sip

proxy

rois

mobile

Page 15: SIP Session Initiation Protocol Short Introduction Artur Hecker, ENST.

SIP: Security

Authentication Basic: clear text password Digest: challenge/response with MD5 PGP: using PK cryptography

Encryption e2e of the message body and some fields hbh entire packet encryption hbh of the Via: fields to hide the route

Page 16: SIP Session Initiation Protocol Short Introduction Artur Hecker, ENST.

SIP: Presence & Future

Problems: Dialogue and session: no clear separation, INVITE used to

adjust both states (will be changed in the new RFC) No early media (UPDATE method) Security problems: PGP hardly used, digest not proven to be

secure, basic has severe problems (S/MIME, TLS, IPSec currently widely discussed, SIP-EAP draft released)

Routing: too strict (Loose Routing proposed in the new draft) etc.

New RFC expected till the middle of March It will be the largest RFC ever released… Simple?

Page 17: SIP Session Initiation Protocol Short Introduction Artur Hecker, ENST.

SIP: more…

Handley et al., Session Initiation Protocol, RFC 2543 S. Donovan, The INFO Method for SIP, RFC 2976 IETF, SIP Working Group Charter,

http://www.ietf.org/html.charters/sip-charter.html IETF, SIPPING Working Group Charter,

http://www.ietf.org/html.charters/sipping-charter.html J. Rosenberg et al., Session Initiation Protocol,

draft-ietf-sip-rfc2543bis-09.txt A. Johnston et al., SIP Call Flow Examples,

draft-ietf-sip-call-flows-05.txt