Session Initiation Protocol Team Members: Manjiri Ayyar Pallavi Murudkar Sriusha Kottalanka Vamsi Ambati Girish Satya LeeAnn Tam
Introduction to SIP Overview of functionality SIP components SIP protocol layers SIP call flows SIP concerns Demo Conclusion
Session Initiation Protocol (SIP) application layer signaling protocol used to create, manage and terminate sessions in an IP based network. RFC : 3261
Circuit is fully established between the two devices before data is sent. Less efficient since much of the bandwidth is wasted.
No fixed path is established between devices Data broken into packets. Packets may take multiple paths to reach the destination device. More efficient.
VoIP Video Conferencing Instant Messaging
A typical real-time multimedia session requires Session management : Users may move from terminal to terminal with different capabilities. To set up communication session between two or more users, a signaling protocol is needed. Media transport : RTP is used for transmitting real-time data like audio and video. End-to-End delivery : Underlying IP layer which connects the whole world.
SIP is limited to only the setup, modification and termination of sessions. Establishment of user location Feature negotiation Call management Changing features while a session is in progress All of the other key functions are done with other protocols
The key components in a SIP network are SIP Clients : SIP Phones (User-Agents) SIP servers SIP PSTN gateways Application servers (such as media servers)
Application Transport Network Physical/Data Link Ethernet IP TCPUDP RTSP SIP SDPcodecs RTPDNS (SRV)
Transport Transaction Transaction User Syntax and Encoding
start-line *message-header CRLF [ message-body ] start-line = Request-Line / Status-Line
INVITE Requests a session ACK Final response to the INVITE OPTIONS Ask for server capabilities CANCEL Cancels a pending request BYE Terminates a session REGISTER Sends user’s address to server
1XX Provisional 100 Trying 2XX Successful 200 OK 3XX Redirection 302 Moved Temporarily 4XX Client Error 404 Not Found 5XX Server Error 504 Server Time-out 6XX Global Failure 603 Decline
SIP Call Scenarios Session Registration Establishment, Termination RFC 3665
User ARegistrar ServerLocation Server Register Contact OK Registration binds a particular device Contact URI with a SIP user Address of Record.
SIP call with Proxy Server Alice Host1.com proxy Host2.com proxy Bob Invite F1 Invite F2 Invite F4 100 Trying F5 100 Trying F3 180 Ringing F6 180 Trying F8 180 Trying F7 ACK F OK F9 200 OK F OK F10 Media Session Bye F OK F14
INVITE Via: SIP/2.0/UDP pc33.atlanta.com;branch=z9hG4bK776asdhds Max-Forwards: 70 To: Bob From: Alice Call-ID: CSeq: INVITE Contact: Content-Type: application/sdp Content-Length: 142 SIP INVITE
SIP/ OK Via: SIP/2.0/UDP server10.biloxi.com ;branch=z9hG4bKnashds8;received= Via: SIP/2.0/UDP bigbox3.site3.atlanta.com ;branch=z9hG4bK77ef4c ;received= Via: SIP/2.0/UDP pc33.atlanta.com ;branch=z9hG4bK776asdhds ;received= To: Bob From: Alice Call-ID: CSeq: INVITE Contact: Content-Type: application/sdp Content-Length: 131 SIP - Response
Security ◦ Authentication of signaling data using HTTP digest authentication ◦ TLS usage (over TCP) ◦ Usage of IPSec (SIP VPN Scenario) ◦ Use SecureRTP for Media ◦ Use S/MIME to enable mechanisms like public key distribution, authentication, integrity and confidentiality of SIP signaling data
Quality of Service ◦ Latency, network delays (upper bound is 150ms) ◦ Jitter ( refers to non-uniform delays ) ◦ Packet Loss ◦ Power Failure and Backup Systems ◦ Interoperability
User Agents used : Yahoo Messenger Call Scenarios Covered: ◦ Register ◦ Call Establishment ◦ Call Termination