16.4. Developer Tools and SoftPBX Systems
Asterisk has earned a reputation as the most feature-complete and ready-to-use softPBX available for free. Since it is covered significantly elsewhere in the book (chapters 3 and 17, specifically ), we'll look at some of the worthwhile add-ons for Asterisk.
AstLinux is a distribution of Gentoo Linux with Asterisk v1 installed, specifically aimed at small-footprint applications. It can fit on 256 MB flash media, though you won't have excessive voice mail recording capacity. AstLinux is available from http://www.krisk.org/astlinux.
22.214.171.124 Asterisk Management Portal
AMP is a PHP- and Perl-based suite that implements a web-based administrator interface for the Asterisk PBX. It makes use of MySQL as well. AMP is available from Coalescent Systems via their web site at http://amp.voxbox.ca.
LDAPGet is a module for Asterisk that allows programmatic use of LDAP inquiries from within the Asterisk dial-plan. This could be useful for multiserver setups with complex dial-plans or for find-me-follow-me lookups and presence applications. LDAPGet is available from http://www.mezzo.net/asterisk.
The Asterisk Fax Manager adds fax-receiving capability to Asterisk extensions via a set of Python scripts. TAFM users can retrieve their faxes by web interface or, with a little programming, by email (http://tafm. sourceforge .net/).
Another fax option for Asterisk is SpanDSP, which was covered in Chapter 14.
126.96.36.199 Asterisk Perl modules
The Perl scripting language has excellent support for Asterisk, thanks to the work of the open source community. A group of modules are available at http://asterisk.gnuinter.net.
Where you find Perl, you're likely to bump into Java. JAsterisk is a thread-based implementation of Java interfaces for Asterisk. It's available from http://sourceforge.net/projects/jasterisk/.
AstWind is a Win32 implementation of Asterisk. It isn't intended for production, but rather to allow Windows users to experiment with Asterisk. Digium's web site states that production environments should run Digium on Linux. It was created by N2Net and is available at ftp://ftp.nacs.net/asterisk/astwind.
188.8.131.52 Open H.323
Open H.323 is a complete H.323 stack implemented for Linux, though a majority of it has been ported to Mac OS X and Solaris. Using H.323 IP phones, Open H.323, and QuickNet voice interface cards, it's possible to build feature-complete softPBX networks with Open H.323. Download it from http://www.openh323.org.
The Vovida Open Communication Application Library is a set of open source components that form a very capable framework for building IP telephony systems. Many telephone network operators regard VOCAL as the standard-bearer of VoIP interoperability.
VOCAL is sponsored by Cisco Systems. As a result, many of the projects described at the project's home page are beholden to Cisco's VoIP hardware. This doesn't detract from VOCAL, though: Cisco's switches and routers are in use on a majority of enterprise VoIP networks. So Cisco's ubiquity in the server closet certainly works in VOCAL's favor.
Developers have used VOCAL code to create IP phones, gateways, RADIUS authentication servers, SIP-to-H.323 translators, conferencing applications, and STUN servers. VOCAL developers offer free and open implementations of G.729A, MPEG-4, and other compression and streaming schemes, as well as a massive developer support archive and very active mailing list. Its web site is http://www.vovida.org, and the authoritative book about VOCAL is O'Reilly's Practical VoIP with VOCAL .
184.108.40.206 Intel Dialogic products
Intel's line of NetStructure gateways and Dialogic interface cards for telephony applications includes an array of device drivers, open source application examples, and lots of documentation. Intel also offers commercial licensing. More information is available at http://www.intel.com/design/network/products/telecom.
220.127.116.11 SIP Express Router
SER from IPTel is an open source SIP server that implements a registrar and proxy. It is designed to be RFC 3261 compliant (http://www.iptel.org).
This commercial software toolset implements a softPBX that uses the Intel Dialogic and NetStructure voice interface products (http://www.envox.com).
A product of the GNU project, Bayonne offers a scriptable telephony service for building voice response systems on Linux. Bayonne allows you to add telephony features to Perl for home automation, automated attendant, voice messaging systems, and so forth (http://www.tuxmobil.org/).
This tool adds Perl-based fax, messaging, and IVR capabilities to Linux (http://www.vocpsystem.com).
18.104.22.168 Telos ISDN H.323 Gateway
This software allows your Linux PC to act as a PSTN-to-H.323 gateway, connecting your H.323-based VoIP network to the public telephone system. http://www.telos.de/linux/H323/default_e.htm
16.4.3. TFTP Servers and Tools
TFTP (Trivial File Transfer Protocol) is the means by which IP phones obtain firmware loads and, sometimes, their operating configurations. This basic, insecure file-transfer system allows you to store a repository of VoIP- related fileslike SIP phone config files, firmware patches, XML user directory files, and ring tonesin a central place. Your DHCP server can tell IP phones the IP address of the TFTP server so they can download the files they need.
Linux, FreeBSD, and Mac OS X have the common TFTP server tftpd. A fantastic GUI add-on for the OS X version of tftpd is TFTPServer, which you can download from http://www. versiontracker .com/dyn/moreinfo/macosx/18561.
Windows users with Cisco CCO accounts can download a good TFTP server from http://www.cisco.com/cgi-bin/tablebuild.pl/tftp, while other Windows users can get a shareware one from http://www.tftp-server.com.