SIP, Session Initiation Protocol Internet Draft, IETF, RFC 2543 Outline • • • • Introduction SIP Components SIP Role SIP Addressing, Naming, Locating, Messages • Request and Response Method • SIP Services Introduction • The Session Initiation Protocol (SIP) is an application-layer control (signaling) protocol for creating, modifying and terminating sessions with one or more participants. • Include Internet multimedia conferences, Internet telephone calls and multimedia distribution. Introduction (con’d) • Interoperability – Between Multiple Equipment Vendors • Client-Server Model • Extensibility – Text-based Encoding • Transport Independence – UDP or TCP SIP Components • User Agents – Being end systems that act on behalf of a user • Clients(UAC) to initiate a SIP request and servers(UAS) to receive the request and return responses • Servers – Proxy – Redirect – Registrar: tracking user locations SIP Role SIP Proxy MGC MEGACO/ SIP IP Network MGCP PSTN MG MGC MEGACO/ MGCP RTP MG PSTN Addressing and Naming • The entities addressed by SIP are users at hosts (SIP URL) – email-like identifier of the form user@host • Examples – sip:kehung@vc.cs.nthu.edu.tw – sip:operator@cs.columbia.edu Locating • Server – IP address – name@domain-> DNS • User – Proxy server • It can send the request in sequence or in parallel to the locations listed. – Redirect server • It can return a response with the list placed in contact headers. • Then the client can send directly to the uses location. SIP Messages • Two kinds of SIP messages – Request and Response • The generic-message format – Start-line • Method, SIP Version,... – Headers – An Empty Line • Indicating the end of the header fields – Message Body • Session Description Protocol (SDP) : Optional Header Fields • General – Apply to both request and response messages • Entity – Define information about the message body • Request – Allow the client to pass additional information about the request • Response – Allow the server to pass additional information about the response SIP Headers General-headers Entity-headers Request-headers Response-headers Call-ID Content-Encoding Accept Allow Contact Content-Length Accept-Encoding ProxyAuthentication Cseq Content-Type Accept-Language Unsupported Date Authorization Warning Encryption Hide Expires Max-Forwards From Organization Record-Route Priority To Proxy-Authentication Via Proxy-Require Require Response-Key Subject User-Agent Request Method • INVITE – The user is being invited to participate in a session. • ACK – The client has received a final response to an INVITE. • BYE – The client wishes to release the call. • CANCEL – It cancels a pending request (not completed request). • REGISTER – It conveys the user’s location information to a SIP server. Request Example INVITE sip:cycho@vc.cs.nthu.edu.tw SIP/2.0 Via: SIP/2.0/UDP tpts7.seed.net.tw From: <sip:kuann@seed.net.tw> To: C.Y.Cho <sip:cycho@vc.cs.nthu.edu.tw> Call-ID: 0926225561@tpts7.seed.net.tw Cseq: 1 INVITE Content-Length: … Response Messages 1xx Informational Provisional 2xx Success Final 3xx Redirection Final 4xx Client Error Final 5xx Server Error Final 6xx Global Failure Final Response Example SIP/2.0 200 OK Via: SIP/2.0/UDP vc.cs.nthu.edu.tw Via: SIP/2.0/UDP tpts7.seed.net.tw From: Fingal <sip:kuann@seed.net.tw> To: Patric <sip:cycho@vc.cs.nthu.edu.tw> Call-ID: 0926225561@tpts7.seed.net.tw Cseq: 1 INVITE Content-Type: applcation/sdp Content-Length: … Invitation for SIP Proxy example.com fiction.com ffl@fiction.com (1) INVITE pgn@example.se (7) 200 OK (8) ACK pgn@example.se science.fiction.com (3) pgn@pepperoni (2) pgn location server pepperoni (4) INVITE pgn@pepperoni (6) 200 OK sippo (9) ACK pgn@pepperoni pgn@pepperoni (5) Invitation for Redirect Server example.com ffl@fiction.com (1) INVITE pgn@example.se (2) pgn fiction.com (3) pgn@pepperoni location server (4) 302 Moved temporarily Contact: pgn@pepperoni.example.se (5) ACK pgn@example.se sippo science.fiction.com pepperoni (6) INVITE pgn@pepperoni.example.se (7) 200 OK (8) ACK pgn@pepperoni.example.se pgn@pepperoni SIP Services • Similar to the Intelligent Network (IN) services – Call Transfer, Call Forwarding, Conference Calling, User Mobility… SDP • Session Description Protocol • It includes: – – – – Session Name and purpose Time (the session is active) The media comprising the session How to receive those media (e.g. addresses, ports, formats and so on). • Additional information can be – The bandwidth to be used by the conference