Session Initiation ProtocolMatt Bynum, CCIE (Voice) #21753
SIP is a protocol for establishing sessions in an IP network.
AgendaProtocol HistorySIP 101Cisco and SIP(Ssshhh!) Other vendors and SIPFuture of SIP
Protocol HistoryTo know where you’re going, you have to know where you’ve been.- who knows? Not Google.
Setting the StageThe Internet Engineering Task Force first met in 1986.“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. “					- http://www.ietf.org/about/mission.htmlDNS dhcpIPv4 IPv6 TCP UDP RTP SMTP TELNET IGMP ICMPFTP ECHO ARP POP3 OSPF SNMP RIP http://tools.ietf.org/html/rfc5000
IETF MeetingsThe First IETF Audiocast occurred in 1992.  Since then, IETF sessions were conducted on the Mbone.  Create						1Descr.: DNS Discussion San FranOrig.: John Doe j.doe@com.comInfo: http://www.com.comStart: 04.04.2001 / 09.30End: 04.20.2001 / 16:30Media: Audio GSM 224.1.6.7/49000Media: Video H.263 224.1.6.8/49100Disseminate				2SAP/NNTP/HTTPInviteSMTP/SIPJoin						3PC/TelephoneMedia						4PC/Telephone
Simple Conference Invitation Protocolby Henning SchulzrinneCALLCHANGECLOSETCP/SCIP1xx2xx3xx4xx5xxSession Invitation Protocolby Mark Handley and Eve SchoolerSUCCESSUNSUCCESSFULBUSYDECLINEUNKNOWNFAILEDFORBIDDENRINGINGRINGINGTRYINGREDIRECTALTERNATIVEUDP/SDPNEGOTIATE
Simple Conference Invitation ProtocolSCIP/1.0 302 Callee has moved temporarilyLocation: jones@salt.lab3.company.comLocation: jones@pepper.lab3.company.comCALL hgs@lupus.fokus.gmd.de 1.0User-Agent: coco/1.3From: Christian Zahl <cz@cs.tu-berlin.de>To: Henning Schulzrinne <schulzrinne@fokus.gmd.de>Call-Id: 9510021900.AA07734@lion.cs.tu-berlin.deReferer: ceres.fokus.gmd.deExpires: Mon, 02 Oct 1995 18:44:11 GMTRequired: fc99cb08 audio/pcmu; port=3456; transport=RTP;rate=16000; channels=1; pt=97; net=224.2.0.1; ttl=128,audio/gsm; port=3456; transport=RTP; rate=8000; channels=1,audio/lpc; port=3456; transport=RTP; rate=8000; channels=1SIP/1.0 REQPA=128.16.65.19 16AU=noneID=128.16.65.19/32492374FR=M.Handley@cs.ucl.ac.ukTO=J.Crowcroft@cs.ucl.ac.ukv=0o=van 2353644765 2353687637 IN IP4 128.3.4.5s=Mbone Audioi=Discussion of Mbone Engineering Issuese=van@ee.lbl.gov (Van Jacobsenc=IN IP4 224.2.0.1/127t=0 0m=audio 3456 RTP PCMUSession Invitation Protocol
Papa SIP“Personal Mobility for Multimedia Services in the Internet”				by Henning Schulzrinne*, March 1996http://www.cs.columbia.edu/~hgs/papers/Schu9603_Personal.pdfhttp://www.cs.columbia.edu/~hgs/* Developed RTP
The Internet ArchitectSIP (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). Mark HandleyFounder of XORP (www.xorp.org)http://www.cs.ucl.ac.uk/staff/M.Handley/
SIP Draftshttp://www.cs.columbia.edu/sip/history.htmlDec. 2, 1996 		draft-ietf-mmusic-sip-01March 27, 1997 	draft-ietf-mmusic-sip-02July 31, 1997 		draft-ietf-mmusic-sip-03November 11, 1997 	draft-ietf-mmusic-sip-04May 14, 1998 		draft-ietf-mmusic-sip-05June 17, 1998 		draft-ietf-mmusic-sip-06July 16, 1998 		draft-ietf-mmusic-sip-07August 7, 1998 	draft-ietf-mmusic-sip-08September 18, 1998 	draft-ietf-mmusic-sip-09September 28, 1998 	Last callNovember 12, 1998 	draft-ietf-mmusic-sip-10December 15, 1998 	draft-ietf-mmusic-sip-11January 15, 1999 	draft-ietf-mmusic-sip-12February 2, 1999 	ApprovedMarch 17, 1999 	RFC 2543
SIP TodayThe Hitchhiker’s Guide to SIPhttp://tools.ietf.org/html/rfc5411RFC 3261 (SIP: Session Initiation Protocol)RFC 3263 (Session Initiation Protocol (SIP): Locating SIP Servers)RFC 3264 (An Offer/Answer Model with Session Description Protocol (SDP))RFC 3265 (Session Initiation Protocol (SIP)-Specific Event Notification)RFC 3325 (Private Extensions to SIP for Asserted Identity within Trusted Networks)RFC 3327 (SIP Extension Header Field for Registering Non-Adjacent Contacts)RFC 3581 (An Extension to SIP for Symmetric Response Routing)RFC 3840 (Indicating User Agent Capabilities in SIP)RFC 4320 (Actions Addressing Issues Identified with the Non-INVITE Transaction in SIP)RFC 4474 (Enhancements for Authenticated Identity Management in SIP)GRUU	(Obtaining and Using Globally Routable User Agent Identifiers (GRUU) in SIP)OUTBOUND (Managing Client Initiated Connections through SIP)RFC 4566 (Session Description Protocol)SDP-CAP (SDP Capability Negotiation)ICE		(Interactive Connectivity Establishment)RFC 3605	(Real Time Control Protocol (RTCP) Attribute in the Session Description Protocol)RFC 4916 (Connected Identity in the Session Initiation Protocol (SIP))RFC 3311 (The SIP UPDATE Method)SIPS-URI (The Use of the SIPS URI Scheme in the Session Initiation Protocol (SIP))RFC 3665 (Session Initiation Protocol (SIP) Basic Call Flow Examples)Don’t Panic!
SIP 101Any sufficiently advanced technology is indistinguishable from magic.- Arthur C. Clarke
User AgentsClient 		  ServerProxyRegistrarRedirect
SIP Methods
SIP Responses
Basic Call FlowUser AgentProxy ServerUser AgentINVITEINVITE100 Trying180 Ringing180 Ringing200 OK200 OKACKACKMedia SessionBYEBYE200 OK200 OK
Example SIP RequestINVITE sip:matt@ncug.org SIP/2.0Via: SIP/2.0/UDP 216.81.194.139:5060;branch=j3mF42aV349From: TN Lottery<sip:youwon@tnlottery.com>;tag=27fn23askTo: Matt <sip:matt@ncug.org>Call-ID: 393j23m9df3adv3211Max-Forwards: 70Cseq: 1 INVITEContact: sip:youwon@216.81.194.139Content-Type: application/sdpContact-Length: 126v=0o=youwon 2890844526 2890844526 IN IP4 youwon.tnlottery.coms=SIP Callc=IN IP4 216.81.194.139t=0 0m=audio 32894 RTP/AVP 0 101a=rtpmap: 0 PCMU/8000a=rtpmap: 101 iLBC/8000
Example SIP ResponseSIP/2.0 200 OK Via: SIP/2.0/UDP 10.0.0.1:5060;branch=j3mF42aV349From: Matt <sip:matt@ncug.org>;tag=32fd45d36-d4adTo: TN Lottery<sip:youwon@tnlottery.com> ;tag=27fn23askCall-ID: 393j23m9df3adv3211Max-Forwards: 70Cseq: 1 INVITEContact: <sip:matt@10.0.0.1:5060>Content-Type: application/sdpContact-Length: 126v=0o=matt 7844 125 IN IP4 10.0.0.1s=SIP Callc=IN IP4 10.0.0.1t=0 0m=audio 43589 RTP/AVP 0a=sendrecva=rtpmap: 0 PCMU/8000
Uniform Resource Identifierhttp://tools.ietf.org/html/rfc2396sip:user@domain.com
Cisco and SIP"Cisco's multi-protocol packet voice strategy includes support for SIP, and we believe the promise of SIP has become a reality.”			- Lou Santora, former VP of Cisco’s voice technology group in 2002
Cisco FellowActive in IETF
Co-author of the Session Initiation Protocol (SIP), RFC 3261,
SIMPLE - SIP for presence and IM.
STUN (Simple Traversal of UDP through NAT)
TURN (Traversal Using Relay NAT)
XCAP (XML Configuration Access Protocol)
Author of 30 patents and publications, 45 Internet RFCs, and numerous Internet Drafts in the area of multimedia communications over packet networksJonathan Rosenberghttp://www.jdrosen.net/
SIP Enabled Cisco Products
Cisco Unified SIP ProxyNM for the 3800 series ISRNME-CUSP-522-K92 GB of RAM160 GB hard diskGigabit Ethernet to the router backplaneSupported on 12.4.22TSimplifies management of large SIP networksCUSP uses a counted license (10, 30, and 100 calls per second)
Cisco UC ManagerFunctions as a B2BUAowns each leg of call as a separate dialogmore stateful than proxy serversinter-work SIP with other protocolsB2BUA for all types of SIP calls (trunk and line)Cisco’s implementation is 100% standards compatible SIP
But…There are “extensions” to SIP implemented in CUCM for SCCP feature parity.Leads to two modes of SIP support for phones.AdvancedBasic
Third-Party SIP Phone Categories
Cisco Unified Border ElementFeature in IOS, since 12.3.11T (version 1.0)was IPIPGWup to version 1.3 as of 12.4.22YBAllows for demarcation point in SP scenariosProvides H.323<->SIP interoperabilityTwo licensing models, CUBE session licenses, or flat INTVVSRV licenseAt a minimum, requires the IP Voice feature set
Same ol’ Dial-peers	SIP-VG(config)# voice service voipSIP-VG(config-voi-serv)# allow-connections sip to sipSIP-VG(config-voi-serv)# allow-connections sip to h323SIP-VG(config)# dial-peer voice 2111 voipSIP-VG(config-dial-peer)# session target ipv4:10.0.0.1SIP-VG(config-dial-peer)# session protocol sipv2SIP-VG(config-dial-peer)# session transport tcpSIP-VG(config-dial-peer)# destination-pattern 615[2-9]……SIP-VG(config-dial-peer)# dtmf-relay sip-notify rtp-nte
Troubleshooting CUBESIP-VG# debug ccsip ?allcallserroreventsinfomediamessagespreauthstatestransportSIP-VG# debug voip dial-peerSIP-VG# show sip-ua service
Cisco Unified PresencePresence server provides SIP SUBSCRIBE/NOTIFY functionality to the Cisco Unified Personal CommunicatorIntegrates with  CUCM via SIP TrunkSUBSCRIBE ext 1111NOTIFY ext 1111

Session Initiation Protocol

  • 1.
    Session Initiation ProtocolMattBynum, CCIE (Voice) #21753
  • 2.
    SIP is aprotocol for establishing sessions in an IP network.
  • 3.
    AgendaProtocol HistorySIP 101Ciscoand SIP(Ssshhh!) Other vendors and SIPFuture of SIP
  • 4.
    Protocol HistoryTo knowwhere you’re going, you have to know where you’ve been.- who knows? Not Google.
  • 5.
    Setting the StageTheInternet Engineering Task Force first met in 1986.“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. “ - http://www.ietf.org/about/mission.htmlDNS dhcpIPv4 IPv6 TCP UDP RTP SMTP TELNET IGMP ICMPFTP ECHO ARP POP3 OSPF SNMP RIP http://tools.ietf.org/html/rfc5000
  • 6.
    IETF MeetingsThe FirstIETF Audiocast occurred in 1992. Since then, IETF sessions were conducted on the Mbone. Create 1Descr.: DNS Discussion San FranOrig.: John Doe j.doe@com.comInfo: http://www.com.comStart: 04.04.2001 / 09.30End: 04.20.2001 / 16:30Media: Audio GSM 224.1.6.7/49000Media: Video H.263 224.1.6.8/49100Disseminate 2SAP/NNTP/HTTPInviteSMTP/SIPJoin 3PC/TelephoneMedia 4PC/Telephone
  • 7.
    Simple Conference InvitationProtocolby Henning SchulzrinneCALLCHANGECLOSETCP/SCIP1xx2xx3xx4xx5xxSession Invitation Protocolby Mark Handley and Eve SchoolerSUCCESSUNSUCCESSFULBUSYDECLINEUNKNOWNFAILEDFORBIDDENRINGINGRINGINGTRYINGREDIRECTALTERNATIVEUDP/SDPNEGOTIATE
  • 8.
    Simple Conference InvitationProtocolSCIP/1.0 302 Callee has moved temporarilyLocation: jones@salt.lab3.company.comLocation: jones@pepper.lab3.company.comCALL hgs@lupus.fokus.gmd.de 1.0User-Agent: coco/1.3From: Christian Zahl <cz@cs.tu-berlin.de>To: Henning Schulzrinne <schulzrinne@fokus.gmd.de>Call-Id: 9510021900.AA07734@lion.cs.tu-berlin.deReferer: ceres.fokus.gmd.deExpires: Mon, 02 Oct 1995 18:44:11 GMTRequired: fc99cb08 audio/pcmu; port=3456; transport=RTP;rate=16000; channels=1; pt=97; net=224.2.0.1; ttl=128,audio/gsm; port=3456; transport=RTP; rate=8000; channels=1,audio/lpc; port=3456; transport=RTP; rate=8000; channels=1SIP/1.0 REQPA=128.16.65.19 16AU=noneID=128.16.65.19/32492374FR=M.Handley@cs.ucl.ac.ukTO=J.Crowcroft@cs.ucl.ac.ukv=0o=van 2353644765 2353687637 IN IP4 128.3.4.5s=Mbone Audioi=Discussion of Mbone Engineering Issuese=van@ee.lbl.gov (Van Jacobsenc=IN IP4 224.2.0.1/127t=0 0m=audio 3456 RTP PCMUSession Invitation Protocol
  • 9.
    Papa SIP“Personal Mobilityfor Multimedia Services in the Internet” by Henning Schulzrinne*, March 1996http://www.cs.columbia.edu/~hgs/papers/Schu9603_Personal.pdfhttp://www.cs.columbia.edu/~hgs/* Developed RTP
  • 10.
    The Internet ArchitectSIP(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). Mark HandleyFounder of XORP (www.xorp.org)http://www.cs.ucl.ac.uk/staff/M.Handley/
  • 11.
    SIP Draftshttp://www.cs.columbia.edu/sip/history.htmlDec. 2,1996 draft-ietf-mmusic-sip-01March 27, 1997 draft-ietf-mmusic-sip-02July 31, 1997 draft-ietf-mmusic-sip-03November 11, 1997 draft-ietf-mmusic-sip-04May 14, 1998 draft-ietf-mmusic-sip-05June 17, 1998 draft-ietf-mmusic-sip-06July 16, 1998 draft-ietf-mmusic-sip-07August 7, 1998 draft-ietf-mmusic-sip-08September 18, 1998 draft-ietf-mmusic-sip-09September 28, 1998 Last callNovember 12, 1998 draft-ietf-mmusic-sip-10December 15, 1998 draft-ietf-mmusic-sip-11January 15, 1999 draft-ietf-mmusic-sip-12February 2, 1999 ApprovedMarch 17, 1999 RFC 2543
  • 12.
    SIP TodayThe Hitchhiker’sGuide to SIPhttp://tools.ietf.org/html/rfc5411RFC 3261 (SIP: Session Initiation Protocol)RFC 3263 (Session Initiation Protocol (SIP): Locating SIP Servers)RFC 3264 (An Offer/Answer Model with Session Description Protocol (SDP))RFC 3265 (Session Initiation Protocol (SIP)-Specific Event Notification)RFC 3325 (Private Extensions to SIP for Asserted Identity within Trusted Networks)RFC 3327 (SIP Extension Header Field for Registering Non-Adjacent Contacts)RFC 3581 (An Extension to SIP for Symmetric Response Routing)RFC 3840 (Indicating User Agent Capabilities in SIP)RFC 4320 (Actions Addressing Issues Identified with the Non-INVITE Transaction in SIP)RFC 4474 (Enhancements for Authenticated Identity Management in SIP)GRUU (Obtaining and Using Globally Routable User Agent Identifiers (GRUU) in SIP)OUTBOUND (Managing Client Initiated Connections through SIP)RFC 4566 (Session Description Protocol)SDP-CAP (SDP Capability Negotiation)ICE (Interactive Connectivity Establishment)RFC 3605 (Real Time Control Protocol (RTCP) Attribute in the Session Description Protocol)RFC 4916 (Connected Identity in the Session Initiation Protocol (SIP))RFC 3311 (The SIP UPDATE Method)SIPS-URI (The Use of the SIPS URI Scheme in the Session Initiation Protocol (SIP))RFC 3665 (Session Initiation Protocol (SIP) Basic Call Flow Examples)Don’t Panic!
  • 13.
    SIP 101Any sufficientlyadvanced technology is indistinguishable from magic.- Arthur C. Clarke
  • 14.
    User AgentsClient ServerProxyRegistrarRedirect
  • 15.
  • 16.
  • 17.
    Basic Call FlowUserAgentProxy ServerUser AgentINVITEINVITE100 Trying180 Ringing180 Ringing200 OK200 OKACKACKMedia SessionBYEBYE200 OK200 OK
  • 18.
    Example SIP RequestINVITEsip:matt@ncug.org SIP/2.0Via: SIP/2.0/UDP 216.81.194.139:5060;branch=j3mF42aV349From: TN Lottery<sip:youwon@tnlottery.com>;tag=27fn23askTo: Matt <sip:matt@ncug.org>Call-ID: 393j23m9df3adv3211Max-Forwards: 70Cseq: 1 INVITEContact: sip:youwon@216.81.194.139Content-Type: application/sdpContact-Length: 126v=0o=youwon 2890844526 2890844526 IN IP4 youwon.tnlottery.coms=SIP Callc=IN IP4 216.81.194.139t=0 0m=audio 32894 RTP/AVP 0 101a=rtpmap: 0 PCMU/8000a=rtpmap: 101 iLBC/8000
  • 19.
    Example SIP ResponseSIP/2.0200 OK Via: SIP/2.0/UDP 10.0.0.1:5060;branch=j3mF42aV349From: Matt <sip:matt@ncug.org>;tag=32fd45d36-d4adTo: TN Lottery<sip:youwon@tnlottery.com> ;tag=27fn23askCall-ID: 393j23m9df3adv3211Max-Forwards: 70Cseq: 1 INVITEContact: <sip:matt@10.0.0.1:5060>Content-Type: application/sdpContact-Length: 126v=0o=matt 7844 125 IN IP4 10.0.0.1s=SIP Callc=IN IP4 10.0.0.1t=0 0m=audio 43589 RTP/AVP 0a=sendrecva=rtpmap: 0 PCMU/8000
  • 20.
  • 21.
    Cisco and SIP"Cisco'smulti-protocol packet voice strategy includes support for SIP, and we believe the promise of SIP has become a reality.” - Lou Santora, former VP of Cisco’s voice technology group in 2002
  • 22.
  • 23.
    Co-author of theSession Initiation Protocol (SIP), RFC 3261,
  • 24.
    SIMPLE - SIPfor presence and IM.
  • 25.
    STUN (Simple Traversalof UDP through NAT)
  • 26.
  • 27.
    XCAP (XML ConfigurationAccess Protocol)
  • 28.
    Author of 30patents and publications, 45 Internet RFCs, and numerous Internet Drafts in the area of multimedia communications over packet networksJonathan Rosenberghttp://www.jdrosen.net/
  • 29.
  • 30.
    Cisco Unified SIPProxyNM for the 3800 series ISRNME-CUSP-522-K92 GB of RAM160 GB hard diskGigabit Ethernet to the router backplaneSupported on 12.4.22TSimplifies management of large SIP networksCUSP uses a counted license (10, 30, and 100 calls per second)
  • 31.
    Cisco UC ManagerFunctionsas a B2BUAowns each leg of call as a separate dialogmore stateful than proxy serversinter-work SIP with other protocolsB2BUA for all types of SIP calls (trunk and line)Cisco’s implementation is 100% standards compatible SIP
  • 32.
    But…There are “extensions”to SIP implemented in CUCM for SCCP feature parity.Leads to two modes of SIP support for phones.AdvancedBasic
  • 33.
  • 34.
    Cisco Unified BorderElementFeature in IOS, since 12.3.11T (version 1.0)was IPIPGWup to version 1.3 as of 12.4.22YBAllows for demarcation point in SP scenariosProvides H.323<->SIP interoperabilityTwo licensing models, CUBE session licenses, or flat INTVVSRV licenseAt a minimum, requires the IP Voice feature set
  • 35.
    Same ol’ Dial-peers SIP-VG(config)#voice service voipSIP-VG(config-voi-serv)# allow-connections sip to sipSIP-VG(config-voi-serv)# allow-connections sip to h323SIP-VG(config)# dial-peer voice 2111 voipSIP-VG(config-dial-peer)# session target ipv4:10.0.0.1SIP-VG(config-dial-peer)# session protocol sipv2SIP-VG(config-dial-peer)# session transport tcpSIP-VG(config-dial-peer)# destination-pattern 615[2-9]……SIP-VG(config-dial-peer)# dtmf-relay sip-notify rtp-nte
  • 36.
    Troubleshooting CUBESIP-VG# debugccsip ?allcallserroreventsinfomediamessagespreauthstatestransportSIP-VG# debug voip dial-peerSIP-VG# show sip-ua service
  • 37.
    Cisco Unified PresencePresenceserver provides SIP SUBSCRIBE/NOTIFY functionality to the Cisco Unified Personal CommunicatorIntegrates with CUCM via SIP TrunkSUBSCRIBE ext 1111NOTIFY ext 1111

Editor's Notes

  • #3 What are sessions? Phone calls, multi-party conference calls, instant messaging, etc.