Voice over IP (VoIP) allows voice services to run over IP networks. This post describes the basic concepts of the technologies and protocols used in a VoIP environment.
Two types of traffic exist in a VoIP platform: signaling and media. Signaling messages are used in order to establish, control and terminate calls, while media traffic is the actual voice data. First signaling messages are exchanged between the endpoints in order to establish a session and negotiate various media parameters. As soon as this step is completed, then media are allowed to pass through this session using the negotiated parameters. In order to modify the session during the call or to even terminate the call, signaling messages need to be exchanged again.
The dominant signaling protocol used for VoIP today is the Session Initiation Protocol (SIP). SIP contains a variety of signaling messages (requests and replies), and it uses different logical entities in order to process the calls. During the signaling setup, the SIP messages contain a Session Description Protocol (SDP) body which is the protocol used to negotiate the various media parameters between the endpoints (such as IP addresses, codecs, etc.). Finally, for the media the Real-Time Transport Protocol (RTP) is used in order to carry the voice packets. More information about the protocols used in VoIP can be found in the corresponding Request For Comments (RFC):
Overall the voice data can travel via different kind of networks; most commonly via traditional TDM-based PSTN networks and, in the case of VoIP, via IP networks such as the public Internet. The end-user devices can be either IP-based phones (such as softphones or IP phones) or regular PSTN telephones. This means that there can be different call scenarios between users where a single call has to traverse through different networks, for example: PSTN-to-IP or IP-to-PSTN, which requires translation techniques between the different platforms.
To summarize, the table below presents the network components that a VoIP solution can consist of:
|VoIP network components||Description|
|End-user devices||They are the endpoints of the calls and can be either IP- or PSTN-based.|
|Proxy server||They process the signaling messages on behalf of endpoints and control the calls.|
|Session Border Controller (SBC)||They are placed in the border of a VoIP network and provide topology hiding, security, session management, etc.|
|Gateways||They are responsible for the interconnection and translation between VoIP and PSTN platforms.|
In later posts, I will describe more in detail the different protocols and procedures used in VoIP.