Your SlideShare is downloading. ×
Sip crash course
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Saving this for later?

Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime - even offline.

Text the download link to your phone

Standard text messaging rates apply

Sip crash course

1,922
views

Published on

Short presentation that introduces the basic concepts of SIP. …

Short presentation that introduces the basic concepts of SIP.

Note, some of the slides requires animations and will therefore look strange when viewed without them (e.g., see slide 17). Email me if you want the full presentation and I'll send it to you...

Published in: Technology

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,922
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
85
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide
  • Proxy – forwards the request to the next hop. One type of proxy is a location based proxy, which will use the information found in the Location Service in order the final destination, to which it will forward the request. Note, the message will most likely not go directly the address found in the location service and has to do with a number of factors. One such factor are if there are any pre-loaded routes in the message, which we will talk more about later. Registrar – responsible for maintaining contact addresses associated with a particular AOR (aka a binding). This is accomplished through REGISTER requests. The bindings are stored in the Location Service. Location Service – more of a concept than anything else and is basically just a simple database storing mappings between AORs and contact addresses. Redirect Server – will actually not forward the request to the next hop but will simply suggest alternative locations where the intended target may be reached (sends back 3xx responses). Question:
  • 1xx: Provisional -- request received, continuing to process the request; 2xx: Success -- the action was successfully received, understood, and accepted; 3xx: Redirection -- further action needs to be taken in order to complete the request; 4xx: Client Error -- the request contains bad syntax or cannot be fulfilled at this server; 5xx: Server Error -- the server failed to fulfill an apparently valid request; 6xx: Global Failure -- the request cannot be fulfilled at any server. (rfc3261, section 7.2)
  • Session Establishment Three way handshake Questions: * Does 180 has any purpose? If so, what? Only for humans? * Any cool usage for 180? * How did the proxy know to contact Bob at the specified IP? * At what point is the session established? * Could you have multiple sessions being established due to this one INVITE? If so, how?
  • Identify the different parts of the message * What is the via header used for? * what is the Contact header used for? * To? From? Etc
  • Transcript

    • 1. SIP Crash Course January 2011
    • 2. Agenda
      • Introduction
        • What is SIP
        • 3. What is it not
      • Basic Architecture
    • 12. What is SIP
      • Provides infrastructure for routing messages.
      • 13. Provides a way for end-points to register their current location.
      • 14. SIP creates and manages sessions.
      • 15. Allows parties to agree on a set of compatible media types.
      • 16. Session can be anything:
        • Voice/Video/Gaming/Chat
      Introduction
    • 17. What SIP is not
      • SIP does not provide complete multimedia solution.
      • 18. Since SIP is a signaling protocol, it cannot guarantee the QoS in the established session.
      • 19. It is not a billing protocol
      Introduction
    • 20. SIP Components
      • Two main elements
        • User Agents (UA)
          • User Agent Client (UAC)
          • 21. User Agent Server (UAS)
        • Servers
          • Proxy (stateful & stateless) forwards the request to the next hop
          • 22. Registrar – accepts register requests
          • 23. Redirect Server – finds alternative locations
          • 24. Location Service – stores bindings*
      Basic Architecture
    • 25. SIP Messages
      • Like HTTP – Requests/Response model
        • UAC sends the Request, UAS responds.
      • Requests starts with a request line
        • INVITE sip:alice@example.com SIP/2.0
      • Methods
        • INVITE, ACK, BYE, CANCEL, REGISTER, OPTION
        • 26. More defined by extensions
      SIP Protocol
    • 27. SIP Messages
      • Responses with a status line
        • SIP/2.0 200 OK
      • Response Codes:
        • 1xx – Provisional.
        • 28. 2xx – Success.
        • 29. 3xx – Redirection.
        • 30. 4xx – Client Error.
        • 31. 5xx – Server Error.
        • 32. 6xx - Global Failures.
      SIP Protocol
    • 33. Basic User Scenario SIP Protocol Proxy Alice Bob INVITE sip:bob@example.com INVITE sip:bob@192.168.0.100 180 Ringing 180 Ringing ACK ACK 200 OK 200 OK
    • 34. INVITE Request INVITE sip:alice@example.com SIP/2.0 To: <sip:alice@example.com> From: <sip:bob@example.com>;tag=987lkajsdf89au Call-ID: lkjasdf90989lkj CSeq: 1 INVITE Content-Type: application/sdp Content-Length: 450 Record-Route: <sip:192.168.1.52:5060;transport=tcp;lr> Record-Route: <sip:192.168.1.50:5060;transport=tcp;lr> Via: SIP/2.0/TCP 192.168.0.122:5060;branch=xxx;rport ... Contact: <sip:192.168.0.122:3156;transport=TCP> SIP Protocol
    • 35. 200 OK Response SIP/2.0 200 OK To: <sip: [email_address] >;tag=89uasdkfjoiu From: <sip: [email_address] >;tag=987lkajsdf89au Call-ID: lkjasdf90989lkj CSeq: 1 INVITE Via: SIP/2.0/TCP 192.168.0.122:5060;branch=xxx;rport ... Contact: <sip:192.168.0.22:3156;transport=TCP> Record-Route: <sip:192.168.1.52:5060;transport=tcp;lr> Record-Route: <sip:192.168.1.50:5060;transport=tcp;lr> Content-Type: application/sdp Content-Length: 451 SIP Protocol
    • 36. SIP Headers
      • Headers carries important information about e.g. routing or request and responses.
      • 37. Similar in syntax and meaning to HTTP
      • 38. The more important headers:
      SIP Protocol
    • 44. Addressing
      • SIP-address is used to locate and communicate with other users.
        • sip:alice@example.com
        • 45. sips:alice@example.com
      • Each user typically have an Address of Record (AOR), through which that user can be contacted.
      SIP Protocol
    • 46. Constructing a request SIP Protocol
    • 53. Sending the request
      • Most compute the destination.
        • Transport
        • 54. Port
        • 55. IP-address RFC 3263 describes how to compute these
        • 56. The procedures of 3263 are applied to which URI?
      SIP Protocol
    • 57. Routing
      • SIP uses DNS to resolve sip-addresses.
      • 58. SIP:s routing capability is very strong.
      • 59. Requests uses Route-headers and the request-uri to traverse the network.
      • 60. Responses use Via-headers.
      SIP Protocol
    • 61. Routing SIP Protocol To: <sip:alice@example.com> From: <sip:bob@whatever.com>;tag=987lkajsdf89au Call-ID: lkjasdf90989lkj CSeq: 1 INVITE Contact: <sip:192.168.0.122:3156;transport=TCP> Route: <sip:outbound.whatever.com;lr> Via: SIP/2.0/TCP 192.168.0.122:3156;branch=xxx;rport Via: SIP/2.0/TCP 62.72.129.14:5060;branch=yyy;rport Record-Route: <sip:62.72.129.14:5060;transport=tcp;lr> Via: SIP/2.0/TCP 182.62.114.75:5060;branch=xyz;rport outbound.whatever.com INVITE sip:alice@example.com SIP/2.0 INVITE sip:alice@10.36.10.11;transport=TCP SIP/2.0 ;tag=89uasdkfjoiu
    • 62. Routing SIP Protocol outbound.whatever.com SIP/2.0 200 OK To: <sip: [email_address] >;tag=89uasdkfjoiu From: <sip: [email_address] >;tag=987lkajsdf89au Call-ID: lkjasdf90989lkj CSeq: 1 INVITE Contact: <sip:192.168.0.22:3156;transport=TCP> Record-Route: <sip:62.72.129.14:5060;transport=tcp;lr> Via: SIP/2.0/TCP 192.168.0.122:5060;branch=xxx;rport Via: SIP/2.0/TCP 62.72.129.14:5060;branch=yyy;rport Via: SIP/2.0/TCP 182.62.114.75:5060;branch=xyz;rport
    • 63. Dialog
      • A dialog is a peer-to-peer relationship between two end-points that lasts for some time.
      • 64. Facilitates proper routing between the two end-points.
      • 65. Maintains state
      • 66. Identified through a Dialog id
      • 67. Only a few messages are dialog creating.
      • 68. When the dialog is established depends on the method.
      SIP Protocol
    • 69. The End