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.