Voice over IP (VoIP; or IP telephony, Internet telephony) is a set of technologies necessary for voice communications delivering and multimedia sessions providing over IP (Internet Protocol) networks (Internet).
The Internet telephony represents the delivery of communications services such as voice, fax, SMS, voice-messaging over Internet, rather than via the public switched telephone network (PSTN). VoIP telephone call setup process is similar to traditional digital telephony and includes actions:
The encoded voice data are packetized and transmitted as IP packets over a packet-switched data network (PSDN). Examples of VoIP applications are Skype, Google Talk.
There are several competing approaches how to implement the VoIP. Each one is based on a set of protocols to handle signaling, data transmission, and other tasks. The most used protocol in a VoIP world is SIP [12]. The Session Initiation Protocol (SIP) is a communication protocol which provides signalization of control for multimedia communication sessions. It is independent on the underlying transport protocol and can use:
Consequently, SIP is an application-layer control protocol that handles the setup, modification, and tear-down of multimedia sessions. Media can be added to (and removed from) an existing session. SIP is used in combination with other protocols to describe the session characteristics to potential session participants. SIP is based on a request and response transaction model similar to HTTP. Each transaction consists of a request that invokes a particular method or a function on the server and at least one response.
There are several popular codecs used for voice encoding in VoIP sessions such as G.711, G.722, or G.729.