Session Initiation Protocol (SIP)
Session Initiation Protocol (SIP)
- Defined in RFC 3261, updated by RFC 3853 & RFC 4320
- provides application layer signaling
- Used to establish, modify, and terminate multimedia sessions
- can utilize UDP, TCP, TLS, SCTP, … for underlying transport
- HTTP-like
- uses textual rather than binary (à la H.323) messages (⇒ humans can read them)
- uses Uniform Resource Indicators (URIs) to designate calling and called parties
- target applications : voice, video, gaming, instant messaging, presence,
- call control†, …
SIP is an alternative to H.323. SIP only covers the signaling parts of H.323. SIP does not use RTP itself, but sessions can use RTP.
- SIP provides ability to discover remote users and establish interactive sessions
- Does not ensure QoS or deliver large quantities of data
SIP uses SDP (Session Description Protocol) to provide information about a call, such as, the media encoding, protocol port number, multicast addresses, etc.
† Largely taken from Advanced Intelligent Network (AIN).
Slide Notes
Session Initiation Protocol (SIP) Working Group, Webpage,
http://www.ietf.org/html.charters/sip-charter.html Links to an external site.
Henning Schulzrinne’s Session Initiation Protocol (SIP) web page: http://www.cs.columbia.edu/sip/ Links to an external site.
M. Handley, H. Schulzrinne, E. Schooler, and J. Rosenberg, “SIP: Session Initiation Protocol”, IETF, Network Working Group, RFC 2543, March 1999, Obsoleted by RFC 3261, RFC 3262, RFC 3263, RFC 3264, RFC 3265, http://datatracker.ietf.org/doc/rfc2543/ Links to an external site.
J. Rosenberg, H. Schulzrinne, G. Camarillo, A. Johnston, J. Peterson, Sparks, M. Handley, and E. Schooler,”SIP: Session Initiation Protocol”, IETF, Network Working Group, RFC 3261, June 2002, Updated by RFC 3265, RFC 3853, RFC 4320, RFC 4916, RFC 5393, RFC 5621, RFC 5626, RFC 5630, RFC 5922, http://datatracker.ietf.org/doc/rfc3261/ Links to an external site.
R. Sparks, “Actions Addressing Identified Issues with the Session Initiation Protocol’s (SIP) Non-INVITE Transaction”, IETF, Network Working Group, RFC 4320, January 2006, Updates RFC 3261, http://datatracker.ietf.org/doc/rfc4320/ Links to an external site.
J. Peterson, “S/MIME Advanced Encryption Standard (AES) Requirement for the Session Initiation Protocol (SIP)”, IETF, Network Working Group, RFC 3853, July 2004, Updates RFC 3261, http://datatracker.ietf.org/doc/rfc3853/ Links to an external site.
Transcript
[slide118] So, the original SIP protocol was defined in RFC 3261, updated by a bunch of other protocols. It provides application layer signaling to be able to initiate, modify, and terminate a SIP session. That's what it's for. It can utilize a whole variety of transport protocols from UDP, TCP, TLS, SCTP, etc. It's very HTTP-like. And the idea was all kinds of media sessions. Now, it's kind of interesting because it was to handle all these media, but it doesn't actually include any specification about the media. They left that to another protocol called the Session Description Protocol, and that actually contains the information about what ports, what CODECs, etc. [are] to be used. So, SIP is only about the signaling about creating, modifying, and terminating sessions.