270 likes | 616 Views
Session Initiation Protocol (SIP). By: Zhixin Chen. Outline. What is SIP? Fundamentals of SIP Mobility Support Using SIP. What is SIP ?. An application-layer signaling protocol that can establish, modify and terminate multimedia sessions or calls. Developed by IETF (Version 2, March 1999)
E N D
Session Initiation Protocol (SIP) By: Zhixin Chen
Outline • What is SIP? • Fundamentals of SIP • Mobility Support Using SIP
What is SIP ? • An application-layer signaling protocol that can establish, modify and terminate multimedia sessions or calls. • Developed by IETF (Version 2, March 1999) • Applications: Voice over IP, Multimedia Conferences, and Distance Learning etc. • Simple, scalable, extensible, and mobile. (Compared to H.323)
SIP Features • User Availability: SIP determines the willingness of the called party to engage in communications. • User location: SIP determines the terminal to be used for communication. • User Capabilities: SIP negotiates the type of media and media parameters to be used for communication. • Call Setup and Handling: SIP establishes, maintains and terminates the call. • Support Other Protocols: RSVP (Resource Reservation Setup Protocol) , RTP (Real Time Transport Protocol) and RTCP(RTP Control Protocol), SDP (Session Description Protocol)
Redirect Server Location Server Proxy Server SIP Components User Agent PSTN Gateway
SIP Components • User Agent includes User Agent Client (UAC) and User Agent Server (UAS). The user agent client sends the requests. The user agent server receives and processes the requests and returns responses. • Proxy Server is like an intermediary program that acts as both a server and a client. Requests are forwarded, possibly after rewriting the request message. • Redirect Server advertises the caller to contact another server directly. A redirect server can leave behind the call request after it has been processed. • Location Server contains the information about callee’s possible location. Location server is usually integrated in redirect or proxy server.
SIP Requests: INVITE – Initiates a call by inviting user to participate in session. ACK - Confirms that the client has received a final response to an INVITE request. BYE - Indicates termination of the call. CANCEL - Cancels a pending request. REGISTER – Registers the user agent. OPTIONS – Used to query the capabilities of a server. INFO – Used to carry out-of-bound information, such as DTMF digits. SIP Responses: 1xx - Informational Messages. 2xx - Successful Responses. 3xx - Redirection Responses. 4xx - Request Failure Responses. 5xx - Server Failure Responses. 6xx - Global Failures Responses. SIP Messages – Requests and Responses
SIP Addressing • Email-like address: user@host. • Examples of SIP addresses: • sip: chen@montana.edu • sip: chen@153.90.112.34 • sip: 4069944271@montana.edu
SIP Headers • HTTP-like message • An example of SIP header: ----------------------------------------------------------------- SIP Header ----------------------------------------------------------------- INVITE sip:dong@montana.edu SIP/2.0 From: sip:chen@montana.edu To: sip:dong@montana.edu Call-ID: 12345@sip:dong@montana.edu CSeq: 100 INVITE Contact: sip:chen@montana.edu Content-Type: application/sdp
Direct Communication between Endpoints Chen@montana.edu Port: 1234 Dong@montana.edu Port: 5678 INVITE 100 Trying 180 Ringing 200 OK ACK Data Flow BYE 200 OK
SIP Operation in the Presence of a Proxy Server Proxy Server CALLEE UA CALLER UA INVITE Dong INVITE Dong@montana.edu 100 Trying 180 Ringing 200 OK 200 OK ACK ACK Data Flow BYE 200 OK
SIP Operation in the Presence of a Redirect Server Redirect Server UAS UAC INVITE Dong@montana.edu 302 Moved temporarily ACK INVITE Dong@ece.montana.edu 100 Trying 180 Ringing 200 OK ACK Data Flow BYE 200 OK
Mobility in an IP Environment • Terminal mobility: terminal moves between subnets • Personal mobility: different terminals, same address • Service mobility: keep same services while mobile
IP Mobility • The IETF has standardized IP mobility support: uses tunneling of IP packets from a Home Agent to a Foreign Agent to make the mobility transparent to the higher layer. • Problems: triangular routing, each host needs a home IP address, tunneling management. • Routing optimization solves the triangular routing problem. (has its own problem).
IP Mobility (Cont) • Move to new network => IP address changes (DHCP) • Mobile IP hides address changes • High latency • Encapsulation overhead
SIP Mobility Support • SIP supports personal mobility because a user can be found independent of location and network device. • SIP can also support IP mobility (need to add the ability to move while a session is active)
SIP Mobility Support (Cont) • MH belongs to a HA with redirect and location server. • Location server receives registrations from the mobile host. • MH does not need a statically allocated IP address on the home network.
SIP Mobility Support (Cont) • MH->CH: new INVITE, with Contact and updated SDP • Re-registers with home registrar
SIP Mobility Performance and Issues • Eliminate the need for tunneled data. • Can be installed easily • The distinction between personal and terminal mobility disappears • Not suitable for fast or small scale mobility
Conclusion • SIP is used for initiation, control, and termination of multimedia conferences. • SIP follows some of the latest and most widely used protocols like SMTP and HTTP. • SIP is simple, extensible, scalable, and mobile. • SIP can be used to support IP mobility.
References • http://www.ietf.org/html.charters/sip-charter.html • http://www.si2.org/si2_publications/SIPPs/pdf/ • http://www.cs.columbia.edu/~hgs/sip/