Session Initiation Protocol


Published on

A presentation given by Matt Bynum at the August 2009 NCUG Meeting

Published in: Technology, Business
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide
  • What are sessions? Phone calls, multi-party conference calls, instant messaging, etc.
  • Session Initiation Protocol

    1. 1. Session Initiation Protocol<br />Matt Bynum, CCIE (Voice) #21753<br />
    2. 2. SIP is a protocol for establishing sessions in an IP network.<br />
    3. 3. Agenda<br />Protocol History<br />SIP 101<br />Cisco and SIP<br />(Ssshhh!) Other vendors and SIP<br />Future of SIP<br />
    4. 4. Protocol History<br />To know where you’re going, you have to know where you’ve been.<br />- who knows? Not Google.<br />
    5. 5. Setting the Stage<br />The Internet Engineering Task Force first met in 1986.<br />“The mission of the IETF is to make the Internet work better by producing high quality, relevant technical documents that influence the way people design, use, and manage the Internet. “<br /> -<br />DNS dhcpIPv4 IPv6 TCP UDP RTP SMTP TELNET IGMP ICMPFTP ECHO ARP POP3 OSPF SNMP RIP <br /><br />
    6. 6. IETF Meetings<br />The First IETF Audiocast occurred in 1992. Since then, IETF sessions were conducted on the Mbone. <br />Create 1<br />Descr.: DNS Discussion San Fran<br />Orig.: John Doe<br />Info:<br />Start: 04.04.2001 / 09.30<br />End: 04.20.2001 / 16:30<br />Media: Audio GSM<br />Media: Video H.263<br />Disseminate 2<br />SAP/NNTP/HTTP<br />Invite<br />SMTP/SIP<br />Join 3<br />PC/Telephone<br />Media 4<br />PC/Telephone<br />
    7. 7. Simple Conference Invitation Protocol<br />by Henning Schulzrinne<br />CALL<br />CHANGE<br />CLOSE<br />TCP/SCIP<br />1xx<br />2xx<br />3xx<br />4xx<br />5xx<br />Session Invitation Protocol<br />by Mark Handley and Eve Schooler<br />SUCCESSUNSUCCESSFUL<br />BUSY<br />DECLINE<br />UNKNOWN<br />FAILED<br />FORBIDDEN<br />RINGING<br />RINGING<br />TRYING<br />REDIRECT<br />ALTERNATIVE<br />UDP/SDP<br />NEGOTIATE<br />
    8. 8. Simple Conference Invitation Protocol<br />SCIP/1.0 302 Callee has moved temporarily<br />Location:<br />Location:<br />CALL 1.0<br />User-Agent: coco/1.3<br />From: Christian Zahl &lt;;<br />To: Henning Schulzrinne &lt;;<br />Call-Id:<br />Referer:<br />Expires: Mon, 02 Oct 1995 18:44:11 GMT<br />Required: fc99cb08 audio/pcmu; port=3456; transport=RTP;<br />rate=16000; channels=1; pt=97; net=; ttl=128,<br />audio/gsm; port=3456; transport=RTP; rate=8000; channels=1,<br />audio/lpc; port=3456; transport=RTP; rate=8000; channels=1<br />SIP/1.0 REQ<br />PA= 16<br />AU=none<br />ID=<br /><br /><br />v=0<br />o=van 2353644765 2353687637 IN IP4<br />s=Mbone Audio<br />i=Discussion of Mbone Engineering Issues<br /> (Van Jacobsen<br />c=IN IP4<br />t=0 0<br />m=audio 3456 RTP PCMU<br />Session Invitation Protocol<br />
    9. 9. Papa SIP<br />“Personal Mobility for Multimedia Services in the Internet”<br /> by Henning Schulzrinne*, March 1996<br /><br /><br />* Developed RTP<br />
    10. 10. The Internet Architect<br />SIP (RFC 2543, RFC 3261); SDP (RFC 2327; SAP, RFC 2974); Protocol Independent Multicast-Sparse Mode (PIM-SM, RFC 2362), TCP-Friendly Rate Control (TFRC, RFC 3448), Multicast-Scope Zone Announcement Protocol (MZAP, RFC 2776), Multicast Address Allocation (RFC 2908, RFC 2909), TCP Congestion Window Validation ( RFC 2861), Reliable Multicast ( RFC 3451, RFC 3452, RFC 3453, RFC 3048), Datagram Congestion Control Protocol ( RFC 4340, RFC 4336). <br />Mark Handley<br />Founder of XORP (<br /><br />
    11. 11. SIP Drafts<br /><br />Dec. 2, 1996 draft-ietf-mmusic-sip-01<br />March 27, 1997 draft-ietf-mmusic-sip-02<br />July 31, 1997 draft-ietf-mmusic-sip-03<br />November 11, 1997 draft-ietf-mmusic-sip-04<br />May 14, 1998 draft-ietf-mmusic-sip-05<br />June 17, 1998 draft-ietf-mmusic-sip-06<br />July 16, 1998 draft-ietf-mmusic-sip-07<br />August 7, 1998 draft-ietf-mmusic-sip-08<br />September 18, 1998 draft-ietf-mmusic-sip-09<br />September 28, 1998 Last call<br />November 12, 1998 draft-ietf-mmusic-sip-10<br />December 15, 1998 draft-ietf-mmusic-sip-11<br />January 15, 1999 draft-ietf-mmusic-sip-12<br />February 2, 1999 Approved<br />March 17, 1999 RFC 2543<br />
    12. 12. SIP Today<br />The Hitchhiker’s Guide to SIP<br /><br />RFC 3261 (SIP: Session Initiation Protocol)<br />RFC 3263 (Session Initiation Protocol (SIP): Locating SIP Servers)<br />RFC 3264 (An Offer/Answer Model with Session Description Protocol (SDP))<br />RFC 3265 (Session Initiation Protocol (SIP)-Specific Event Notification)<br />RFC 3325 (Private Extensions to SIP for Asserted Identity within Trusted Networks)<br />RFC 3327 (SIP Extension Header Field for Registering Non-Adjacent Contacts)<br />RFC 3581 (An Extension to SIP for Symmetric Response Routing)<br />RFC 3840 (Indicating User Agent Capabilities in SIP)<br />RFC 4320 (Actions Addressing Issues Identified with the Non-INVITE Transaction in SIP)<br />RFC 4474 (Enhancements for Authenticated Identity Management in SIP)<br />GRUU (Obtaining and Using Globally Routable User Agent Identifiers (GRUU) in SIP)<br />OUTBOUND (Managing Client Initiated Connections through SIP)<br />RFC 4566 (Session Description Protocol)SDP-CAP (SDP Capability Negotiation)<br />ICE (Interactive Connectivity Establishment)<br />RFC 3605 (Real Time Control Protocol (RTCP) Attribute in the Session Description Protocol)<br />RFC 4916 (Connected Identity in the Session Initiation Protocol (SIP))<br />RFC 3311 (The SIP UPDATE Method)<br />SIPS-URI (The Use of the SIPS URI Scheme in the Session Initiation Protocol (SIP))<br />RFC 3665 (Session Initiation Protocol (SIP) Basic Call Flow Examples)<br />Don’t Panic!<br />
    13. 13. SIP 101<br />Any sufficiently advanced technology is indistinguishable from magic.<br />- Arthur C. Clarke<br />
    14. 14. User Agents<br />Client Server<br />Proxy<br />Registrar<br />Redirect<br />
    15. 15. SIP Methods<br />
    16. 16. SIP Responses<br />
    17. 17. Basic Call Flow<br />User Agent<br />Proxy Server<br />User Agent<br />INVITE<br />INVITE<br />100 Trying<br />180 Ringing<br />180 Ringing<br />200 OK<br />200 OK<br />ACK<br />ACK<br />Media Session<br />BYE<br />BYE<br />200 OK<br />200 OK<br />
    18. 18. Example SIP Request<br />INVITE SIP/2.0<br />Via: SIP/2.0/UDP;branch=j3mF42aV349<br />From: TN Lottery&lt;;;tag=27fn23ask<br />To: Matt &lt;;<br />Call-ID: 393j23m9df3adv3211<br />Max-Forwards: 70<br />Cseq: 1 INVITE<br />Contact: sip:youwon@<br />Content-Type: application/sdp<br />Contact-Length: 126<br />v=0<br />o=youwon 2890844526 2890844526 IN IP4<br />s=SIP Call<br />c=IN IP4<br />t=0 0<br />m=audio 32894 RTP/AVP 0 101<br />a=rtpmap: 0 PCMU/8000<br />a=rtpmap: 101 iLBC/8000<br />
    19. 19. Example SIP Response<br />SIP/2.0 200 OK <br />Via: SIP/2.0/UDP;branch=j3mF42aV349<br />From: Matt &lt;;;tag=32fd45d36-d4ad<br />To: TN Lottery&lt;; ;tag=27fn23ask<br />Call-ID: 393j23m9df3adv3211<br />Max-Forwards: 70<br />Cseq: 1 INVITE<br />Contact: &lt;sip:matt@;<br />Content-Type: application/sdp<br />Contact-Length: 126<br />v=0<br />o=matt 7844 125 IN IP4<br />s=SIP Call<br />c=IN IP4<br />t=0 0<br />m=audio 43589 RTP/AVP 0<br />a=sendrecv<br />a=rtpmap: 0 PCMU/8000<br />
    20. 20. Uniform Resource Identifier<br /><br /><br />
    21. 21. Cisco and SIP<br />&quot;Cisco&apos;s multi-protocol packet voice strategy includes support for SIP, and we believe the promise of SIP has become a reality.”<br /> - Lou Santora, former VP of Cisco’s voice technology group in 2002<br />
    22. 22. Cisco Fellow<br /><ul><li>Active in IETF
    23. 23. Co-author of the Session Initiation Protocol (SIP), RFC 3261,
    24. 24. SIMPLE - SIP for presence and IM.
    25. 25. STUN (Simple Traversal of UDP through NAT)
    26. 26. TURN (Traversal Using Relay NAT)
    27. 27. XCAP (XML Configuration Access Protocol)
    28. 28. Author of 30 patents and publications, 45 Internet RFCs, and numerous Internet Drafts in the area of multimedia communications over packet networks</li></ul>Jonathan Rosenberg<br /><br />
    29. 29. SIP Enabled Cisco Products<br />
    30. 30. Cisco Unified SIP Proxy<br />NM for the 3800 series ISR<br />NME-CUSP-522-K9<br />2 GB of RAM<br />160 GB hard disk<br />Gigabit Ethernet to the router backplane<br />Supported on 12.4.22T<br />Simplifies management of large SIP networks<br />CUSP uses a counted license (10, 30, and 100 calls per second)<br />
    31. 31. Cisco UC Manager<br />Functions as a B2BUA<br />owns each leg of call as a separate dialog<br />more stateful than proxy servers<br />inter-work SIP with other protocols<br />B2BUA for all types of SIP calls (trunk and line)<br />Cisco’s implementation is 100% standards compatible SIP<br />
    32. 32. But…<br />There are “extensions” to SIP implemented in CUCM for SCCP feature parity.<br />Leads to two modes of SIP support for phones.<br />Advanced<br />Basic<br />
    33. 33. Third-Party SIP Phone Categories<br />
    34. 34. Cisco Unified Border Element<br />Feature in IOS, since 12.3.11T (version 1.0)<br />was IPIPGW<br />up to version 1.3 as of 12.4.22YB<br />Allows for demarcation point in SP scenarios<br />Provides H.323&lt;-&gt;SIP interoperability<br />Two licensing models, CUBE session licenses, or flat INTVVSRV license<br />At a minimum, requires the IP Voice feature set<br />
    35. 35. Same ol’ Dial-peers <br />SIP-VG(config)# voice service voip<br />SIP-VG(config-voi-serv)# allow-connections sip to sip<br />SIP-VG(config-voi-serv)# allow-connections sip to h323<br />SIP-VG(config)# dial-peer voice 2111 voip<br />SIP-VG(config-dial-peer)# session target ipv4:<br />SIP-VG(config-dial-peer)# session protocol sipv2<br />SIP-VG(config-dial-peer)# session transport tcp<br />SIP-VG(config-dial-peer)# destination-pattern 615[2-9]……<br />SIP-VG(config-dial-peer)# dtmf-relay sip-notify rtp-nte<br />
    36. 36. Troubleshooting CUBE<br />SIP-VG# debug ccsip ?<br />all<br />calls<br />error<br />events<br />info<br />media<br />messages<br />preauth<br />states<br />transport<br />SIP-VG# debug voip dial-peer<br />SIP-VG# show sip-ua service<br />
    37. 37. Cisco Unified Presence<br />Presence server provides SIP SUBSCRIBE/NOTIFY functionality to the Cisco Unified Personal Communicator<br />Integrates with CUCM via SIP Trunk<br />SUBSCRIBE ext 1111<br />NOTIFY ext 1111<br />
    38. 38. Other Vendors and SIP<br />“Competition is not only the basis of protection to the consumer, but is the incentive to progress”<br />- Herbert Hoover<br />
    39. 39. SIP, it’s everywhere<br />
    40. 40. Future of SIP<br />As far as I&apos;m concerned, progress peaked with frozen pizza.<br />- John McClain, Die Hard 2<br />
    41. 41. What’s next?<br />P2P SIP (DNS SRV, end-point resolution)<br />Universal Personal Telecommunications<br />Presence as the dial-tone of the 21st century<br />ENUM (E.164 to SIP URI discovery)<br />Extensions Galore<br />
    42. 42. Links<br /><br /><br /><br /><br /><br /><br /><br /><br />
    43. 43. The End<br />