<?xml version="1.0" encoding="UTF-8" standalone="no"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Chapter 8. Protocols for VoIP</title><link rel="stylesheet" href="styles.css" type="text/css" /><meta name="generator" content="DocBook XSL Stylesheets V1.69.1" /><link rel="start" href="index.html" title="Asterisk™: The Future of Telephony" /><link rel="up" href="index.html" title="Asterisk™: The Future of Telephony" /><link rel="prev" href="asterisk-CHP-7-SECT-5.html" title="Conclusion" /><link rel="next" href="asterisk-CHP-8-SECT-1.html" title="The Need for VoIP Protocols" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Chapter 8. Protocols for VoIP</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="asterisk-CHP-7-SECT-5.html">Prev</a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="asterisk-CHP-8-SECT-1.html">Next</a></td></tr></table><hr /></div><div class="chapter" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title"><a id="asterisk-CHP-8"></a>Chapter 8. Protocols for VoIP</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="sect1"><a href="asterisk-CHP-8-SECT-1.html">The Need for VoIP Protocols</a></span></dt><dt><span class="sect1"><a href="asterisk-CHP-8-SECT-2.html">VoIP Protocols</a></span></dt><dd><dl><dt><span class="sect2"><a href="asterisk-CHP-8-SECT-2.html#asterisk-CHP-8-SECT-2.1">IAX (The “Inter-Asterisk eXchange” Protocol)</a></span></dt><dd><dl><dt><span class="sect3"><a href="asterisk-CHP-8-SECT-2.html#asterisk-CHP-8-SECT-2.1.1">History</a></span></dt><dt><span class="sect3"><a href="asterisk-CHP-8-SECT-2.html#asterisk-CHP-8-SECT-2.1.2">Future</a></span></dt><dt><span class="sect3"><a href="asterisk-CHP-8-SECT-2.html#asterisk-CHP-8-SECT-2.1.3">Security considerations</a></span></dt><dt><span class="sect3"><a href="asterisk-CHP-8-SECT-2.html#asterisk-CHP-8-SECT-2.1.4">IAX and NAT</a></span></dt></dl></dd><dt><span class="sect2"><a href="asterisk-CHP-8-SECT-2.html#asterisk-CHP-8-SECT-2.2">SIP</a></span></dt><dd><dl><dt><span class="sect3"><a href="asterisk-CHP-8-SECT-2.html#asterisk-CHP-8-SECT-2.2.1">History</a></span></dt><dt><span class="sect3"><a href="asterisk-CHP-8-SECT-2.html#asterisk-CHP-8-SECT-2.2.2">Future</a></span></dt><dt><span class="sect3"><a href="asterisk-CHP-8-SECT-2.html#asterisk-CHP-8-SECT-2.2.3">Security considerations</a></span></dt><dt><span class="sect3"><a href="asterisk-CHP-8-SECT-2.html#asterisk-CHP-8-SECT-2.2.4">SIP and NAT</a></span></dt></dl></dd><dt><span class="sect2"><a href="asterisk-CHP-8-SECT-2.html#asterisk-CHP-8-SECT-2.3">H.323</a></span></dt><dd><dl><dt><span class="sect3"><a href="asterisk-CHP-8-SECT-2.html#asterisk-CHP-8-SECT-2.3.1">History</a></span></dt><dt><span class="sect3"><a href="asterisk-CHP-8-SECT-2.html#asterisk-CHP-8-SECT-2.3.2">Future</a></span></dt><dt><span class="sect3"><a href="asterisk-CHP-8-SECT-2.html#asterisk-CHP-8-SECT-2.3.3">Security considerations</a></span></dt><dt><span class="sect3"><a href="asterisk-CHP-8-SECT-2.html#asterisk-CHP-8-SECT-2.3.4">H.323 and NAT</a></span></dt></dl></dd><dt><span class="sect2"><a href="asterisk-CHP-8-SECT-2.html#asterisk-CHP-8-SECT-2.4">MGCP</a></span></dt><dt><span class="sect2"><a href="asterisk-CHP-8-SECT-2.html#asterisk-CHP-8-SECT-2.5">Proprietary Protocols</a></span></dt><dd><dl><dt><span class="sect3"><a href="asterisk-CHP-8-SECT-2.html#asterisk-CHP-8-SECT-2.5.1">Skinny/SCCP</a></span></dt><dt><span class="sect3"><a href="asterisk-CHP-8-SECT-2.html#asterisk-CHP-8-SECT-2.5.2">UNISTIM</a></span></dt></dl></dd></dl></dd><dt><span class="sect1"><a href="asterisk-CHP-8-SECT-3.html">Codecs</a></span></dt><dd><dl><dt><span class="sect2"><a href="asterisk-CHP-8-SECT-3.html#asterisk-CHP-8-SECT-3.1.1">G.711</a></span></dt><dt><span class="sect2"><a href="asterisk-CHP-8-SECT-3.html#asterisk-CHP-8-SECT-3.1.2">G.726</a></span></dt><dt><span class="sect2"><a href="asterisk-CHP-8-SECT-3.html#asterisk-CHP-8-SECT-3.1.4">G.729A</a></span></dt><dt><span class="sect2"><a href="asterisk-CHP-8-SECT-3.html#asterisk-CHP-8-SECT-3.1.5">GSM</a></span></dt><dt><span class="sect2"><a href="asterisk-CHP-8-SECT-3.html#asterisk-CHP-8-SECT-3.1.6">iLBC</a></span></dt><dt><span class="sect2"><a href="asterisk-CHP-8-SECT-3.html#asterisk-CHP-8-SECT-3.1.7">Speex</a></span></dt><dt><span class="sect2"><a href="asterisk-CHP-8-SECT-3.html#asterisk-CHP-8-SECT-3.1.8">MP3</a></span></dt></dl></dd><dt><span class="sect1"><a href="asterisk-CHP-8-SECT-4.html">Quality of Service</a></span></dt><dd><dl><dt><span class="sect2"><a href="asterisk-CHP-8-SECT-4.html#asterisk-CHP-8-SECT-4.1">TCP, UDP, and SCTP</a></span></dt><dd><dl><dt><span class="sect3"><a href="asterisk-CHP-8-SECT-4.html#asterisk-CHP-8-SECT-4.1.1">Transmission Control Protocol</a></span></dt><dt><span class="sect3"><a href="asterisk-CHP-8-SECT-4.html#asterisk-CHP-8-SECT-4.1.2">User Datagram Protocol</a></span></dt><dt><span class="sect3"><a href="asterisk-CHP-8-SECT-4.html#asterisk-CHP-8-SECT-4.1.3">Stream Control Transmission Protocol</a></span></dt></dl></dd><dt><span class="sect2"><a href="asterisk-CHP-8-SECT-4.html#asterisk-CHP-8-SECT-4.2">Differentiated Service</a></span></dt><dt><span class="sect2"><a href="asterisk-CHP-8-SECT-4.html#asterisk-CHP-8-SECT-4.3">Guaranteed Service</a></span></dt><dd><dl><dt><span class="sect3"><a href="asterisk-CHP-8-SECT-4.html#asterisk-CHP-8-SECT-4.3.1">MPLS</a></span></dt><dt><span class="sect3"><a href="asterisk-CHP-8-SECT-4.html#asterisk-CHP-8-SECT-4.3.2">RSVP</a></span></dt></dl></dd><dt><span class="sect2"><a href="asterisk-CHP-8-SECT-4.html#asterisk-CHP-8-SECT-4.4">Best Effort</a></span></dt></dl></dd><dt><span class="sect1"><a href="asterisk-CHP-8-SECT-5.html">Echo</a></span></dt><dd><dl><dt><span class="sect2"><a href="asterisk-CHP-8-SECT-5.html#asterisk-CHP-8-SECT-5.1">Why Echo Occurs</a></span></dt><dt><span class="sect2"><a href="asterisk-CHP-8-SECT-5.html#asterisk-CHP-8-SECT-5.2">Managing Echo on Zaptel Channels</a></span></dt><dt><span class="sect2"><a href="asterisk-CHP-8-SECT-5.html#id4141692">Hardware Echo Cancellation</a></span></dt></dl></dd><dt><span class="sect1"><a href="asterisk-CHP-8-SECT-6.html">Asterisk and VoIP</a></span></dt><dd><dl><dt><span class="sect2"><a href="asterisk-CHP-8-SECT-6.html#asterisk-CHP-8-SECT-6.1">Users and Peers and Friends—Oh My!</a></span></dt><dd><dl><dt><span class="sect3"><a href="asterisk-CHP-8-SECT-6.html#asterisk-CHP-8-SECT-6.1.1">Users</a></span></dt><dt><span class="sect3"><a href="asterisk-CHP-8-SECT-6.html#asterisk-CHP-8-SECT-6.1.2">Peers</a></span></dt><dt><span class="sect3"><a href="asterisk-CHP-8-SECT-6.html#asterisk-CHP-8-SECT-6.1.3">Friends</a></span></dt></dl></dd><dt><span class="sect2"><a href="asterisk-CHP-8-SECT-6.html#asterisk-CHP-8-SECT-6.2">register Statements</a></span></dt></dl></dd><dt><span class="sect1"><a href="I_sect18_tt1164.html">VoIP Security</a></span></dt><dd><dl><dt><span class="sect2"><a href="I_sect18_tt1164.html#id4142334">Spam over Internet Telephony (SPIT)</a></span></dt><dt><span class="sect2"><a href="I_sect18_tt1164.html#id4142376">Encrypting Audio with Secure RTP</a></span></dt><dt><span class="sect2"><a href="I_sect18_tt1164.html#id4142411">Spoofing</a></span></dt><dt><span class="sect2"><a href="I_sect18_tt1164.html#id4142428">What Can Be Done?</a></span></dt><dd><dl><dt><span class="sect3"><a href="I_sect18_tt1164.html#id4142439">Basic network security</a></span></dt><dt><span class="sect3"><a href="I_sect18_tt1164.html#id4142507">Encryption</a></span></dt><dt><span class="sect3"><a href="I_sect18_tt1164.html#id4142530">Physical security</a></span></dt></dl></dd></dl></dd><dt><span class="sect1"><a href="asterisk-CHP-8-SECT-7.html">Conclusion</a></span></dt></dl></div><div class="epigraph"><p><span class="emphasis"><em>The Internet is a telephone system that’s gotten uppity</em></span>.</p><div class="attribution"><span>--<span class="attribution">Clifford Stoll</span></span></div></div><p>The telecommunications<a id="ch08_voipprotocols" class="indexterm"></a> industry spans over 100 years, and Asterisk integrates most—if not all—of the major technologies that it has made use of over the last century. To make the most out of Asterisk, you need not be a professional in all areas, but understanding the differences between the various codecs and protocols will give you a greater appreciation and understanding of the system as a whole.</p><p>This chapter explains Voice over IP and what makes VoIP networks different from the traditional circuit-switched voice networks that were the topic of the last chapter. We will explore the need for VoIP protocols, outlining the history and potential future of each. We’ll also look at security considerations and these protocols’ abilities to work within topologies such as <a id="I_indexterm8_tt1087" class="indexterm"></a><a id="I_indexterm8_tt1088" class="indexterm"></a>Network Address Translation (NAT). The following VoIP protocols will be discussed (some more briefly than others):</p><div class="itemizedlist"><ul type="disc"><li><p>IAX</p></li><li><p>SIP</p></li><li><p>H.323</p></li><li><p>MGCP</p></li><li><p>Skinny/SCCP</p></li><li><p>UNISTIM</p></li></ul></div><p>Codecs are the means by which analog voice can be converted to a digital signal and carried across the Internet. Bandwidth at any location is finite, and the number of simultaneous conversations any particular connection can carry is directly related to the type of codec implemented. In this chapter, we’ll also explore the differences between the following codecs in regards to bandwidth requirements (compression level) and quality:</p><div class="itemizedlist"><ul type="disc"><li><p>G.711</p></li><li><p>G.726</p></li><li><p>G.729A</p></li><li><p>GSM</p></li><li><p>iLBC</p></li><li><p>Speex</p></li><li><p>MP3</p></li></ul></div><p>We will then conclude the chapter with a discussion of how voice traffic can be routed reliably, what causes echo and how to deal with it, and how Asterisk controls the authentication of inbound and outbound calls.</p></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="asterisk-CHP-7-SECT-5.html">Prev</a> </td><td width="20%" align="center"> </td><td width="40%" align="right"> <a accesskey="n" href="asterisk-CHP-8-SECT-1.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Conclusion </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> The Need for VoIP Protocols</td></tr></table></div><div xmlns="" id="svn-footer"><hr /><p>You are reading <em>Asterisk: The Future of Telephony</em> (2nd Edition for Asterisk 1.4), by Jim van Meggelen, Jared Smith, and Leif Madsen.<br /> This work is licensed under the <a href="http://creativecommons.org/licenses/by-nc-nd/3.0/">Creative Commons Attribution-Noncommercial-No Derivative Works License v3.0</a>.<br /> To submit comments, corrections, or other contributions to the text, please visit <a href="http://oreilly.com/catalog/9780596510480/">http://www.oreilly.com/</a>.</p></div></body></html>