SIP Session Initiation Protocol Short Introduction Artur Hecker, ENST.
-
Upload
magdalene-lucas -
Category
Documents
-
view
221 -
download
1
Transcript of SIP Session Initiation Protocol Short Introduction Artur Hecker, ENST.
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?
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
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)
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”
SIP: Components
Listen at the default port UDP/5060 Can optionally use TCP
SIP-Clients: UAC+UAS
SIP-Servers: Proxy Registration Server Redirect Server
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
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
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
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
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
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
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
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
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
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?
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