We've dragged our feet a bit on releasing a Newbie's Guide to Asterisk@Home 2.8 waiting for some of the dust to settle. This release includes not only an upgrade to CentOS Linux and Asterisk® but also introduces a revolutionary new user interface to Asterisk, freePBX 2.01. Of course, there is the usual collection of add-on products (SendMail, Asterisk Mail, PHP, PHPmyAdmin, MySQL, SugarCRM, the Festival Speech Engine, Flash Operator Panel, Open A2Billing, Digium card auto-configuration, loads of AGI scripts including weather forecasts and wakeup calls, xPL support, Microsoft File Sharing and Networking support through Samba and much more) which makes Asterisk@Home one of the most revolutionary products in the commercial or open source marketplace. And, yep, it's still free!
Let us begin by suggesting who shouldn't install this software: NEWBIE'S! If you're one of them or if this is your first Asterisk installation, do yourself a huge favor and cut your teeth on Asterisk@Home 2.7. Our complete Newbie's Guide to Asterisk@Home 2.7 will get you up and running in under an hour. It is a production-quality PBX that just plain works. And it will all but eliminate any new user frustrations that often accompany installation of bleeding edge open source software. Asterisk@Home 2.8 certainly qualifies, and we mean that as a compliment! If you already have an Asterisk@Home system in production, this is an excellent opportunity to leave it alone and either buy a new PC (here's a small-footprint Compaq unit that will set you back less than $150). We just bought several! Or you can run a VMware version of Asterisk@Home 2.8 in a window on your Windows XP desktop. Our instructions for installing the VMware versions are available here. Untested BitTorrent links are available here which will conserve bandwidth at vmwarez.com.
Having said all of that, let us hasten to add that WE LOVE ASTERISK@HOME 2.8! The main reason is that it finally provides an incredibly simple upgrade system in freePBX which will eliminate your having to reinstall every single component from scratch each time a bugfix to the freePBX shell is released. And freePBX, which replaces the Asterisk Management Portal (AMP), finally provides a web interface to virtually anything you'd want to do with Asterisk without having to dig into their code. Finally, freePBX introduces modules which make it easy to add OR upgrade one component without the rip-and-replace drill which has accompanied Asterisk@Home upgrades since Day One. In conclusion, there now are simple upgrade paths for CentOS and its applications, Asterisk, freePBX, and SugarCRM. That all but eliminates the need to continually reinstall Asterisk@Home from scratch and will allow most of us to concentrate on adding new functionality. That's a WIN, WIN deal in our book!
In this introductory article to Asterisk@Home 2.8, we're going to skip some of the hoops we normally walk you through in our Newbie's Guide and point you to some of the new resources which have been put in place to support freePBX. You may want to print out the Newbie's Guide to Asterisk@Home 2.7 if you need a refresher course on some of the basics. We'll refer you to sections of that tutorial as we move quickly through the basics and then get to the good stuff in Asterisk@Home 2.8. The most important tip today is getting your system set up correctly so that you can quickly upgrade when new freePBX releases come out. This has been an almost daily occurrence for the past several weeks and probably will continue that way for at least another month or so. Not to worry! It's brain-dead simple to upgrade once you have your system properly configured. So let's get started.
Basic Asterisk@Home Installation Steps. Download the ISO image of Asterisk@Home 2.8 from your favorite mirror site and make yourself an installation CD. Load it into a machine whose hard disk can be dedicated to Asterisk@Home (i.e. erased). Before booting the system with the new CD, be sure the machine has Internet connectivity or the installation will fail without much of a clue that that's what went wrong. You'll be prompted to choose your root user password for CentOS as part of the install. When the installation completes, log in as root and change your other passwords according to our previous tutorials. Then run yum -y update to get the latest CentOS patches. If you want https web support, do yum -y install mod_ssl. If you want Bluetooth support, perform the same steps outlined in our earlier Newbie's Guides. Then reboot. As we write this, there is no kernel update to the new version of CentOS so there's no need to rebuild the zaptel drivers. When that changes, you'll need to go through the zaptel source rebuild drill which is outlined in our last Newbie's Guide.
Configuring freePBX for Easy Updates. There have been any number of problems identified with Asterisk@Home 2.8 on the SourceForge forums. Most of these involve minor tweaks to freePBX source code. "Minor" is, of course, in the eye of the beholder. It's sorta like minor surgery. That's surgery other folks are having. As tempting as it may be to make changes to the internal code of freePBX, DON'T! If you do, you will jeopardize your ability to automatically update the freePBX modules as new source code is released because each module now has a checksum which is tested before an update is permitted. Bug fixes are released almost daily so you won't have to wait long for a fix. Just to repeat again for slow learners and tinkerers: By messing with the freePBX source code, you will have just destroyed the very best feature of Asterisk@Home 2.8: instantaneous upgrades in place! We're by no means the freePBX experts, but some of the experts do read our columns and will post corrections if we haven't gotten what follows quite right. The critical component to Asterisk@Home 2.8 is getting it set up so you can quickly install freePBX updates as they are released. The web interface will even tell you when something new is available once it is configured properly. But, for this to work, we need to get freePBX upgraded from version 2.01 to the version 2.1beta. Here's how. Log into your Asterisk@Home server as root and issue the following commands before you do any configuring using the freePBX web interface:
rm -rf /usr/src/freepbx
svn co https://svn.sourceforge.net/svnroot/amportal/freepbx/trunk freepbx
You're now set up to download future updates whenever you need them using commands like this:
Keep in mind that you only need to do this when the freePBX "engine" is replaced. All of the individual components which make up freePBX (think of them as spark plugs if you remember what those were) now can be updated from within the web interface itself. If you want more details about the process, click here but we think we've got it about right.
Getting Started with freePBX. You still access freePBX just as you accessed AMP, by pointing a web browser to the internal IP address of your new Asterisk system. The username is still maint. Just enter the password you assigned to freePBX/AMP when you configured your system. In the old days, AMP came preconfigured with everything they thought you'd need to use it. With the new freePBX architecture, you first have to install and enable the modules you want to use. And now others can write modules to expand the capabilities of freePBX without futzing around in the basic source code. You get to these modules by choosing Tools->Module Admin from the main freePBX menu. Unlike some applications, there's really no reason not to activate all of the available modules since they won't slow down Asterisk. The only performance hit is when you click the Red Bar to reload freePBX. The more modules you've activated, the longer it will take to reload freePBX since it queries each module to see if changes need to be applied.
The other thing you need to know about Modules is that there are two types: Local Modules and Online Modules. Local Modules are the pieces that make freePBX work on your local machine. Online Modules provides access to modules which are available for download over the Internet. And Online Modules even tells you which ones are newer than the ones currently on your system. To install new modules after an engine update, you first may need to Uninstall and Remove the old modules from within the Local Modules window if the modules appear to be corrupted. Otherwise, don't or you'll lose your existing configuration data. See the comments for more details. You can do it safely this time IF you haven't input any data yet. Next go back to the Online Modules window and click Download beside each module you want to obtain. When the downloads complete, return to the Local Modules window and click Install then Enable for each module. It sounds harder than it really is, but it's exactly the upgrade path that most of us have been clamoring for these past dozen or so months. Just check the Online Modules window from time to time to see what's new and install it. There were four new updates just today! Before too long, we wouldn't be surprised to see an option to email you notices when new modules are released or older ones are updated. This is nothing short of fantastic for the Asterisk community if we do say so.
Last but not least, for each Module, there now is online documentation. You can read about all the Module pieces by clicking here. Knock yourself out! Once you complete the above steps, you're ready to set up your new system.
Setting Up freePBX. When you click the new Setup tab in freePBX, the first thing you'll notice is there are a lot more options. Start by adding your Trunks. This works pretty much like it always has. Choose ZAP, IAX2, SIP, or ENUM for each trunk and proceed accordingly. Down the road, the grand plan is to have sample settings for each provider on line here. Very cool!
When you have your Trunks set up, you'll need a way to call in (Inbound Routes), call out (Outbound Routes), and a way to process incoming calls: a Digital Receptionist, a Call Queue, a Custom Application, DISA, or a phone to ring (Extensions). And you can add Follow Me routing now with the click of a button. And did we mention the incredible flexibility which has been added to manage calls at different times of the day, week, or month? Check out Time Conditions. The only piece that's still missing is a way to Monitor Inbound Routes by Channel rather than by DID since some providers don't pass DID information but hopefully that will come in due course. You can follow along in our previous tutorials for the basics. When you're ready to explore the new Configuration options, here's the link with all the latest and greatest information. Using freePBX at the moment is akin to laying track in front of a steaming locomotive, but the benefits are so enormous and the bug fixes are being released so quickly that you really won't find it very painful. We haven't! Having said that, I don't think you'd want to stake your business on it at the moment, but it's quickly getting there. And you'll find the adventure downright exhilarating. To our guiding light, Rob Thomas, and the entire freePBX development crew, our hats are off! You get an A+ in our book on this one. And, of course, our usual thanks and gratitude to Andrew Gillis for single-handedly producing nearly flawless versions of Asterisk@Home month after month after month.
Restoring the Asterisk@Home Maintenance Functions. If you're like us, you've become dependent upon the Maintenance functions previously included in the AAH web interface to AMP. You have two choices: either clone it from a system you already have or wait on Rob Thomas to finish his new one. It's easy to restore them if you have an existing Asterisk@Home system running in parallel. First, log in to your new AAH 2.8 server as root and issue this command: mkdir /var/www/html/maint. Then log in to your old AAH system as root and issue the following command substituting the IP address of your AAH 2.8 server for 192.168.0.128. Provide your root password to your new server when prompted.
scp -r /var/www/html/maint/*.* firstname.lastname@example.org:/var/www/html/maint
Now you can access the old Maintenance functions by pointing your web browser to http://192.168.0.128/maint/. Just ignore the Asterisk@Home version number unless you want to crank up Nano and edit /var/www/html/maint/index.php.
Where to Go From Here. This article is a bit of a work in progress for a couple of reasons. First, if you haven't heard, we're moving. In and of itself that wouldn't be a big deal except (1) the movers are coming in three weeks and (2) we're attempting to cram 5500 square feet of "stuff" into the new 3500 square foot house. With less than a month to go, the blog articles have temporarily moved down the priority list a bit ... unless you want to join me sleeping in the street. Second, the amount of new technology in Asterisk@Home 2.8 is truly mind numbing, and it's going to take the whiz kids and us some time to absorb and digest all of the changes and enhancements. Do yourself and everyone else a favor. As you find new features or problems, post them here or on SourceForge so that we all can benefit from the discoveries. We'll do our best to incorporate new changes into this article in the coming weeks so check back often and be sure to read the comments or subscribe to the Nerd Vittles Comments RSS feed. Enjoy!
Hosting Provider Special. Just an FYI that the Nerd Vittles hosting provider, BlueHost, is running a special this month on hosting services. For $6.95 a month, you can host up to 6 domains with 15GB of disk storage and 400GB of monthly bandwidth. It doesn't get any better than that, and their hosting services are flawless! We oughta know. We've tried the best of them. If you've never tried a web hosting provider, there's never been a better time. Just use this link, and we'll all be happy.
Nerd Vittles User Map. Thanks for visiting! We hope you'll take a second and add yourself to our Frappr World Map compliments of Google. In making your entry, you can choose an icon: guy, gal, nerd, or geek. For those that don't know the difference in the last two, here's the best definition we've found: "a nerd is very similar to a geek, but with more RAM and a faster modem." We're always looking for the best BBQ joints on the planet. So, if you know of one, add it to the map while you're visiting as well. You'll notice there's a little bug in the map display at the moment. It wipes out everyone in the U.S. and Canada. Is that loud cheering we hear? Not to worry! You can restore us all by moving east or west on the default display, or choose the Big Map Display option after you add yourself, and you can see the whole Nerd Vittles universe. frappr bug fixed: May 3.
Got a PDA or Web-Enabled Smartphone? Check out our new PDAweather.org site and get the latest weather updates and forecasts from the National Weather Service perfectly formatted for quick download and display on your favorite web-enabled PDA, cellphone, or Internet Tablet. And, of course, it's all FREE!