What Is The SIP Protocol?

What Is The SIP Protocol

Date First Published: 16th April 2022

Topic: Computer Networking

Subtopic: Internet Protocols

Article Type: Computer Terms & Definitions

Difficulty: Advanced

Difficulty Level: 8/10

Learn more about what the SIP protocol is in this article.

Short for session initiation protocol, SIP is a signalling protocol used to initiate, maintain, and terminate real-time communication sessions with network devices. It is used in VoIP to control multimedia communication sessions over the internet. It was defined by the IETF as RFC 3261 in 1996 and standardised in 1999.

Note: Info Icon

A session is defined as a simple call between two devices. For example, when a call is occuring, that call would be known as a session. When the call finishes, the session comes to an end.

An example of the use of the SIP protocol is in telephony. The session is created when someone calls another person and they answer the phone call. When the phone call ends, the session comes to an end. The SIP protocol is text-based, meaning that it is possible for anyone to read a SIP message that was exchanged between the devices in a SIP session. In addition, it is designed to be very basic with a limited set of commands.

When establishing and terminating a multimedia session, the user’s location, capabilities, availability, session setup, and session management are determined by the SIP protocol. Note that communication services are not provided by SIP. 

In a similar way to HTTP, SIP is also a text-based protocol, which means that the content of SIP is in a readable format, making it easier to read and debug.

SIP Requests

SIP requests are the codes used for establishing communication. 14 SIP requests exist, which are defined below.

  • INVITE – To initiate a media session between the user agents.
  • REGISTER – To carry out the registration of a user agent.
  • CANCEL – To terminate a session that is not established. User agents can use this request to cancel a pending call attempt that was initiated earlier.
  • ACK – To acknowledge the final responses to an INVITE method.
  • UPDATE – To alter the state of a session whilst keeping the state of a dialogue.
  • SUBSCRIBE – To initiate a subscription for notifications of events from a notifier.
  • PUBLISH – To send event state information to a server.
  • REFER – To refer another user agent to access a URI for the dialogue.
  • PRACK- To acknowledge the receipt of a reliable transmission of a provisional response.
  • INFO – To send signalling information to another user agent that has established a media session.
  • NOTIFY – To notify a subscriber of notifications of a new event.
  • OPTIONS – To query the capabilities of a device.
  • MESSAGE – To deliver a text message.
  • BYE – To terminate an established session.

Encryption

SIPS (Session Initiation Protocol Secure) is the secure version of the SIP protocol to secure calls made via the public internet using TLS. In order for end-to-end encryption to take place, it is necessary for direct communication to occur between two devices.

History

Mark Handley, Henning Schulzrinne, Eve Schooler, and Jonathan Rosenberg, four computer scientists introduced the SIP protocol in 1996 for the purpose of enabling multimedia sessions on the Mbone, an experimental network backbone. In 1999, the protocol was standardised as RFC 2543. SIP was approved as a 3GPP signalling protocol in November 2000. The specification was altered to RFC 3261 in June 2002.

Originally, the SIP protocol was designed to provide a signalling and call setup protocol for network communications with support for the call processing functions and features that are available in the public switched telephone network. Over a period of time, the SIP protocol has been extended to support video conferring, streaming, instant messaging, online games, and media distribution.

TCP/IP Protocol
Application layer BGPDHCPDNSFTPHTTPIMAPLDAPMGCPNNTPNTPOSPFPOPPTPONC/RPCRTPRTSPRIPSIPSMTPSNMPSSHTelnetXMPP
Transport layer TCPUDPDCCPSCTPRSVPQUIC
Internet layer IPICMPNDPECNIGMP.
Link layer TunnelsPPPMAC


Feedback

  • Is there anything that you disagree with on this page?
  • Are there any spelling, grammatical, or punctuation errors on this page?
  • Are there any broken links or design errors on this page?

If so, it is important that you tell me as soon as possible on this page.