SIP Session Initiation Protocol Short Introduction Artur Hecker, ENST
SIP: Motivation Need for a signalization protocol New 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-server Messages and headers follow the HTTP and SMTP schemes Client sends requests, server answers with state responses (HTTP-like) Addressing uses the familiar format: Simplicity, 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 UACUAS INVITE SIP/2.0 1 ACK SIP/2.0 SIP/ OK 2 3 BYE SIP/2.0 4 media session
SIP: Messages (1) SIP/ OK Via: SIP/2.0/UDP rois.enst.fr From: P. Chef To: Call-ID: CSeq: 1 INVITE Contact: Content-Type: application/sdp Content-Length: … v=0 o=pauvre IN IP4 … s=Je suis en vacances c=IN IP4 travail.enst.fr m=audio 6043 RTP/AVP 0 3 INVITE SIP/2.0 Via: SIP/2.0/UDP rois.enst.fr From: P. Chef To: M. Pauvre Call-ID: CSeq: 1 INVITE Subject: Venez dans mon bureau Content-Type: application/sdp Content-Length: … v=0 o=chef IN IP s=Venez dans mon bureau c=IN IP4 rois.enst.fr m=audio 1050 RTP/AVP
SIP: Messages (2) ACK SIP/2.0 Via: SIP/2.0/UDP rois.enst.fr From: P. Chef To: M. Pauvre Call-ID: CSeq: 1 ACK BYE SIP/2.0 Via: SIP/2.0/UDP rois.enst.fr From: P. Chef To: M. Pauvre Call-ID: CSeq: 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 302 Moved temporarily Contact: REGISTER sip:register.enst.fr SIP/2.0 Via: SIP/2.0/UDP travail.enst.fr From: To: Call-ID: CSeq: 1 REGISTER Contact: Expires: 3600 register travail enst.fr
SIP: Components: General proxy SIP - trapezoid INVITE Via: SIP/2.0/UDP rois.enst.fr enst.fr lip6.fr INVITE Via: SIP/2.0/UDP proxy.enst.fr Via: SIP/2.0/UDP rois.enst.fr INVITE Via: SIP/2.0/UDP sip.lip6.fr Via: SIP/2.0/UDP proxy.enst.fr Via: 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, IETF, SIPPING Working Group Charter, 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