Sophie

Sophie

distrib > Mandriva > 2008.1 > i586 > by-pkgid > c7095aefea7b97fbd2a596dcbfb9d481 > files > 418

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>The Promise of Open Source 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-15.html" title="Chapter 15. Asterisk: The Future of Telephony" /><link rel="prev" href="asterisk-CHP-15-SECT-2.html" title="Paradigm Shift" /><link rel="next" href="asterisk-CHP-15-SECT-4.html" title="The Future of Asterisk" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">The Promise of Open Source Telephony</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="asterisk-CHP-15-SECT-2.html">Prev</a> </td><th width="60%" align="center">Chapter 15. Asterisk: The Future of Telephony</th><td width="20%" align="right"> <a accesskey="n" href="asterisk-CHP-15-SECT-4.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-15-SECT-3"></a>The Promise of Open Source Telephony</h2></div></div></div><div class="epigraph"><p>Every good work of software starts by scratching a developer’s
      personal itch.</p><div class="attribution"><span>--<span class="attribution">Eric S. Raymond, <span class="emphasis"><em>The Cathedral and the
      Bazaar</em></span></span></span></div></div><p>In his book<a id="I_indexterm15_tt1761" class="indexterm"></a><a id="I_indexterm15_tt1762" class="indexterm"></a> <span class="emphasis"><em>The Cathedral and the Bazaar</em></span>
    (O’Reilly), Eric S. Raymond explains that “Given enough eyeballs, all bugs
    are shallow.” The reason open source software development produces such
    consistent quality is simple: crap can’t hide.</p><div class="sect2" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="asterisk-CHP-15-SECT-3.1"></a>The Itch That Asterisk Scratches</h3></div></div></div><p>In this era of custom database and web site development, people
      are not only tired of hearing that their telephone system “can’t do
      that,” they quite frankly just don’t believe it. The creative needs of
      the customers, coupled with the limitations of the technology, have
      spawned a type of creativity born of necessity: telecom engineers are
      like <span class="keep-together">contestants</span> in an episode of
      <span class="emphasis"><em>Junkyard Wars</em></span>, trying to create functional devices
      out of a pile of mismatched components.</p><p>The development methodology of a proprietary telephone system
      dictates that it will have a huge number of features, and that the
      number of features will in large part determine the price. Manufacturers
      will tell you that their products give you hundreds of features, but if
      you only need five of them, who cares? Worse, if there’s one missing
      feature you really can’t do without, the value of that system will be
      diluted by the fact that it can’t completely address your needs.</p><p>The fact that a customer might only need 5 out of 500 features is
      ignored, and that customer’s desire to have 5 unavailable features that
      address the needs of his business is dismissed as unreasonable.<sup>[<a id="asterisk-CHP-15-FN-5" href="#ftn.asterisk-CHP-15-FN-5">155</a>]</sup> Until flexibility becomes standard, telecom will remain
      stuck in the last century—all the VoIP in the world
      notwithstanding.</p><p>Asterisk addresses that problem directly and solves it in a way
      that few other telecom systems can. This is extremely disruptive
      technology, in large part because it is based on concepts that have been
      proven time and time again: “the closed-source world cannot win an
      evolutionary arms race with open-source communities that can put orders
      of magnitude more skilled time into a problem.”<sup>[<a id="asterisk-CHP-15-FN-6" href="#ftn.asterisk-CHP-15-FN-6">156</a>]</sup></p></div><div class="sect2" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="asterisk-CHP-15-SECT-3.2"></a>Open Architecture</h3></div></div></div><p>One of the stumbling<a id="I_indexterm15_tt1763" class="indexterm"></a> blocks of the traditional telecommunications industry has
      been its apparent refusal to cooperate with itself. The big
      telecommunications giants have all been around for over a hundred years.
      The concept of closed, proprietary systems is so ingrained in their
      culture that even their attempts at standards compliancy are tainted by
      their desire to get the jump on the competition, by adding that one
      feature that no one else supports. For an example of this thinking, one
      simply has to look at the VoIP products being offered by the telecom
      industry today. While they claim standards compliance, the thought that
      you would actually expect to be able to connect a Cisco phone to a
      Nortel switch, or that an Avaya voicemail system could be integrated via
      IP to a Siemens PBX, is not one that bears discussing.</p><p>In the computer industry, things are different. Twenty years ago,
      if you bought an IBM server, you needed an IBM network and IBM terminals
      to talk to it. Now, that IBM server is likely to interconnect to Dell
      terminals though a Cisco network (and run Linux, of all things). Anyone
      can easily think of thousands of variations on this theme. If any one of
      these companies were to suggest that we could only use their products
      with whatever they told us, they would be laughed out of
      business.</p><p>The telecommunications industry is facing the same changes, but
      it’s in no hurry to accept them. Asterisk, on the other hand, is in a
      big hurry to not only accept change, but embrace it.</p><p>Cisco, Nortel, Avaya, and Polycom IP phones (to name just a few)
      have all been successfully connected to Asterisk systems. There is no
      other PBX in the world today that can make this claim. None.</p><p><span class="emphasis"><em>Openness is the power of Asterisk</em></span>.</p></div><div class="sect2" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="asterisk-CHP-15-SECT-3.3"></a>Standards Compliance</h3></div></div></div><p>In the past few years, it has become clear that standards evolve
      at such a rapid pace that to keep up with them requires an ability to
      quickly respond to emerging technology trends. Asterisk, by virtue of
      being an open source, community-driven development effort, is uniquely
      suited to the kind of rapid development that standards compliance
      demands.</p><p>Asterisk does not focus on cost-benefit analysis or market
      research. It evolves in response to whatever the community finds
      exciting—or necessary.</p></div><div class="sect2" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="asterisk-CHP-15-SECT-3.4"></a>Lightning-Fast Response to New Technologies</h3></div></div></div><p>After Mark Spencer attended his first SIP Interoperability Test
      (SIPIT) event, he had a rudimentary but working SIP stack for Asterisk
      coded within a few days. This was before SIP had emerged as the protocol
      of choice in the VoIP world, but he saw its value and momentum and
      ensured that Asterisk would be ready.</p><p>This kind of foresight and flexibility is typical in an open
      source development community (and very unusual in a large
      corporation).</p></div><div class="sect2" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="asterisk-CHP-15-SECT-3.5"></a>Passionate Community</h3></div></div></div><p>The <span class="emphasis"><em>Asterisk-users</em></span> list receives many email
      messages per day. More than 10,000 people are subscribed to it. This
      kind of community support is unheard of in the world of proprietary
      telecommunications, while in the open source world it is
      commonplace.</p><p>The very first AstriCon event was expected to attract 100
      participants. Nearly 500 showed up (far more wanted to but couldn’t
      attend). This kind of community support virtually guarantees the success
      of an open source effort.</p></div><div class="sect2" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="asterisk-CHP-15-SECT-3.6"></a>Some Things That Are Now Possible</h3></div></div></div><p>So what sorts of things can be built using Asterisk? Let’s look at
      some of the things we’ve come up with.</p><div class="sect3" lang="en" xml:lang="en"><div class="titlepage"><div><div><h4 class="title"><a id="asterisk-CHP-15-SECT-3.6.1"></a>Legacy PBX migration gateway</h4></div></div></div><p>Asterisk can <a id="I_indexterm15_tt1764" class="indexterm"></a>be used as a fantastic bridge between an old PBX and the
        future. You can place it in front of the PBX as a gateway (and migrate
        users off the PBX as needs dictate), or you can put it behind the PBX
        as a peripheral application server. You can even do both at the same
        time, as shown in <a href="asterisk-CHP-15-SECT-3.html#asterisk-CHP-15-FIG-1" title="Figure 15.1. Asterisk as a PBX gateway">Figure 15.1, “Asterisk as a PBX gateway”</a>.</p><div class="figure"><a id="asterisk-CHP-15-FIG-1"></a><p class="title"><b>Figure 15.1. Asterisk as a PBX gateway</b></p><div class="mediaobject"><a id="I_mediaobject15_tt1765"></a><img src="figs/web/ast2_1501.png" alt="Asterisk as a PBX gateway" /></div></div><p>Here are some of the options you can implement:</p><div class="variablelist"><dl><dt><span class="term">
                <span class="emphasis"><em>Keep your old PBX, but evolve to
            IP</em></span>
              </span></dt><dd><p>Companies that have spent vast sums of money in the past
              few years buying proprietary PBX equipment want a way out of
              proprietary jail, but they can’t stomach the thought of throwing
              away all of their otherwise functioning equipment. No
              problem—Asterisk can solve all kinds of dilemmas, from replacing
              a voicemail system to providing a way to add IP-based users
              beyond the nominal capacity of the system.</p></dd><dt><span class="term">
                <span class="emphasis"><em>Find-me-follow-me</em></span>
              </span></dt><dd><p>Provide the PBX a list of numbers where you can be
              reached, and it will ring them all whenever a call to your DID
              (Direct Inward Dialing, a.k.a. phone number) arrives. <a href="asterisk-CHP-15-SECT-3.html#asterisk-CHP-15-FIG-2" title="Figure 15.2. Find-me-follow-me">Figure 15.2, “Find-me-follow-me”</a> illustrates this
              technology.</p></dd><dt><span class="term">
                <span class="emphasis"><em>VoIP calling</em></span>
              </span></dt><dd><p>If a legacy telephony connection from an Asterisk PBX to
              an old PBX can be established, Asterisk can provide access to
              VoIP services, while the old PBX continues to connect to the
              outside world as it always has. As a gateway, Asterisk simply
              needs to emulate the functions of the PSTN, and the old PBX
              won’t know that anything has changed. <a href="asterisk-CHP-15-SECT-3.html#asterisk-CHP-15-FIG-3" title="Figure 15.3. VoIP-enabling a legacy PBX">Figure 15.3, “VoIP-enabling a legacy PBX”</a> shows how you can use
              Asterisk to VoIP-enable a legacy PBX.</p></dd></dl></div><div class="figure"><a id="asterisk-CHP-15-FIG-2"></a><p class="title"><b>Figure 15.2. Find-me-follow-me</b></p><div class="mediaobject"><a id="I_mediaobject15_tt1766"></a><img src="figs/web/ast2_1502.png" alt="Find-me-follow-me" /></div></div><div class="figure"><a id="asterisk-CHP-15-FIG-3"></a><p class="title"><b>Figure 15.3. VoIP-enabling a legacy PBX</b></p><div class="mediaobject"><a id="I_mediaobject15_tt1767"></a><img src="figs/web/ast2_1503.png" alt="VoIP-enabling a legacy PBX" /></div></div></div><div class="sect3" lang="en" xml:lang="en"><div class="titlepage"><div><div><h4 class="title"><a id="asterisk-CHP-15-SECT-3.6.2"></a>Low-barrier IVR</h4></div></div></div><p>Many people confuse the term<a id="I_indexterm15_tt1768" class="indexterm"></a><a id="I_indexterm15_tt1769" class="indexterm"></a> “Interactive Voice Response,” or IVR, with the
        Automated Attendant (AA). Since the Automated Attendant was the very
        first thing IVR was used for, this is understandable. Nevertheless, to
        the telecom industry, the term IVR represents far more than an AA. An
        AA generally does little more than present a way for callers to be
        transferred to extensions, and it is built into most proprietary
        voicemail systems—but IVR can be so much more.</p><p>IVR systems are generally very expensive not only to purchase,
        but also to configure. A custom IVR system will usually require
        connectivity to an external database or application. Asterisk is
        arguably the perfect IVR, as it embraces the concepts of connectivity
        to databases and applications at its deepest level.</p><p>Here are a few examples of relatively simple IVRs that an
        Asterisk system could be used to create:</p><div class="variablelist"><dl><dt><span class="term">
                <span class="emphasis"><em>Weather reporting</em></span>
              </span></dt><dd><p>Using the Internet, you can obtain text-based weather
              reports from around the world in a myriad of ways. Capturing
              these reports and running them through a purpose-built parser
              (Perl would probably eat this up) would allow the information to
              be available to the dialplan. Asterisk’s sound library already
              contains all of the required prompts, so it would not be an
              onerous task to produce an interactive menu to play current
              forecasts for anywhere in the world.</p></dd><dt><span class="term">
                <span class="emphasis"><em>Math programs</em></span>
              </span></dt><dd><p>Ed Guy (the architect of Pulver’s FWD network) did a
              presentation at AstriCon 2004 in which he talked about a little
              math program he’d cooked up for his daughter to use. The program
              took him no more than an hour to write. What it did was present
              her with a number of math questions, the answers to which she
              keyed into the telephone. When all the questions were tabulated,
              the system presented her with her score. This extremely simple
              Asterisk application would cost tens of thousands of dollars to
              implement on any closed PBX platform, assuming it could be done
              at all. See <a href="asterisk-CHP-9.html" title="Chapter 9. The Asterisk Gateway Interface (AGI)">Chapter 9, <i>The Asterisk Gateway Interface (AGI)</i></a> for further
              details. As is so often the case, things that are simple for
              Asterisk would be either impossible or massively expensive with
              any other IVR system.</p></dd><dt><span class="term">
                <span class="emphasis"><em>Distributed IVR</em></span>
              </span></dt><dd><p>The cost of a proprietary IVR system is such that when a
              company with many small retail locations wants to provide IVR,
              it is forced to transfer callers to a central server to process
              the transactions. With Asterisk, it becomes possible to
              distribute the application to each node and, thus, handle the
              requests locally. Literally thousands of little Asterisk systems
              deployed at retail locations across the world could serve up IVR
              functionality in a way that would be impossible to achieve with
              any other system. No more long-distance transfers to a central
              IVR server, no more huge trunking facility dedicated to the
              task—more power with less expense.</p></dd></dl></div><p>These are three rather simple examples of the potential of
        Asterisk.</p></div><div class="sect3" lang="en" xml:lang="en"><div class="titlepage"><div><div><h4 class="title"><a id="asterisk-CHP-15-SECT-3.6.3"></a>Conference rooms</h4></div></div></div><p>This little gem is going to end up being one of the killer
        functions of Asterisk. In the Asterisk community, everyone finds
        themselves using conference rooms more and more, for purposes such as
        these:</p><div class="itemizedlist"><ul type="disc"><li><p>Small companies need an easy way for business partners to
            get together for a chat.</p></li><li><p>Sales teams have a meeting once per week where everyone can
            dial in from wherever they are.</p></li><li><p>Development teams designate a common place and time to
            update one another on progress.</p></li></ul></div></div><div class="sect3" lang="en" xml:lang="en"><div class="titlepage"><div><div><h4 class="title"><a id="asterisk-CHP-15-SECT-3.6.4"></a>Home automation</h4></div></div></div><p>Asterisk is still too much of an über-geek’s tool to be able to
        serve in the average home, but with no more than average Linux and
        Asterisk skills, the following things become plausible:</p><div class="variablelist"><dl><dt><span class="term">
                <span class="emphasis"><em>Monitoring the kids</em></span>
              </span></dt><dd><p>Parents who want to check up on the babysitter (or the
              kids home alone) could dial an extension context protected by a
              password. Once authenticated, a two-way audio connection would
              be created to all the IP phones in the house, allowing Mom and
              Dad to listen for trouble. Creepy? Yes. But an interesting
              concept nonetheless.</p></dd><dt><span class="term">
                <span class="emphasis"><em>Locking down your phones</em></span>
              </span></dt><dd><p>Going out for the night? Don’t want the babysitter tying
              up the phone? No problem! A simple tweak to the dialplan, and
              the only calls that can be made are to 911, your cell phone, and
              the pizza parlor. Any other call attempt will get the recording
              “We are paying you to babysit our kids, not make personal
              calls.”</p><p>Pretty evil, huh?</p></dd><dt><span class="term">
                <span class="emphasis"><em>Controlling the alarm system</em></span>
              </span></dt><dd><p>You get a call while on vacation that your Mom wants to
              borrow some cooking utensils. She forgot her key and is standing
              in front of the house shivering. Piece of cake; a call to your
              Asterisk system, a quick digit string into the context you
              created for the purpose, and your alarm system is instructed to
              disable the alarm for 15 minutes. Mom better get her stuff and
              get out quick, though, or the cops’ll be showing up!</p></dd><dt><span class="term">
                <span class="emphasis"><em>Managing teenagers’ calls</em></span>
              </span></dt><dd><p>How about allocating a specific phone-time limit to your
              teenagers? To use the phone, they have to enter their access
              codes. They can earn extra minutes by doing chores, scoring all
              As, dumping that annoying bum with the bad haircut—you get the
              idea. Once they’ve used up their minutes... click... you get
              your phone back.</p><p>Incoming calls can be managed as well, via Caller ID.
              “Donny, this is Suzy’s father. She is no longer interested in
              seeing you, as she has decided to raise her standards a bit.
              Also, you should consider getting a haircut.”</p></dd></dl></div></div></div><div class="footnotes"><br /><hr width="100" align="left" /><div class="footnote"><p><sup>[<a id="ftn.asterisk-CHP-15-FN-5" href="#asterisk-CHP-15-FN-5">155</a>] </sup>From the perspective of the closed-source industry, this
          attitude is understandable. In his book <span class="emphasis"><em>The Mythical
          Man-Month: Essays on Software Engineering</em></span>
          (Addison-Wesley), Fred Brooks opined that “the complexity and
          communication costs of a project rise with the square of the number
          of developers, while work done only rises linearly.” Without a
          community-based development methodology, it is very difficult to
          deliver products that at best are little more than incremental
          improvements over their predecessors, and at worst are merely
          collections of patches.</p></div><div class="footnote"><p><sup>[<a id="ftn.asterisk-CHP-15-FN-6" href="#asterisk-CHP-15-FN-6">156</a>] </sup>Eric S. Raymond, <span class="emphasis"><em>The Cathedral and the
          Bazaar</em></span>.</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-15-SECT-2.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="asterisk-CHP-15.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="asterisk-CHP-15-SECT-4.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Paradigm Shift </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> The Future of Asterisk</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>