Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Introduction To SIP


Published on

A basic introduction to Session Initiation Protocol

Some of the slides look strange on the screen (animated ones) but they work fine when downloaded.

Published in: Technology
  • Be the first to comment

Introduction To SIP

  1. 1. An Introduction to SIP
  2. 2. 5 4 3 2 1
  3. 3. Introduction To SIP Please switch off any mobile/ ringing devices Thank you xxxx xxxx
  4. 4. Introduction To SIP What is SIP? Why use SIP? Parts of a SIP Network SIP Based Signaling Debugging SIP Companies using SIP Useful Web Sites Roundup of what’s on your CD Lets build a SIP system!!!!!!!
  5. 5. What is SIP?
  6. 6. Session Initiation Protocol - An application layer signaling protocol that defines initiation, modification and termination of interactive, multimedia communication sessions between users. IETF RFC 2543 Session Initiation Protocol
  7. 7. Why use SIP?
  8. 8. Conferencing Distance Learning Email Video Conferencing Instant Messaging Voice Calls MPEG, MP3, Audio, HTML,XML Personal Mobility
  9. 10. Network Address Translation Problems Firewalls Routers Data Guys!!!!
  10. 11. Parts of a SIP network
  11. 12. 1 2 3 <ul><li>Cisco ATA (1) </li></ul><ul><li>3Com (2) </li></ul><ul><li>Nortel (3) </li></ul><ul><li>X-Lite (4) </li></ul>4
  12. 13. User Agent Gateway PSTN SIP Components Redirect Server Location Server Registrar Server Proxy Server Proxy Server
  13. 15. SIP based signalling
  14. 16. <ul><li>Supports 5 facets of communication: </li></ul><ul><li>User location : determination of the end system to be used for communication; </li></ul><ul><li>User capabilities : determination of the media and media parameters to be used; </li></ul><ul><li>User availability : determination of the willingness of the called party to engage in communications; </li></ul><ul><li>Call setup : &quot;ringing&quot;, establishment of call parameters at both called and calling party; </li></ul><ul><li>Call handling : including transfer and termination of calls . </li></ul>Basic Functionality
  15. 17. SIP Addressing <ul><ul><li>The SIP address is identified by a SIP URL, in the format: user@host. </li></ul></ul><ul><ul><li>Examples of SIP URLs: </li></ul></ul><ul><ul><ul><li> </li></ul></ul></ul><ul><ul><ul><li>sip:hostname@ </li></ul></ul></ul><ul><ul><ul><li> </li></ul></ul></ul>
  16. 18. Audio, video, ... INVITE 200 OK ACK BYE 200 OK
  17. 19. Registration <ul><ul><li>Each time a user turns on the SIP user client (SIP IP Phone, PC, or other SIP device), the client registers with the proxy/registration server. </li></ul></ul><ul><ul><li>Registration can also occur when the SIP user client needs to inform the proxy/registration server of its location. </li></ul></ul><ul><ul><li>The registration information is periodically refreshed and each user client must re-register with the proxy/registration server. </li></ul></ul><ul><ul><li>Typically the proxy/registration server will forward this information to be saved in the location/redirect server. </li></ul></ul>SIP Messages: REGISTER – Registers the address listed in the To header field. 200 – OK. Proxy/ Registration Server SIP Phone User Location/ Redirect Server REGISTER REGISTER 200 200
  18. 20. INVITE 200 OK INVITE 200 OK • • • 302 Redirect REGISTER
  19. 21. Call Setup and Teardown 302 (Moved Temporarily) ACK INVITE 302 (Moved Temporarily) ACK Call Teardown Media Path Call Setup Location/Redirect Server Proxy Server Proxy Server INVITE INVITE 200 (OK) 200 (OK) INVITE 180 (Ringing) 180 (Ringing) 180 (Ringing) 200 (OK) ACK ACK ACK RTP MEDIA PATH BYE BYE BYE 200 (OK) 200 (OK) 200 (OK) INVITE User Agent User Agent
  20. 23. <ul><li>1. User Agent A sends a SIP request &quot;INVITE&quot; to User Agent B to indicate User A's wish to talk to User B. This request contains the details of the voice streaming protocol. The Session Description Protocol (SDP) is used in the payload for this purpose. The SDP message contains a list of all media codecs supported by User A. (These codecs are using RTP for transport.) </li></ul>
  21. 24. <ul><li>2. User Agent B reads the request and tells User Agent A it has been received. </li></ul>
  22. 25. <ul><li>3. While the phone rings, User Agent B sends provisional messages (ringing) to User Agent A just so it doesn't time out and give up. </li></ul>
  23. 26. <ul><li>4. Eventually User B decides to accept the call. At this point User Agent B sends an OK response to User Agent A. In the payload of the response, there's another SDP message. It contains a set of media codecs that are supported by both user agents. At this point both parties are officially in the call. All types of SIP requests are accepted using 200-type responses. </li></ul>
  24. 27. <ul><li>5. User Agent A finally confirms with an ACK message. There are no retries and no response messages for this request type, even if the message is lost. ACK is only used in the case of an INVITE message. </li></ul>
  25. 28. <ul><li>6. Both user agents are now connected using the method selected in the last SDP message. </li></ul>RTP packets of audio data going in both directions over ports 49170 & 3456 using PCMU/8000 encoding. .
  26. 29. <ul><li>7. At the end of the communication session, one of the users hangs up. At this point this user's user agent sends a new request BYE. This message can be sent by any of the parties. </li></ul>
  27. 30. <ul><li>8. The other user's user agent accepts the request and replies with an OK message. The call is disconnected. </li></ul>
  28. 31. class 1: Provisional messages <ul><li>100 Trying </li></ul><ul><li>180 Ringing </li></ul><ul><li>181 Call Is Being Forwarded </li></ul><ul><li>182 Queued </li></ul><ul><li>183 Session Progress </li></ul>
  29. 32. Class 2 : Success Messages <ul><li>200 OK </li></ul><ul><li>202 accepted: Used for referrals </li></ul>
  30. 33. Class 3 : Redirection Messages <ul><li>300 Multiple Choices </li></ul><ul><li>301 Moved Permanently </li></ul><ul><li>302 Moved Temporarily </li></ul><ul><li>305 Use Proxy </li></ul><ul><li>380 Alternative Service </li></ul>
  31. 34. Class 4: Request Failures <ul><li>400 Bad Request </li></ul><ul><li>401 Unauthorized: Used only by registrars. Proxys should use proxy authorization 407 </li></ul><ul><li>402 Payment Required (Reserved for future use) </li></ul><ul><li>403 Forbidden </li></ul><ul><li>404 Not Found: User not found </li></ul><ul><li>405 Method Not Allowed </li></ul><ul><li>406 Not Acceptable </li></ul>
  32. 35. Class 5: Server Failures <ul><li>500 Server Internal Error </li></ul><ul><li>501 Not Implemented: The SIP request method is not implemented here </li></ul><ul><li>502 Bad Gateway </li></ul><ul><li>503 Service Unavailable </li></ul><ul><li>504 Server Time-out </li></ul><ul><li>505 Version Not Supported: The server does not support this version of the SIP protocol </li></ul><ul><li>513 Message Too Large </li></ul>
  33. 36. Class 6: Global Failures <ul><li>600 Busy Everywhere </li></ul><ul><li>603 Decline </li></ul><ul><li>604 Does Not Exist Anywhere </li></ul><ul><li>606 Not Acceptable </li></ul>
  34. 37. Stunned!! <ul><li>A STUN (Simple Traversal of User Datagram Protocol [UDP] Through Network Address Translators [NATs]) server allows NAT clients (i.e. computers behind a firewall) to setup phone calls to a VOIP provider hosted outside of the local network. </li></ul><ul><li>The STUN server allows clients to find out their public address, the type of NAT they are behind and the internet side port associated by the NAT with a particular local port. This information is used to set up UDP communication between the client and the VOIP provider and so establish a call. The STUN protocol is defined in RFC 3489. </li></ul><ul><li>The STUN server is contacted on UDP port 3478, however the server will hint clients to perform tests on alternate IP and port number too (STUN servers have two IP addresses). The RFC states that this port and IP are arbitrary. </li></ul>
  35. 38. What is an ENUM? <ul><li>ENUM stands for T e lephone Nu mber M apping. Behind this ‘abbreviation’ hides a great idea: To be reachable anywhere in the world with the same number – and via the best and cheapest route. ENUM takes a phone number and links it to an internet address which is published in the DNS system.  The owner of an  ENUM  number can thus publish where a call should be routed to via a DNS entry. What's more, different routes can be defined for different types of calls - for example you can define a different route if the caller is a fax machine. ENUM does require the phone of the caller to support it. </li></ul><ul><li>You register an ENUM number rather like you register a domain. At present many registrars and VOIP providers are providing this as a free service. </li></ul><ul><li>ENUM is a new standard, and is not that widespread yet. Though it looks set to become another revolution in communications and personal mobility. </li></ul>
  36. 39. Debugging SIP
  37. 45. Companies using SIP
  38. 46. <ul><li>Microsoft LCS </li></ul><ul><li>Windows Messenger </li></ul><ul><li>Google Talk </li></ul><ul><li>Mitel </li></ul><ul><li>Avaya </li></ul><ul><li>Nortel </li></ul><ul><li>PTO’s </li></ul><ul><li>D-Link </li></ul><ul><li>Hitachi </li></ul><ul><li>Polycom </li></ul><ul><li>Cisco </li></ul><ul><li>Siemens </li></ul>Sales of mobile phones with active SIP functionality will reach 275 million units in 2007
  39. 47. Useful Web Sites
  40. 48.
  41. 49.
  42. 50. What’s on your CD
  43. 51. Documentation How to configure a 3300 to work with Asterisk Mitel SIP Primer Rfc3261 SIP and the new network communications model SIP For Dummies SIP Migration SIP PSTN Call Flow Wireshark
  44. 52. Software 3CX PBX and SIP Server Audacity 1.2.6 FWD Communicator HoverIP JMF Netcheck
  45. 53. More Software rtptools_1_18_win_bin SIP Scenario Generator Touchstone TraceBuster UDP Test Tool WireShark X-Lite
  46. 54. Call Traces aaa.Pcap Sending_Video_and_Audio_to_an_EyeBeam_Soft_Phone.pcap Sending_Video_to_an_EyeBeam_Soft_Phone.pcap SIP_Invite_to_Busy_End_Point.pcap SIP_Unknown_URI.pcap sip-rtp-g711.cap UK_Initiator-Responder.pcap
  47. 55. Lets build a system!
  48. 88. If someone would care to dial 0560 104 8333 from their mobile………… And a few internal test call between extensions Think about the possibilities………………
  49. 89. Well that’s just GREAT for THEM!!!! Ok – so we have just built a SIP PBX – we’ve added a few phones and made a couple of calls. Was it difficult? – NO!! On the notes for this file you will find 10 rather compelling reasons for customers to adopt SIP based systems. Many manufacturers are positioning themselves ready for SIP All great news for them………………… I wonder where that leaves us?????????
  50. 90. Lets GO HOME!