17
SIP Session Initiation Protocol Short Introduction Artur Hecker, ENST

SIP Session Initiation Protocol Short Introduction Artur Hecker, ENST

Embed Size (px)

Citation preview

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