Sophie

Sophie

distrib > Mandriva > 2008.1 > i586 > media > contrib-updates > by-pkgid > c7095aefea7b97fbd2a596dcbfb9d481 > files > 466

asterisk-docs-1.4.26.1-1mdv2008.1.i586.rpm

<?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>Digital Telephony</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="asterisk-CHP-7.html" title="Chapter 7. Understanding Telephony" /><link rel="prev" href="asterisk-CHP-7-SECT-1.html" title="Analog Telephony" /><link rel="next" href="asterisk-CHP-7-SECT-3.html" title="The Digital Circuit-Switched Telephone Network" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Digital Telephony</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="asterisk-CHP-7-SECT-1.html">Prev</a> </td><th width="60%" align="center">Chapter 7. Understanding Telephony</th><td width="20%" align="right"> <a accesskey="n" href="asterisk-CHP-7-SECT-3.html">Next</a></td></tr></table><hr /></div><div class="sect1" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="asterisk-CHP-7-SECT-2"></a>Digital Telephony</h2></div></div></div><p>Analog telephony <a id="ch07_digital" class="indexterm"></a>is almost dead.</p><p>In the PSTN, the famous Last Mile is the final remaining piece of
    the telephone network still using technology pioneered well over a hundred
    years ago.<sup>[<a id="asterisk-CHP-7-FN-5" href="#ftn.asterisk-CHP-7-FN-5">90</a>]</sup></p><p>One of the primary challenges when transmitting analog signals is
    that all sorts of things can interfere with those signals, causing low
    volume, static, <a id="I_indexterm7_tt1028" class="indexterm"></a><a id="I_indexterm7_tt1029" class="indexterm"></a>and all manner of other undesired effects. Instead of trying
    to preserve an analog waveform over distances that may span thousands of
    miles, why not simply measure the characteristics of the original sound
    and send that information to the far end? The original waveform wouldn’t
    get there, but all the information needed to reconstruct it would.</p><p>This is the principle of all digital audio (including telephony):
    sample the characteristics of the source waveform, store the measured
    information, and send that data to the far end. Then, at the far end, use
    the transmitted information to generate a completely new audio signal that
    has the same characteristics as the original. The reproduction is so good
    that the human ear can’t tell the difference.</p><p>The principle advantage of digital audio is that the sampled data
    can be mathematically checked for errors all along the route to its
    destination, ensuring that a perfect duplicate of the original arrives at
    the far end. Distance no longer affects quality, and interference can be
    detected and eliminated.</p><div class="sect2" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="asterisk-CHP-7-SECT-2.1"></a>Pulse-Code Modulation</h3></div></div></div><p>There are<a id="ch07_pulsecode" class="indexterm"></a><a id="I_indexterm7_tt1030" class="indexterm"></a> several ways to digitally encode audio, but the most
      common method (and the one used in telephony systems) is known as
      Pulse-Code Modulation (PCM). To illustrate how this works, let’s go
      through a few examples.</p><div class="sect3" lang="en" xml:lang="en"><div class="titlepage"><div><div><h4 class="title"><a id="asterisk-CHP-7-SECT-2.1.1"></a>Digitally encoding an analog waveform</h4></div></div></div><p>The principle of PCM is that <a id="I_indexterm7_tt1031" class="indexterm"></a><a id="I_indexterm7_tt1032" class="indexterm"></a>the amplitude<sup>[<a id="id4136462" href="#ftn.id4136462">91</a>]</sup>of the analog waveform is sampled at specific intervals
        so that it can later be re-created. The amount of detail that is
        captured is dependent both on the bit resolution of each sample and on
        how frequently the samples are taken. A higher bit resolution and a
        higher sampling rate will provide greater accuracy, but more bandwidth
        will be required to transmit this more detailed information.</p><p>To get a better idea of how PCM works, consider the waveform
        displayed in <a href="asterisk-CHP-7-SECT-2.html#asterisk-CHP-7-FIG-2" title="Figure 7.2. A simple sinusoidal (sine) wave">Figure 7.2, “A simple sinusoidal (sine) wave”</a>.</p><p>To digitally encode the wave, it must be sampled on a regular
        basis, and the amplitude of the wave at each moment in time must be
        measured. The process of slicing up a waveform into moments in time
        and measuring the energy at each moment is <a id="I_indexterm7_tt1033" class="indexterm"></a><a id="I_indexterm7_tt1034" class="indexterm"></a>called <span class="emphasis"><em>quantization</em></span>, or
        <span class="emphasis"><em>sampling</em></span>.</p><p>The samples will need to be taken frequently enough and will
        need to capture enough information to ensure that the far end can
        re-create a sufficiently similar waveform. To achieve a more accurate
        sample, more bits will be required. To explain this concept, we will
        start with a very low resolution, using four bits to represent our
        amplitude. This will make it easier to visualize both the quantization
        process itself and the effect that resolution has on quality.</p><p><a href="asterisk-CHP-7-SECT-2.html#asterisk-CHP-7-FIG-3" title="Figure 7.3. Sampling our sine wave using four bits">Figure 7.3, “Sampling our sine wave using four bits”</a> shows the information
        that will be captured when we sample our<a id="I_indexterm7_tt1035" class="indexterm"></a> sine wave at four-bit resolution.</p><div class="figure"><a id="asterisk-CHP-7-FIG-2"></a><p class="title"><b>Figure 7.2. A simple sinusoidal (sine) wave</b></p><div class="mediaobject"><a id="I_mediaobject7_tt1036"></a><img src="figs/web/ast2_0702.png" alt="A simple sinusoidal (sine) wave" /></div></div><div class="figure"><a id="asterisk-CHP-7-FIG-3"></a><p class="title"><b>Figure 7.3. Sampling our sine wave using four bits</b></p><div class="mediaobject"><a id="I_mediaobject7_tt1037"></a><img src="figs/web/ast2_0703.png" alt="Sampling our sine wave using four bits" /></div></div><p>At each time interval, we measure the amplitude of the wave and
        record the corresponding intensity—in other words, we sample it. You
        will notice that the four-bit resolution limits our accuracy. The
        first sample has to be rounded to <code class="literal">0011</code>, and the next quantization yields a
        sample of <code class="literal">0101</code>. Then comes <code class="literal">0100</code>, followed by <code class="literal">1001</code>, <code class="literal">1011</code>, and so forth. In total, we have 14
        samples (in reality, several thousand samples must be taken per
        second).</p><p>If we string together all the values, we can send them to the
        other side as:</p><a id="I_programlisting7_tt1038"></a><pre class="programlisting">0011 0101 0100 1001 1011 1011 1010 0001 0101 0101 0000 1100 1100 1010</pre><p>On the wire, this code might look something like <a href="asterisk-CHP-7-SECT-2.html#asterisk-CHP-7-FIG-4" title="Figure 7.4. PCM encoded waveform">Figure 7.4, “PCM encoded waveform”</a>.</p><div class="figure"><a id="asterisk-CHP-7-FIG-4"></a><p class="title"><b>Figure 7.4. PCM encoded waveform</b></p><div class="mediaobject"><a id="I_mediaobject7_tt1039"></a><img src="figs/web/ast2_0704.png" alt="PCM encoded waveform" /></div></div><p>When the far end’s digital-to-analog (D/A) converter<a id="I_indexterm7_tt1040" class="indexterm"></a> receives this signal, it can use the information to
        plot the samples, as shown in <a href="asterisk-CHP-7-SECT-2.html#asterisk-CHP-7-FIG-5" title="Figure 7.5. Plotted PCM signal">Figure 7.5, “Plotted PCM signal”</a>.</p><div class="figure"><a id="asterisk-CHP-7-FIG-5"></a><p class="title"><b>Figure 7.5. Plotted PCM signal</b></p><div class="mediaobject"><a id="I_mediaobject7_tt1041"></a><img src="figs/web/ast2_0705.png" alt="Plotted PCM signal" /></div></div><p>From this information, the waveform can be reconstructed (see
        <a href="asterisk-CHP-7-SECT-2.html#asterisk-CHP-7-FIG-6" title="Figure 7.6. Delineated signal">Figure 7.6, “Delineated signal”</a>).</p><div class="figure"><a id="asterisk-CHP-7-FIG-6"></a><p class="title"><b>Figure 7.6. Delineated signal</b></p><div class="mediaobject"><a id="I_mediaobject7_tt1042"></a><img src="figs/web/ast2_0706.png" alt="Delineated signal" /></div></div><p>As you can see if you compare <a href="asterisk-CHP-7-SECT-2.html#asterisk-CHP-7-FIG-2" title="Figure 7.2. A simple sinusoidal (sine) wave">Figure 7.2, “A simple sinusoidal (sine) wave”</a> with <a href="asterisk-CHP-7-SECT-2.html#asterisk-CHP-7-FIG-6" title="Figure 7.6. Delineated signal">Figure 7.6, “Delineated signal”</a>, this reconstruction of the waveform
        is not very accurate. This was done intentionally, to demonstrate an
        important point: the quality of the digitally encoded waveform is
        affected by the resolution and rate at which it is sampled. At too low
        a sampling rate, and with too low a sample resolution, the audio
        quality will not be acceptable.</p></div><div class="sect3" lang="en" xml:lang="en"><div class="titlepage"><div><div><h4 class="title"><a id="asterisk-CHP-7-SECT-2.1.2"></a>Increasing the sampling resolution and rate</h4></div></div></div><p>Let’s take another look at our original waveform, this time
        using five bits to define our quantization intervals (<a href="asterisk-CHP-7-SECT-2.html#asterisk-CHP-7-FIG-7" title="Figure 7.7. The same waveform, on a higher-resolution overlay">Figure 7.7, “The same waveform, on a higher-resolution overlay”</a>).</p><div class="figure"><a id="asterisk-CHP-7-FIG-7"></a><p class="title"><b>Figure 7.7. The same waveform, on a higher-resolution overlay</b></p><div class="mediaobject"><a id="I_mediaobject7_tt1043"></a><img src="figs/web/ast2_0707.png" alt="The same waveform, on a higher-resolution overlay" /></div></div><div class="tip" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title"><a id="asterisk-CHP-7-NOTE-39"></a>Tip</h3><p>In reality, there is no such thing as five-bit PCM. In the
          telephone network, PCM samples are encoded using eight
          bits.<sup>[<a id="asterisk-CHP-7-FN-6" href="#ftn.asterisk-CHP-7-FN-6">92</a>]</sup></p></div><p>We’ll also double our sampling frequency. The points plotted
        this time are shown in <a href="asterisk-CHP-7-SECT-2.html#asterisk-CHP-7-FIG-8" title="Figure 7.8. The same waveform at double the resolution">Figure 7.8, “The same waveform at double the resolution”</a>.</p><div class="figure"><a id="asterisk-CHP-7-FIG-8"></a><p class="title"><b>Figure 7.8. The same waveform at double the resolution</b></p><div class="mediaobject"><a id="I_mediaobject7_tt1044"></a><img src="figs/web/ast2_0708.png" alt="The same waveform at double the resolution" /></div></div><p>We now have twice the number of samples, at twice the
        resolution. Here they are:</p><p><a id="I_programlisting7_tt1045"></a></p><pre class="programlisting">00111 01000 01001 01001 01000 00101 10110 11000 11001 11001 11000 10111 
10100 10001 00010 00111 01001 01010 01001 00111 00000 11000 11010 11010 
11001 11000 10110 10001</pre><p>When received at the other end, that
        information can now be plotted as shown in <a href="asterisk-CHP-7-SECT-2.html#asterisk-CHP-7-FIG-9" title="Figure 7.9. Five-bit plotted PCM signal">Figure 7.9, “Five-bit plotted PCM signal”</a>.</p><div class="figure"><a id="asterisk-CHP-7-FIG-9"></a><p class="title"><b>Figure 7.9. Five-bit plotted PCM signal</b></p><div class="mediaobject"><a id="I_mediaobject7_tt1046"></a><img src="figs/web/ast2_0709.png" alt="Five-bit plotted PCM signal" /></div></div><p>From this information, the waveform shown in <a href="asterisk-CHP-7-SECT-2.html#asterisk-CHP-7-FIG-10" title="Figure 7.10. Waveform delineated from five-bit PCM">Figure 7.10, “Waveform delineated from five-bit PCM”</a> can then be generated.</p><p>As you can see, the resultant waveform is a far more accurate
        representation of the original. However, you can also see that there
        is still room for improvement.</p><div class="tip" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title"><a id="asterisk-CHP-7-NOTE-40"></a>Tip</h3><p>Note that 40 bits were required to encode the waveform at
          4-bit resolution, while 156 bits were needed to send the same
          waveform using 5-bit resolution (and also doubling the sampling
          rate). The point is, there is a tradeoff: the higher the quality of
          audio you wish to encode, the more bits required to do it, and the
          more bits you wish to send (in real time, naturally), the more
          bandwidth you will need to consume.</p></div><div class="figure"><a id="asterisk-CHP-7-FIG-10"></a><p class="title"><b>Figure 7.10. Waveform delineated from five-bit PCM</b></p><div class="mediaobject"><a id="I_mediaobject7_tt1047"></a><img src="figs/web/ast2_0710.png" alt="Waveform delineated from five-bit PCM" /></div></div></div><div class="sect3" lang="en" xml:lang="en"><div class="titlepage"><div><div><h4 class="title"><a id="asterisk-CHP-7-SECT-2.1.3"></a>Nyquist’s Theorem</h4></div></div></div><p>So how much sampling is enough? <a id="I_indexterm7_tt1048" class="indexterm"></a>That very same question was considered in the 1920s by
        an electrical engineer (and AT&amp;T/Bell employee) named Harry
        Nyquist. Nyquist’s Theorem states: “When sampling a signal,
        the<a id="I_indexterm7_tt1049" class="indexterm"></a> <span class="emphasis"><em>sampling frequency</em></span> must be greater
        than twice the bandwidth of the input signal in order to be able to
        reconstruct the original perfectly from the sampled version.”<sup>[<a id="asterisk-CHP-7-FN-7" href="#ftn.asterisk-CHP-7-FN-7">93</a>]</sup></p><p>In essence, what this means is that to accurately encode an
        analog signal you have to sample it twice as often as the total
        bandwidth you wish to reproduce. Since the telephone network will not
        carry frequencies below 300 Hz and above 4,000 Hz, a sampling
        frequency of 8,000 samples per second will be sufficient to reproduce
        any frequency within the bandwidth of an analog telephone. Keep that
        8,000 samples per second in mind; we’re going to talk about it more
        later.</p></div><div class="sect3" lang="en" xml:lang="en"><div class="titlepage"><div><div><h4 class="title"><a id="asterisk-CHP-7-SECT-2.1.4"></a>Logarithmic companding</h4></div></div></div><p>So, we’ve gone over the basics<a id="I_indexterm7_tt1050" class="indexterm"></a><a id="I_indexterm7_tt1051" class="indexterm"></a> of quantization, and we’ve discussed the fact that more
        quantization intervals (i.e., a higher sampling rate) give better
        quality but also require more bandwidth. Lastly, we’ve discussed the
        minimum sample rate needed to accurately measure the range of
        frequencies we wish to be able to transmit (in the case of the
        telephone, it’s 8,000 Hz). This is all starting to add up to a fair
        bit of data being sent on the wire, so we’re going to want to talk
        about companding.</p><p><span class="emphasis"><em>Companding</em></span> is a method of improving the
        dynamic range of a sampling method without losing important accuracy.
        It works by quantizing higher amplitudes in a much coarser fashion
        than lower amplitudes. In other words, if you yell into your phone,
        you will not be sampled as cleanly as you will be when speaking
        normally. Yelling is also not good for your blood pressure, so it’s
        best to avoid it.</p><p>Two companding methods are commonly <a id="I_indexterm7_tt1052" class="indexterm"></a>employed: μlaw<sup>[<a id="asterisk-CHP-7-FN-8" href="#ftn.asterisk-CHP-7-FN-8">94</a>]</sup> in North America, and alaw in the rest of the world.
        They operate on the same principles but are otherwise not compatible
        with each other.</p><p>Companding divides the waveform <a id="I_indexterm7_tt1053" class="indexterm"></a>into <span class="emphasis"><em>cords</em></span>, each of which has
        several <span class="emphasis"><em>steps</em></span>. Quantization involves matching the
        measured amplitude to an appropriate step within a cord. The value of
        the band and cord numbers (as well as the sign—positive or negative)
        becomes the signal. The following diagrams will give you a visual idea
        of what companding does. They are not based on any standard, but
        rather were made up for the purpose of illustration (again, in the
        telephone network, companding will be done at an eight-bit, not
        five-bit, resolution).</p><p><a href="asterisk-CHP-7-SECT-2.html#asterisk-CHP-7-FIG-11" title="Figure 7.11. Five-bit companding">Figure 7.11, “Five-bit companding”</a> illustrates five-bit
        companding. As you can see, amplitudes near the zero-crossing point
        will be sampled far more accurately than higher amplitudes (either
        positive or negative). However, since the human ear, the transmitter,
        and the receiver will also tend to distort loud signals, this isn’t
        really a problem.</p><div class="figure"><a id="asterisk-CHP-7-FIG-11"></a><p class="title"><b>Figure 7.11. Five-bit companding</b></p><div class="mediaobject"><a id="I_mediaobject7_tt1054"></a><img src="figs/web/ast2_0711.png" alt="Five-bit companding" /></div></div><p>A quantized sample might look like <a href="asterisk-CHP-7-SECT-2.html#asterisk-CHP-7-FIG-12" title="Figure 7.12. Quantized and companded at 5-bit resolution">Figure 7.12, “Quantized and companded at 5-bit resolution”</a>. It yields the following bit
        stream:</p><div class="figure"><a id="asterisk-CHP-7-FIG-12"></a><p class="title"><b>Figure 7.12. Quantized and companded at 5-bit resolution</b></p><div class="mediaobject"><a id="I_mediaobject7_tt1055"></a><img src="figs/web/ast2_0712.png" alt="Quantized and companded at 5-bit resolution" /></div></div><a id="I_programlisting7_tt1056"></a><pre class="programlisting">00000 10011 10100 10101 01101 00001 00011 11010 00010 00001 01000 10011 
10100 10100 00101 00100 00101 10101 10011 10001 00011 00001 00000 10100 
10010 10101 01101 10100 00101 11010 00100 00000 01000</pre></div><div class="sect3" lang="en" xml:lang="en"><div class="titlepage"><div><div><h4 class="title"><a id="asterisk-CHP-7-SECT-2.1.5"></a>Aliasing</h4></div></div></div><p>If you’ve ever watched the wheels<a id="I_indexterm7_tt1057" class="indexterm"></a> on a wagon turn backward in an old Western movie,
        you’ve seen the effects of aliasing. The frame rate of the movie
        cannot keep up with the rotational frequency of the spokes, and a
        false rotation is perceived.</p><p>In a digital audio system (which the modern PSTN arguably is),
        aliasing always occurs if frequencies that are greater than one-half
        the sampling rate are presented to the<a id="I_indexterm7_tt1058" class="indexterm"></a> analog-to-digital (A/D) converter. In PSTN, that
        includes any audio frequencies above 4,000 Hz (half the sampling rate
        of 8,000 Hz). This problem is easily corrected by passing the audio
        through a low-pass filter<sup>[<a id="asterisk-CHP-7-FN-9" href="#ftn.asterisk-CHP-7-FN-9">95</a>]</sup> before presenting it to the A/D converter.<a id="I_indexterm7_tt1059" class="indexterm"></a><a id="I_indexterm7_tt1060" class="indexterm"></a><sup>[<a id="id4137541" href="#ftn.id4137541">96</a>]</sup></p></div></div><div class="footnotes"><br /><hr width="100" align="left" /><div class="footnote"><p><sup>[<a id="ftn.asterisk-CHP-7-FN-5" href="#asterisk-CHP-7-FN-5">90</a>] </sup>“The Last Mile” is a term that was originally used to describe
        the only portion of the PSTN that had not been converted to fiber
        optics: the connection between the central office and the customer.
        The Last Mile is more than that, however, as it also has significance
        as a valuable asset of the traditional phone companies; they own a
        connection into your home. The Last Mile is becoming more and more
        difficult to describe in technical terms, as there are now so many
        ways to connect the network to the customer. As a thing of strategic
        value to telecom, cable, and other utilities, its importance is
        obvious.</p></div><div class="footnote"><p><sup>[<a id="ftn.id4136462" href="#id4136462">91</a>] </sup>Amplitude is essentially the power or strength of the
            signal. If you have ever held a skipping rope or garden hose and
            given it a whip, you have seen the resultant wave. The taller the
            wave, the greater the amplitude.</p></div><div class="footnote"><p><sup>[<a id="ftn.asterisk-CHP-7-FN-6" href="#asterisk-CHP-7-FN-6">92</a>] </sup>Other digital audio methods may employ 16 bits or
              more.</p></div><div class="footnote"><p><sup>[<a id="ftn.asterisk-CHP-7-FN-7" href="#asterisk-CHP-7-FN-7">93</a>] </sup>Nyquist published two papers, “Certain Factors Affecting
            Telegraph Speed” (1924) and “Certain Topics in Telegraph
            Transmission Theory” (1928), in which he postulated what became
            known as Nyquist’s Theorem. Proven in 1949 by Claude Shannon
            (“Communication in the Presence of Noise”), it is also referred to
            as the Nyquist-Shannon sampling theorem.</p></div><div class="footnote"><p><sup>[<a id="ftn.asterisk-CHP-7-FN-8" href="#asterisk-CHP-7-FN-8">94</a>] </sup>μlaw is often referred to as “ulaw” because, let’s face it,
            how many of us have μ keys on our keyboards? μ is in fact the
            Greek letter Mu; thus, you will also see μlaw written (more
            correctly) as “Mu-law.” When spoken, it is correct to confidently
            say “Mew-law,” but if folks look at you strangely, and you’re
            feeling generous, you can help them out and tell them it’s “ulaw.”
            Many people just don’t appreciate trivia.</p></div><div class="footnote"><p><sup>[<a id="ftn.asterisk-CHP-7-FN-9" href="#asterisk-CHP-7-FN-9">95</a>] </sup>A low-pass filter, as its name implies, allows through only
            frequencies that are lower than its cut-off frequency. Other types
            of filters are high-pass filters (which remove low frequencies)
            and band-pass filters (which filter out both high and low
            frequencies).</p></div><div class="footnote"><p><sup>[<a id="ftn.id4137541" href="#id4137541">96</a>] </sup>If you ever have to do audio recordings for a system, you
            might want to take advantage of the band-pass filter that is built
            into most telephone sets. Doing a recording using even high-end
            recording equipment can pick up all kinds of background noise that
            you don’t even hear until you downsample, at which point the
            background noise produces aliasing (which can sound like all kinds
            of weird things). Conversely, the phone records in the correct
            format already, so the noise never enters the audio stream. Having
            said all that, no matter what you use to do recordings, avoid
            environments that have a lot of background noise. Typical offices
            can be a lot noisier than you’d think, as HVAC equipment can
            produce noise that we don’t even realize is there.</p></div></div></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-1.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="asterisk-CHP-7.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="asterisk-CHP-7-SECT-3.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Analog Telephony </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> The Digital Circuit-Switched Telephone Network</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>