The most common applications of Session Initiation Protocol are in Internet telephony for voice and video calls, private IP telephone systems, as well as instant messaging over Internet Protocol (IP) networks.
Session Initiation Protocol can be used for creating, modifying and terminating sessions consisting of one or several media streams. Session Initiation Protocol is designed to be independent (although not agnostic) of the underlying transport layer, and can be used with UDP, TCP, and SCTP; Session Initiation Protocol can also be secured using TLS over the latter two. Session Initiation Protocol is a text-based protocol, incorporating many elements of the Hypertext Transfer Protocol (HTTP) and the Simple Mail Transfer Protocol (SMTP).
By itself, Session Initiation Protocol only provides signaling; it is used in conjunction with other protocols that specify the media format and protocol to be used to subsequently communicate the media. Although Session Initiation Protocol can carry arbitrary data, Session Initiation Protocol is typically used to carry a Session Description Protocol (SDP) message specifying the codec and the use of either the Real-time Transport Protocol (RTP) or Secure Real-time Transport Protocol (SRTP) for media communication.