1 / 135

SESSION INITIATION PROTOCOL

SESSION INITIATION PROTOCOL. Author : Abhishek Kumar Indian Institute of Technology, Madras Computer Networks Presentation. SIP : The way to the future.

eve-moses
Télécharger la présentation

SESSION INITIATION PROTOCOL

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. SESSION INITIATION PROTOCOL Author : Abhishek Kumar Indian Institute of Technology, Madras Computer Networks Presentation

  2. SIP : The way to the future The era of separate voice and data networks is gradually nearing an end. In the future, a single, converged network will provide the basis for all forms of communication. In addition to reducing costs, that convergence will enable a whole new range of services. The Session Initiation Protocol (SIP) will be the control mechanism at the center of this revolution. Počítačové sítě

  3. What is SIP ? The Session Initiation Protocol (SIP) is an application-layer control (signaling) protocol for creating, modifying and terminating sessions with one or more participants. These sessions include Internet multimedia conferences, Internet telephone calls and multimedia distribution. Members in a session can communicate via multicast or via a mesh of unicast relations, or a combination of these. It was standardized by the IETF under RFC-3261 which obsoletes the previous standardization of SIP under RFC 2543. Počítačové sítě

  4. SIP applications • setting up voice-over-IP calls • setting up multimedia conferences • event notification (subscribe/notify) such as IM and presence • text and general messaging • signaling transport Počítačové sítě

  5. Protocols used under SIP • Session Description Protocol (SDP) : (RFC-2327) Used to describe which media will be used. • Resource Reservation Protocol (RSVP) : (RFC-2205) Used for reserving network resources. • Session Announcement protocol (SAP) : Used for advertising multimedia sessions via multicast. Počítačové sítě

  6. SIP related Protocols • Real-time Transport Protocol (RTP) : (RFC-1889) Used for transporting real-time data and providing QOS feedback. • Real-time Transport Control Protocol (RTCP) : Used to control the RTP channel. • Real-time Streaming Protocol (RTSP) : (RFC-2326) Used for controlling delivery of streaming media. Počítačové sítě

  7. Multimedia Communication Architecture Počítačové sítě

  8. The Protocol Stack Počítačové sítě

  9. SIP protocol use Počítačové sítě

  10. SIP Concepts and Elements • A user agent (UA) : an end-point, lets users create and manage a communication session. • IP phone, PC software, Conference Bridge • handles session setup and management tasks (transfer, termination, and service invocation) • Identifies user availability and negotiate session capability. Počítačové sítě

  11. SIP Concepts and Elements • User Agent Client (UAC) : a client application that initiates SIP requests. • User Agent Server (UAS) : a server application that contacts the user when a SIP request is received and then returns are response on behalf of the user. Počítačové sítě

  12. SIP Concepts and Elements • A SIP proxy server : Handles registrations, implementing call-routing policies, and performing authentication and authorization. • Interprets, and, if necessary, rewrites specific parts of a request message before forwarding it. • A SIP messages may pass through many SIP proxy servers as it travels to callee UA. • A UA can be configured to send any requests to a specific SIP proxy server, known as Outbound Proxy Server. Počítačové sítě

  13. SIP Concepts and Elements • Redirect Server : is a server that accepts a SIP request, maps the SIP address of the called party into zero (if there is no known address) or more new addresses and returns them to the client. Unlike Proxy servers, Redirect Servers do not pass the request on to other servers. Počítačové sítě

  14. SIP Concepts and Elements • SIP Location Server (Registrar) : is a server that accepts REGISTER requests for the purpose of updating a location database with the contact information of the user specified in the request. • Session : is established when the UA (the caller) invites another UA (the callee) to join a communication session. Počítačové sítě

  15. SIP Concepts and Elements • A SIP message : is a text-based request/response model similar to the HTTP protocol. • There are two types of SIP messages : • Request : sent from the client to the server. • Responses : sent from the server to the client. Počítačové sítě

  16. Request Methods Počítačové sítě

  17. Response Methods Počítačové sítě

  18. 100 Continue 180 Ringing 200 OK 300 Multiple choices 301 Moved permanently 302 Moved temporarily 400 Bad request 401 Unauthorized 403 Forbidden 408 Request time-out 481 Call-leg/Transaction does not exist 482 Loop detected 5xx Server error 600 Busy 603 Decline 604 Does not exist 606 Not acceptable Response code examples Počítačové sítě

  19. SIP Messages • SIP messages are composed of the following three parts: • START LINE: Every SIP message begins with a Start Line. It conveys the message type (method type in requests, and response code in responses) and the protocol version. The Start Line may be either a Request-line (requests) or a Status-line (responses), as follows: • Request-line includes a Request URI, which indicates the user or service to which this request is being addressed. • The Status-line holds the numeric Status-code and its associated textual phrase. Počítačové sítě

  20. SIP Messages • HEADERS : SIP header fields are used to convey message attributes and to modify message meaning. They are similar in syntax and semantics to HTTP header fields and thus always take the format: <name>:<value> • Headers can span multiple lines. Some SIP headers such as Via, Contact, Route and Request-Route can appear multiple times in a message or, alternatively, can take multiple comma-separated values in a single header occurrence. Počítačové sítě

  21. SIP Messages • Every SIP message requires certain mandatory headers : • To: A SIP address containing the request's destination. • From: Indicates who has originated the request. • CSeq: Contains a command sequence, which ensures that messages are dealt with in the order they were generated. • Call-ID: The SIP proxy server uses the Call-ID header, a randomly generated string that uniquely identifies the session, to identify messages belonging to a session. • Via: Contains information about what SIP devices the message has passed through as it moves between caller and callee. The Via header, moreover, routes a response in the reverse direction, through the same SIP devices as the request. • Contact: Contains the actual location of the callee, which might be different from the address of the originator in the From header. Počítačové sítě

  22. SIP Messages • BODY (CONTENT) : A message Body is used to describe the session to be initiated (for example, in a multimedia session this may include audio and video codec types, sampling rates etc.), or data of any type which relates in some way to the session. • Message bodies can appear both in request and in response messages. • Possible body types include: • SDP - Session Description Protocol (SDP). • Multipurpose Internet Mail Extensions (MIME). • Others - to be defined in the IETF and in specific implementations. Počítačové sítě

  23. SIP Addressing • A SIP address : (also known as a SIP URL) uniquely identifies a user during the creation of a communication session. The address resembles an e-mail address except that it has a sip: prefix. • For example kabhishek@cs.iitm.ernet.in written as URL, sip:kabhishek@cs.iitm.ernet.in . • We can also can use tel URLs for telephone numbers, such as : tel:+91-011-23381060 or fax:+358.555.1234567 • We can use either global (tel:+1...) or local • (tel:0w003585551234567) • SIP allow post-dialing digits: ;postd=pp32 • Allows URL such as modem:+3585551234567 . Počítačové sítě

  24. SESSION ESTABLISHMENT CALL FLOW • The calling User Agent Client sends an INVITE message to Bob’s SIP address: sip:bob@acme.com. This message also contains an SDP packet describing the media capabilities of the calling terminal. • The UAS receives the request and immediately responds with 100-Trying response message. • The UAS starts “ringing” to inform Bob of the new call. Simultaneously a 180 (Ringing) message is sent to the UAC. • The UAS sends a 182 (Queued) call status message to report that the call is behind two other calls in the queue. • The UAS sends a 182 (Queued) call status message to report that the call is behind one other call in the queue. • Bob picks up the call and the UAS sends a 200 (OK) message to the calling UA. This message also contains an SDP packet describing the media capabilities of Bob’s terminal. • The calling UAC sends an ACK request to confirm the 200 (OK) response was received. Počítačové sítě

  25. SESSION ESTABLISHMENT Počítačové sítě

  26. SESSION TERMINATION The session termination call flow proceeds as follows: • The caller decides to end the call and “hangs-up”. This results in a BYE request being sent to Bob’s UAS at SIP addresss ip:bob@lab.acme.com. • Bob’s UAS responds with 200 (OK) message and notifies Bob that the conversation has ended. Počítačové sítě

  27. Call Redirection CALL FLOW • First a SIP INVITE message is sent to bob@acme.com, but finds the Redirect server sip.acme.com along the signaling path. • The Redirect server looks up Bob’s current location in a Location Service using a non-SIP protocol (for example, LDAP). • The Location Service returns Bob’s current location: SIP address 3573572@gwtelco.com. • The Redirect Server returns this information to the calling UAC using a 302 (Moved Temporarily) response. In the response message it enters a contact header and sets the value to Bob’s current location, 3573572@gwtelco.com. • The calling UAC acknowledges the response by sending an ACK message. • The calling UAC then continues the transaction directly with gw.telco.com by sending a new INVITE. • gw.telco.com is able to notify Bob’s terminal of the call and Bob “picksup” the call. A 200 (OK) response is sent back to the calling UAC. • The calling UAC acknowledges with an ACK message. Počítačové sítě

  28. Call Redirection Počítačové sítě

  29. Call Proxying • CALL FLOW • An INVITE message is sent to bob@ acme.com, but finds the Proxy server sip.acme.com along the signaling path. • The Proxy server immediately responds with a 100 (Trying) provisional response. • The Proxy server looks-up Bob’s current location in a Location Service using a non-SIP protocol (For example, LDAP). • The Location Service returns Bob’s current location: SIP address bob@lab.acme.com. • The Proxy server decides to proxy the call and creates a new INVITE message based on the original INVITE message, but with the request URI in the start line changed to bob@lab.acme.com. The Proxy server sends this request to the UAS at lab.acme.com. Počítačové sítě

  30. Call Proxying contd .. • The UAS responds first with a 100 (Trying). • The UAS responds with a 180 (Ringing) response. • The Proxy server forwards the 180 (Ringing) response back to the calling UA. • When the call is accepted by the user (for example, by picking up the handset) the UAS at lab.acme.com sends a 200 (OK) response. In thi sexample, Bob’s UAS inserts a Contact header into the response with the value bob@lab.acme.com. Further SIP communication will be sent directly to it and not via the Proxy Server. This action is optional. • The Proxy forwards the 200 (OK) response back to the calling UAC. • The calling UA sends an ACK directly to Bob’s UA at the lab (according to the Contact header it found in the 200 (OK) response). Počítačové sítě

  31. Call Proxying Počítačové sítě

  32. Services provided by SIP • SIP provides the necessary protocol mechanisms so that end systems and proxy servers can provide following services : • call forwarding, including • the equivalent of 700-, 800- and 900- type calls; • call-forwarding no answer; • call-forwarding busy; • call-forwarding unconditional; • other address-translation services; • Callee and calling “number'' delivery, where numbers can be any (preferably unique) naming scheme. Počítačové sítě

  33. Services provided by SIP • personal mobility, i.e., the ability to reach a called party under a single, location-independent address even when the user changes terminals. • terminal-type negotiation and selection: a caller can be given a choice how to reach the party, e.g., via Internet telephony, mobile phone, an answering service, etc. • terminal capability negotiation. • caller and callee authentication. • blind and supervised call transfer. • invitations to multicast conferences. Počítačové sítě

  34. SIP Back-To-Back User Agent • A SIP Back-To-Back User Agent (B2BUA) : takes what is traditionally a SIP end-to-end call and mediates it through a central SIP server. The B2BUA enables service providers to manage and track a call from beginning to end. • The SIP standard briefly defines a B2BUA as a logical entity that receives requests as a User Agent Server (UAS) and in order to respond to them, it acts as a User Agent Client (UAC) and generates requests. • It maintains dialog state and must participate in all of the requests sent on the dialogs it has established. The standard defines it as a concatenation of a UAC and UAS. Počítačové sítě

  35. Issues in B2BUA functionality • The B2BUA functionality breaks one of SIP's advantages of end-to-end service because it prevents a UA to directly contact the destination UA by mediating the call between them. This prevents direct implementation of features such as REFER and exchange of secured bodies using S/MIME. Therefore a B2BUA should be used only in cases where such mediation is required/desired, usually when central call control is required. • This B2BUA functionality provides major new applications including: • centralized call management • interworking with alternative networks • SIP--based VoIP interworking between LAN and WAN • management and monitoring of the entire call state • cloaking of endpoint location. Počítačové sítě

  36. B2BUA functionality Basic B2BUA functionality Third Party Call Control Počítačové sítě

  37. Quality Of Service (QoS) • One of the most vexing problem for the SIP protocol designers. • Addresses the areas of jitter and latency of packet delivery within the Internet. • For critical applications such as VoIP, QoS is of critical importance since the human ear is extremely sensitive to latency in the delivery of sound. It can detect delays of 200 msec or greater in voice conversations. Počítačové sítě

  38. Quality Of Service (QoS) • To create QoS on the Internet, you must create different classes of service for packets with different contents. The IETF has taken two approaches: • Integrated Services (RFC2211 and RFC2212) also known as INTSERV. • Differentiated Services (RFC2475), or DIFFSERV. Počítačové sítě

  39. Quality Of Service - INTSERV • INTSERV essentially creates an end-to-end private lane for packet voice traffic that is opened and monitored by each router along the path and the endpoints. No packets are sent out unless the entire route signals its ability to meet and guarantee the service requirements for the call. The protocol used to reserve the resources in the network, and get confirmation of those resources, is known as RSVP, or the Resource Reservation Protocol (RFC-2205). Počítačové sítě

  40. Quality Of Service - DIFFSERV • DIFFSERV creates classes of service, and controls the admission of that traffic onto the Internet, by filtering packets at the edge of the network. Here, there are no explicit requests for resources from the network. The advantage to the DIFFSERV approach is that it does not require the maintenance of network state by all elements, and thus scales better than RSVP. Počítačové sítě

  41. Quality Of Service contd.. • Clearly, the INTSERV approach offers the highest level of quality for sensitive applications, such as voice. • For SIP, this means the transparent integration of two forms of signaling : • Signaling to set up the call (using SIP) • Setting up QoS using RSVP • Such seperation can have interesting side-effects, such as one might succeed (call setup) and the other fail (resource reservation). So the phone rings and gets answered even though the network cannot support th call. Počítačové sítě

  42. Quality Of Service contd.. • To handle such a problem, a coupling mechanism was developed. The coupling allows the SIP INVITE , (that is the SDP), to contain indicators that tell the called user not to "ring the phone" until sufficient resources have been reserved (using RSVP or some other mechanism). Once the reservations have succeeded, the caller sends a new request, tentatively dubbed "PRECONDITIONS_MET," to the called user, indicating that resources are available, and the phone should ring. But if the QoS reservation fails, the call can optionally proceed with best effort Počítačové sítě

  43. Challenges for SIP • Even with the potential that SIP offers there are many drawbacks, such as • Interoperability : A critically important topic which has not yet been finalized and even though there was a great deal of improvement in this respect, there is still a long way to go. • Network Address Translation (NAT): NATs provide a boundary between the private IP addressing of a network and the public Internet. Hence SIP which fundamentally, is a control channel for establishing sessions can cause problems for NATs since the addresses for the established sessions are in the body of the application layer messages. Počítačové sítě

  44. Challenges for SIP • FIREWALLS : When a user inside the firewall sends media to an address outside the firewall, it will be dropped by the firewall unless a rule is established to allow it to pass. Since the media is sent on dynamic ports to dynamic addresses, these rules must be dynamically installed through application-aware devices, such as proxies. Počítačové sítě

  45. Voice over IP John P John CS01B012

  46. What is VoIP? • VoIP : Voice over Internet Protocol is also referred to as IP Telephony. • VoIP involves sending voice transmissions as data packets using the Internet Protocol(IP). • The users voice (or fax) is converted into a digital signal, compressed, and broken down into a series of packets. Počítačové sítě

  47. What is VoIP? • The packets are then transported over private or public IP networks and reassembled and decoded on the receiving side. • At the receiving end, the re-assembled packets arrive as a normal sounding voice call. FIG Počítačové sítě

  48. Počítačové sítě

  49. Origins: • In 1995, Vocaltec produced the first commercially available VoIP product for PC-to-PC voice chat over the internet. • Today, the scope of VoIP is not restricted to only transmission of audio signals. • It can be used for multi-party conferencing, video and fax transmissions as well. Počítačové sítě

  50. Why VoIP? • The PSTN has been operating successfully for over a hundred years. Why then do we need a new technology like VoIP? • One of the main motivations for VoIP is the low cost involved. For example, international calls can be routed to its destination country, through the Internet, thus saving on PSTN bills. • Distance is not a concern for billing, unlike PSTN. Počítačové sítě

More Related