Voice over IP (VoIP) Protocol Review

Protocol Basics


Layer: Application Transport: <acronym title="Transmission Control Protocol">TCP</acronym> or <acronym title="User Datagram Protocol">UDP</acronym> Port(s): 5060, 5061 RFC(s): 2543, 3261

SIP (Session Initiation Protocol)

SIP is by far the most popular protocol used in VoIP communication today. SIP was designed as a signaling protocol in charge of setting up and tearing down sessions between two or more devices. Additionally, SIP can be used to modify existing sessions. The protocol was designed to be independent of transport protocols. Thus, SIP can be used over both TCP and UDP. As of this writing, popular open source PBX Asterisk only supports SIP over UDP.

<!--more-->

Protocol Basics


Layer: Application Transport: <acronym title="Transmission Control Protocol">TCP</acronym> or <acronym title="User Datagram Protocol">UDP</acronym> Port(s): 1720 RFC(s):

H.323

H.323 isn't a single protocol as much a system of protocols. It is an <acronym title="International Telecommunication Union">ITU</acronym> recommendation focused on providing multimedia communication in IP networks. On of its strengths over purely audio-based protocols is the ability to provide video conferencing. Other protocols often used in conjunction with H.323 include H.225 for call signaling, H.245 for call control, and Real-time Transport Protocol (RTP) for multimedia communication.

Protocol Basics


Layer: Application Transport: <acronym title="Transmission Control Protocol">TCP</acronym> or <acronym title="User Datagram Protocol">UDP</acronym> Port(s): 200 RFC(s):

MGCP (Media Gateway Control Protocol)

Like SIP, MGCP is a signaling protocol. Unlike SIP, MGCP relies on another protocol, Session Description Protocol (SDP), to handle session creation and termination. MGCP was originally designed to handle scaling issues experienced by large service providers. The original purpose of the protocol was to handle communication between call routing devices and media conversion gateways. For example, MGCP might be used between an Asterisk server and a Cisco AS5350 Universal Access Server connected to the <acronym title="Public Switched Telephone Network">PSTN</acronym>.

Protocol Basics


Layer: Application Transport: <acronym title="User Datagram Protocol">UDP</acronym> Port(s): 2427 RFC(s): 3435

SCCP (Skinny Client Control Protocol)

Skinny is a proprietary protocol originally developed by Selsius Systems and now owned and maintained by Cisco Systems. Although proprietary, open source versions of the protocol have been implemented. Although Cisco 7900 series phones use Skinny to communicate with Cisco CallManager, the SMB-targeted Linksys IP phones use SIP.

Protocol Basics


Layer: Application Transport: <acronym title="User Datagram Protocol">UDP</acronym> Port(s): 4569 RFC(s): 5456

Inter-Asterisk Exchange (IAX / IAX2)

IAX was designed to provide call control functionality between Asterisk PBXs. One of the benefits of IAX is that both control and data traffic are included in the same stream. Therefore, if a connection can be established, audio will pass successfully. This is not true of signaling protocols that rely on other protocols to provide audio traffic. This makes IAX particularly useful in firewalled / NATed environments. Mark Spencer detailed the benefits of IAX versus SIP.

My Bookshelf

Reading Now

Other Stuff