Protocol Basics
Layer: Application
Transport: TCP or UDP
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.

Protocol Basics
Layer: Application
Transport: TCP or UDP
Port(s): 1720
RFC(s):

H.323

H.323 isn't a single protocol as much a system of protocols. It is an ITU 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: TCP or UDP
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 PSTN.

Protocol Basics
Layer: Application
Transport: UDP
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: UDP
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.