It’s a Dell With Asterisk, Dude: Introducing the Orgasmatron II for the Dirt-Cheap Dell SC440

About 20 years ago, we began our migration from proprietary DEC VAX minicomputers by acquiring two of the first Dell servers ever manufactured. They were serial numbers 6 and 7. And we were just about as excited about the transition as the folks on Sesame Street. The machines were quickly named Bert and Ernie, and there was even a scrolling LCD display on the units showing the machine names. Considering that this all occurred inside a federal courthouse, it was revolutionary at the time. Michael Dell has gotten a little richer since that initial $10,000 investment (a bargain at the time!), and I'd have to say Dell servers have improved a good bit as well. So we finally bit the bullet last week and bought two of Dell's SC440 servers when they went on sale for a whopping $199 each. For this price, you got Dual Core IntelĀ® PentiumĀ®E2180, 2.0GHz processors with 1MB Cache, an 800MHz FSB, an 80GB 7.2K RPM Serial ATA 3Gbps 3.5-in Cabled Hard Drive connected to the onboard SATA controller, 512MB of 667MHz DDR2 RAM, a 48X CD-ROM Drive, and an On-Board Single Gigabit Network Adapter. For $19 more, you got 2GB of RAM. We hope some of you also took advantage of the offer because today we're releasing our plug-and-play Osgasmatron II for the SC440. Nov. 13 NEWS FLASH: Dell once again is offering the SC440 with Dual-Core processor but it now includes a second hard disk for $299 until November 19. It's still a great deal on a top-notch server. To get email alerts when the SC440 again goes on sale, go to techbargains.com and search for SC440. Then click on Send Email Deal Alert. Be sure to confirm the alert by replying to the email. These units have gone on sale roughly every two weeks since early September.

If you've missed the last two week's articles, the Orgasmatron II is the Ultimate Kitchen Sink for Asterisk®. It includes PBX in a Flash 1.3 in all its glory plus the newly released FreePBX 2.5 and so much more. From the time you insert the CD 'til you have a functioning Asterisk PBX with all the bells and whistles imaginable... 15 minutes!

If you've been following along with our articles, you already know that we've identified what we believe to be the perfect Asterisk SIP phone, the Aastra 57i. But our previously anointed perfect small business/home computer on which to run a production Asterisk server for about 50 employees, the Everex gPC2 (aka "The WalMart Special"), is no more. So this build moves to a different platform and a very different performance level. You'll see about twice the performance on the SC440 compared to the WalMart Special. Today's build provides a preconfigured SC440 installation on a 2-disk ISO image backup of the whole system using Mondo. And, NO, it won't work with any other hardware! Once you download the ISO images and burn your CDs, it's a 15-minute No-Brainer to install the entire image onto your own SC440. Wait to install any add-on cards until after you complete the Orgasmatron install. You must have an SC440 configured as above, or this Mondo restore will not work. So accept no substitutes, or you may end up with an Electronic Brick instead of an Orgasmatron II.

We've preconfigured some extensions on your new system as well as outbound and incoming trunks from some terrific providers including our second homegrown entry for VoIP terminations. Joe Roper and his business partner in Spain now offer a terrific IAX VoIP termination service. You can choose penny a minute service in the U.S. and most of Canada, or you can opt for premium VoIP service at about 2¢ a minute in the U.S. International rates also are VERY reasonable! You literally can sign up for service, plug in your phones, and have a system in full operation in under an hour.

So... what do you get with this preconfigured build? In addition to all of the goodness of a stock PBX in a Flash 1.3 build including Asterisk 1.4.21.2 running under CentOS 5.2 with a version of Zaptel that actually works with legacy cards. You also get the brand new FreePBX 2.5 as well as the latest versions of Apache, MySQL, PHP, and SendMail. And you get a Baker's Dozen preconfigured Nerd Vittles applications. Complete documentation is available here.

  • Inbound and Outbound VoIP Faxing Using nvFax... finally!
  • FONmail for Asterisk to send voice messages to any email address on the planet
  • AsteriDex RoboDialer and Telephone Directory
  • Telephone Reminders with Support for Recurring Reminders and Web-based TTS Reminder Messages
  • NewsClips for Asterisk featuring Dozens of Yahoo News Feeds (TTS)
  • Weather Reports by Airport Code (TTS)
  • Weather Reports by ZIP Code (TTS)
  • Worldwide Weather Forecasts (TTS)
  • xTide for Asterisk (TTS)
  • MailCall for Asterisk: Get Your Email By Telephone (TTS)
  • TeleYapper 4.0 Message Broadcasting System
  • CallWho for Phone Lookup and Dialing of Entries in the AsteriDex Database (TTS)
  • TFTP Server with preconfigured setups for 10 Aastra 57i SIP telephones

In addition, you get dozens of preconfigured telephony applications and functions that would take even an expert the better part of a year or two to build independently. And, unlike all of the other distributions, we build Asterisk from source so it's simple to modify and upgrade whenever you feel the need. Here's a short list of what you have to look forward to:

  • Stealth AutoAttendant with Welcome and Application IVRs
  • Key Telephone Support Using Park and Parking Lot
  • Intercom/Paging Support
  • Bluetooth Proximity Detection with Automatic Call Forwarding to Cell Phone
  • DISA
  • Blacklisting with Web and Telephony Interfaces
  • CallerID Name Lookups from Numerous Providers
  • Weekly Automated System Backups to a Flash Drive
  • One Touch Day/Night Service
  • Music on Hold
  • Voicemail with Email Delivery of Messages and Pager Notification
  • Voicemail Blasting
  • Cell Phone Direct Dial
  • Call Forward: All, Busy, No Answer
  • Call Waiting
  • Call Pickup
  • Zap Barge
  • Call Transfer: Attended and Blind
  • Dictation Service with Email Delivery
  • Do Not Disturb
  • Gabcast
  • Phonebook Dial by Name
  • Speed Dial
  • Flite Text to Speech (TTS)
  • Windows Networking with SAMBA
  • Linux Firewall and Fail2Ban with SSH, HTTP, and SIP/IAX login protection
  • PBX in a Flash Software Update Service To Keep Your System Current
  • One-Click Cepstral TTS Install with Allison... Just Type install-cepstral

Prerequisites. As mentioned, you'll need an SC440 configured with the specs outlined above including the 2GB RAM upgrade. We also recommend a 4GB USB flash drive on which to store automatic weekly backups of your new system. Just plug it into your new machine, log in as root, and type: /root/usbformat.sh. That's it! Every Sunday night, you'll get a new backup in ISO format on your flash drive. If something goes wrong on your system, copy the ISOs to CDs and reboot with Disk 1. It doesn't get any easier than that. And you can always check on the latest backup by issuing the command: /root/usbcheck.sh

Finally, you'll need to cough up a whopping $5 to download the two-disk ISO image for this build. And, yes, we eat our own dog food. The ISO images you'll be downloading were captured as a backup on the flash drive of one of our SC440 lab machines. We got 'em yesterday! If you use this special build, it seemed only fair that you cover the cost of the bandwidth to download it. As most of you know, we don't have the luxury of freeloading off SourceForge for our downloads. And we didn't want to impose upon our existing bandwidth providers to bring you this custom image. The good news is that, once you download the image from DreamHost, you are more than welcome to pass it along to one or more of your friends or business acquaintances at no charge. You can even do it electronically through the DreamHost Files Forever program. And, if you'd like to host this image for your fellow man at no cost, be our guest... and thank you! Bottom line: For under $250, you'll have the slickest, fastest, most reliable PBX and fax machines on the planet with rock-solid weekly backups and, of course, access to the one-of-a-kind PBX in a Flash Software Update Service!

Getting Started. Once you have your SC440 in hand, take it out of the box, plug it into your LAN with DHCP and DNS support and Internet connectivity. You'll need a USB keyboard for typing temporarily. We also strongly recommend that you always keep your system running behind a NAT-based firewall/router. We strongly recommend the dirt-cheap dLink WBR-2310 WiFi router which handles NAT issues with VoIP masterfully. Don't redirect any ports to the machine and don't turn the PC on just yet.

Download the two ISO images for the SC440 from here. If you don't know how to create a CD from an ISO image, read that section from our previous article. In fact, read the whole article. It'll help you immensely down the road. Once you have the two CDs in hand, turn on the SC440 and quickly insert Disk 1 into the CD drive and close the drive. If you don't see a Mondo Rescue screen within a minute or less, turn the machine off and then back on again. At the Mondo Rescue main screen, type nuke and press the Enter key. This will erase, repartition, and reformat your hard disk in case you didn't know. This is normal. If you get any kind of errors about incorrect drive or partition names, halt the install by pressing CTL-ALT-DEL and remove the CD. Otherwise, ignore the errors. You'll need to install PBX in a Flash using our standard ISO which is available here. Otherwise, go have a cup of coffee and come back in about 10 minutes. After fileset #87 is restored, you'll be prompted to insert Disk 2 and press Enter to finish the install. When the second CD finishes, eject it and wait for the prompt. Then type "exit" and press Enter. Your SC440 will reboot, and you're ready to go.

After the reboot finishes, type root at the login prompt for your username and password for your password. The IP address assigned by your DHCP server should appear near the top of the screen. Write it down. If there is no IP address, your machine does not have network connectivity or access to a DHCP server with an available IP address. Correct the problem and reboot. You can safely ignore the warning that Fail2Ban is OFFLINE. We've updated the Fail2Ban software to protect Asterisk SIP and IAX connections, and our status program isn't up to date as this article goes to press. update-fixes will get you a new version from our Software Update Service shortly.

Securing Passwords. We're going to change five passwords now. For the time being (until you've done some reading), think up one really difficult password (that you won't forget) and use it for all five passwords. At the root@pbx:~ $ command prompt, type the following commands and type in your new password when prompted. Don't forget your password or you'll get to put in your two CDs and start over.

passwd
passwd-maint
passwd-wwwadmin
passwd-meetme
/usr/libexec/webmin/changepass.pl /etc/webmin root yournewpasswordhere

Now, using a web browser, go to the IP address of your new PBX in a Flash server. Click the Admin tab and then choose the FreePBX Administration botton. Log in as maint with your new maint password. Before you do anything else, change ALL of the 10 extension passwords to something secure... as if your phone bill depended upon it! Click Setup, Extensions and then choose each extension, modify BOTH the device secret and Voicemail Password, and click Submit. When you finish all the extensions, then reload the dialplan to save your changes. Finally, change your DISA password to something very, very secure: Setup, DISA, DISAmain, PIN. Reload your dialplan once again to save your changes.

Regardless of what you may read elsewhere, the Orgasmatron II has all the very latest security patches as of today. If you want more security, take our advice and add a hardware-based firewall/router between your Internet connection and your new Orgasmatron II and don't expose port 80 (the web interface) to the Internet!

Permanently Setting the IP Address. There are different schools of thought on whether to use a fixed or dynamic IP address. Most hardware-based routers support DHCP IP address reservations. The simplest way to permanently secure the existing IP address for your server is to reserve it on your router. If you'd prefer to assign your own IP address, we have included the deprecated netconfig utility which can be run after logging into your server as root. Sometimes you will need to run it once, enter your settings, reboot, and then repeat the drill. Then you should be all set. Either way, you need a permanent IP address for your machine when all is said and done. Once you have a permanent IP address, hop on over to dyndns.org and sign up for your own fully-qualified domain name (FQDN), e.g. mypbx.dyndns.org. You're going to need it for a whole host of things with your new PBX, and dyndns.org is about the easiest way to do it. Once you have your FQDN and DynDNS username and password, log in as root and edit: /etc/ddclient/ddclient.conf. Search (Ctl-W) for ***. Fill in your username and password and uncomment those two lines. Then search for *** again, uncomment the next three lines and fill in your fully-qualified domain name. Save the file and service ddclient restart. To make sure everything worked, issue the following command: ddclient -force. Assuming there are no errors, issue the following command to start ddclient each time your server reboots: /sbin/chkconfig --add ddclient. Now the IP address of your Asterisk server will always resolve to your FQDN from DynDNS. And anyone can call you via SIP for free using the following SIP URI: mothership@yourFQDN.dyndns.org. You can take this a step further and sign up for a free incoming phone number at ipkall.com. For your account type, choose SIP. For your SIP phone number, enter: mothership. For your SIP proxy, enter the fully-qualified domain name (FQDN) for your server, e.g. mypbx.dyndns.org. Choose a password and enter your real email address, and they will beam you a Washington state phone number within a day or so. You can't beat the price!

Adding Plain Old Phones. Before your new PBX will be of much use, you're going to need something to make and receive calls, i.e. a telephone. For today, you've got several choices: a POTS phone, a softphone, or a SIP phone (highly recommended). Option #1 and the best home solution is to use a Plain Old Telephone or your favorite cordless phone set (with 8-10 extensions) if you purchase a little device (the size of a pack of cigs) known as an SPA-2102. It's under $70. Be sure you specify that you want an unlocked device, meaning it doesn't force you to use a particular service provider. Once you get it, plug the device into your LAN, and then plug your phone instrument into the SPA-2102. Note that this adapter supports two-line cordless phones! Your router will hand out a private IP address for the SPA-2102 to talk on your network. You'll need the IP address of the SPA-2102 in order to configure it to work with Asterisk. After you connect the device to your network and a phone to the device, pick up the phone and dial ****. At the voice prompt, dial 110#. The device will tell you its DHCP-assigned IP address. Write it down and then access the configuration utility by pointing your web browser to that IP address.

Once the configuration utility displays in your web browser, click Admin Login and then Advanced in the upper right corner of the web page. When the page reloads, click the Line1 tab and then repeat this drill for the Line2 tab if you want to connect the device to two extensions on your Asterisk system. Scroll down the screen to the Proxy field in the Proxy and Registration section of the form. Type in the private IP address of your Asterisk system which you wrote down previously. Be sure the Register field is set to Yes and then move to the Subscriber Information section of the form. Assuming you're using the preconfigured extensions starting with 701, do the following. Enter House Phone as the Display Name. Enter 701 as the User ID. Enter your actual password for this extension in the Password field, and set Use Auth ID to No. Click the Submit All Changes button and wait for your Sipura to reset. In the Line 1 Status section of the Info tab, your device should show that it's Registered. You're done. Now repeat the drill for Line2 using extension 702. Pick up a phone and dial 1234# to test out BOTH extensions.

Downloading a Free Softphone. Unless you already have an IP phone, the easiest way to get started and make sure everything is working is to install an IP softphone. You can download a softphone for Windows, Mac, or Linux from CounterPath. Or download the pulver.Communicator. Here's another great SIP/IAX softphone for all platforms that's great, too, and it requires no installation: Zoiper 2.0 (formerly IDEfisk). All are free! Just install and then configure with the IP address of your PBX in a Flash server. For username and password, use one of the extension numbers and passwords which you set up with FreePBX. Once you make a few test calls, don't waste any more time. Buy a decent SIP telephone. We think the best phone out there is the Aastra 57i for under $200. Another $100 buys you the Aastra 57i CT with a cordless DECT phone.

Configuring Aastra 57i SIP Phones. Your new system comes preconfigured to automatically configure up to 15 Aastra 57i phones. Plug each phone into your network and wait for it to boot. Once it boots, press the Option button, then Phone Status (3), then IP & MAC Address (1). Write down each phone's IP address and MAC address. Then press Done to exit from the menus.

Next, we need to tell your phone to use your new Asterisk server as the TFTP server to obtain its setup. Press the Option button again, then Admin Menu (5). Type 22222 for the admin password and press Enter. Then choose Config Server (1), then TFTP Settings (2), then Primary TFTP (1), enter the IP address of your new server, and press Done a half dozen times.

Log back into your server as root. Switch to the TFTP directory: cd /tftpboot. You'll notice that there are config files for up to 15 phones. Simply choose the extension number you wish to use for each phone AND rename each file (filenames are 701.cfg to 715.cfg) to the MAC address of each phone.cfg. Do NOT use hyphens in the MAC address. One final step and you'll be ready to load up your phones. We need to set the correct IP address to tell each phone where your server is located. So... issue the following command using the IP address of your new server instead of 192.168.0.123. Leave the rest of the command as it is!

sed -i 's|192.168.0.0|192.168.0.123|g' /tftpboot/aastra.cfg

Now restart each phone by pressing the Option button and then Restart Phone (6) and then the Restart button. Once the phone reboots, you can make a test call by dialing 1-2-3-4. You can get the latest news by dialing 5-1-1. Or get a weather forecast by airport code (6-1-1) or zip code (Z-I-P).

A Word About Ports. For the techies out there that want to configure remote telephones or link to a server in another town, you'll need to know the ports to remap to your new server from your firewall. Here's a list of the ports available and used by PBX in a Flash. We don't recommend exposing UDP 5038 which is used to communicate with Asterisk via the Asterisk Manager.

TCP 80 - HTTP (needed to access the web sites on your server from the Internet... not recommended!!!)
TCP 22 - SSH (needed if you want remote SSH access)
TCP 9001 - WebMin (needed if you want remote WebMin access... not recommended!!!)
UDP 10000-62000 - RTP (needed for SIP communications)
UDP 5004-5037 - SIP (ditto)
UDP 5039-5082 - SIP (ditto)
UDP 4569 - IAX2 (needed for IAX communications typically between Asterisk servers)

Setting Up Trunks for Outgoing and Incoming Calls. If you want to communicate with the rest of the telephones in the world, then you'll need a way to route outbound calls (terminations) to their destination. And you'll need a phone number (DIDs) so that folks can call you. Unlike the Ma Bell world, you need not rely upon the same provider for both. And nothing prevents you from having multiple outbound and incoming trunks to your new PBX. At a minimum, however, you do need one outbound trunk and one inbound phone number unless you're merely planning to talk to other extensions set up on your system. We've actually put all the hooks in place to make it easy for you to interconnect to other Asterisk servers, but we'll save that for another day. For today, we want to get you a functioning system so that you can place outbound calls to anywhere in the world and can receive incoming calls from anywhere in the world.

For outbound calling, we recommend you establish accounts with several providers. We've included the necessary setups for Joe Roper's new service for PBX in a Flash as well as Vitelity and AOL. To register for the service, just visit the web site and register. To sign up to the service in the USA and be charged in US Dollars, please sign up here. To sign up for the European Service and be charged in Euros, sign up here.

In addition to being one of the least expensive providers, there's also the premium service option. You can prefix any number with 000 to try it out. Give it a try. We think you'll be pleased with the service AND the pricing. DIDs for inbound service are not yet available, but Vitelity has lots of them, and there's a link below to get you started.

Vitelity: One of the Best Providers on the Planet. If you're seeking the best flexibility in choosing an area code and phone number plus reasonable entry level pricing plus high quality calls, then Vitelity is a winner. Vitelity provides Tier A DID inbound service in over 3,000 rate centers throughout the US and Canada. And, when you use our special link to sign up, the Nerd Vittles and PBX in a Flash projects get a few shekels down the road while you get an incredible signup deal as well. The going rate for Vitelity's DID service is $7.95 a month which includes up to 4,000 incoming minutes on two simultaneous channels with terminations priced at 1.45¢ per minute. For PBX in a Flash users, sign up now, and you can purchase a Tier A DID with unlimited incoming calls for just $3.99 a month and you get a free hour of outbound calling to test out their call quality. To check availability of local numbers and tiers of service from Vitelity, click here. Do not use this link to order your DIDs, or you won't get the special pricing! After the free hour of outbound calling, Vitelity's rate is just 1.44¢ per minute for outbound calls in the U.S. You can't beat the price (except with us) and the call quality is excellent as well. We've tried just about everybody.

To sweeten the pot a bit more, we've preconfigured both inbound and outbound Vitelity trunks for you. For the vitel-inbound trunk, all you'll need to do is plug in your username, password, and host assigned by Vitelity and adjust the registration string to match your assigned username and password. In FreePBX, click Setup, Trunks, SIP/vitel-inbound and make the changes. Then adjust the vitel-outbound trunk to reflect your actual username in the fromuser and username entries, your real password in the secret entry, and the correct host provided by Vitelity for your outbound calls, and you're all set. In FreePBX, click Setup, Trunks, SIP/vitel-outbound and make the changes. The same setup drill will get you going the the PIAF VoIP service as well.

To test things out, pick up a phone configured on your system and dial an area code and number of someone in the United States or Canada. Now get someone to call you using your new number. Presto! You have inbound and outbound phone service. And, if you'd like to see just how good SIP service can be, pick up a phone on your system and dial D-E-M-O. This will connect you to the PBX in a Flash hosted demo applications server at Aretta Communications.

An Alternate Outbound Calling Solution. As we said, it costs you almost nothing to add an alternate outbound calling solution to your new system. As luck would have it, adding a third outbound calling provider is now a breeze because AOL just entered the SIP terminations market with a product called AIM Call Out. We wrote about it recently, and you can read the article here. All you need is an AOL or AIM account name and $5 to get you started. The system you've just installed is preconfigured to use AIM Call Out. All you have to do is plug in your username and password, and you can immediately make calls to anywhere in the United States for under 2¢ per minute. Adding international calling is as easy as inserting the correct dial string. If you never use it, it doesn't cost you a dime. So $5 is mighty cheap insurance in our book.

First things first. Sign up for the service at this link. Your username will look something like this: johndoe@aim.com. You also will be assigned a password. Using your web browser, open FreePBX by pointing to the IP address of your new server and choosing Administration, then FreePBX. Type in admin as your username and the password you assigned to your system. From the main FreePBX menu, choose Setup, Trunks, and click on SIP/AIM in the far right column. Scroll down to the Peer Details section of the form and replace yourAIMpassword with your new password. Then replace yourAIMaccountname with your actual AIM account name. Now click the Submit Changes button and then Apply Configuration Changes and Continue with Reload.

Setting Up an Alternate DID for Incoming Calls. You also may want to consider a second phone number where people can call you. For example, if Grandma and Grandpa happen to be in another state and still have an old fashioned telephone, you might consider adding an additional DID to your system in their area code. They then can make a local call to reach you by dialing the local DID. On the les.net pay-as-you-go plan, it costs less than a dollar a month plus a penny a minute for the calls. Money well spent if we do say so... and you'll sleep better.

If this setup looks a bit complicated, don't be intimidated. Remember, we're connecting your PBX to the rest of the world so people can call you! With les.net, you have a choice of rate plans for most DIDs. You either can pay $3.99 a month for unlimited inbound calls with two concurrent channels or 99¢ per month and 1.1¢ per minute with four concurrent channels. Just visit their site and click Signup to register. Once you are registered, click Login and then Order DIDs. Pick a phone number. Then click Peers/Trunks and Create New Peer. Write down the Peer Name as you will need it in a minute to set up your connection. Choose SIP for Peer Technology, RFC2833 for DTMF Mode, G.711 for Codecs, Registration for Peer Type, enter the public IP address of your server for Peer Address, make up a secure password and write it down also, specify an Outbound CallerID for your calls, and check the 10-digit dialing box. Leave voicemail unchecked since you'll handle this on your end. Save your changes.

Now choose Your DIDs and click on the one you just ordered. We now need to tie the phone number to the Peer setup you just created above. Click on the DID and select the Route to Peer which you just created. Check the Send DID Prefix box and leave everything else blank. Click Save Changes and you're finished at the les.net end. Now let's set up your inbound DID trunk in Asterisk using FreePBX.

Log into FreePBX using a web browser. Click Setup, Trunks and then Add SIP Trunk. Fill in the CallerID and then drop down to the Outgoing Settings section of the form. For Trunk Name, use the Peer Name that you created above and wrote down. It ought to look something like this: 1092832198. For Peer Details, enter the following using the Peer Name and Password you assigned at les.net:

canreinvite=no
context=from-trunk
fromuser=1092832198
host=did.voip.les.net
insecure=port,invite
nat=yes
secret=yourpassword
type=peer
username=1092832198

For Incoming Settings, use from-pstn for the User Context and enter the following User Details:

canreinvite=no
context=from-pstn
dtmfmode=rfc2833
insecure=port,invite
nat=yes
type=user

For the registration string, enter a string like the following using your Peer Name and Password:

1092832198:yourpassword@did.voip.les.net/1092832198

Now click the Submit Changes button and then Apply Configuration Changes and Continue with Reload.

Choosing a VoIP Provider That Supports Faxing. We've included a reliable fax solution in this build, and we'll cover all the details soon. We do want to give you a head start if you plan to use your new machine to handle inbound faxes. To test your machine, you can connect a real fax machine to one of the lines on an SPA-2102. Then send a fax to extension 329 (F-A-X). But first you must configure your email address in two places using FreePBX: Setup, General Settings, Email address to have faxes emailed to AND Setup, Inbound Routes, any DID / any CID, fax Email. Once you've saved your settings, send the fax and see if it's delivered to your email address. If it works reliably, then the fax and email applications on your machine are configured correctly. Unfortunately, that's only half the battle. To receive faxes from outside your system, you'll also need a DID from a provider that supports faxing. And then it's still only about a 90% proposition... on a good day. We've tested this with many, many VoIP providers. Some work. Many don't. Some, such as Vitelity, offer a faxing service for a fee. Guess what? Their regular VoIP setup doesn't support faxing. Our old friends at Telasip.com still support faxing. We've also had good luck with Future-Nine and Teliax. You can read the beginnings of our fax dissertation here for more details. With the exception of the trunk setup covered in the article, all of the remaining setup steps already have been completed on your new server!

Interconnecting Two Asterisk Servers. We've preconfigured this build to support an IAX interconnect to a second PBX in a Flash system. The trunk setup for the second machine to match the setup on this build can be printed out. The filename is /root/MainPeerTrunkSetup.gif.

Choosing a Preferred Provider. Finally, you'll need to decide whether to use PIAF-USA or AOL or Vitelity as your primary terminations provider. HINT: We're the cheapest! So we've set things up this way. This is handled in FreePBX in the Outbound Routes tab under the Default entry. You can adjust easily these in any way you like by adding trunks or moving entries up and down the list to change their priority. Just be sure to leave ENUM at the top of the list since ENUM calls are always free. If a free call isn't possible, your server will automatically drop down to the next trunk in the priority list. Don't add Vitelity to the list unless you have actually created a Vitelity account since they handle unsuccessful connections in a non-standard way which will cause FreePBX not to drop down to the next trunk to attempt a connection.

Activating the Stealth AutoAttendant for Inbound Calls. By default, all incoming calls are routed to the Day/Night Code 1 context which allows you to toggle calls between a Day setting and a Night setting by pressing *281. For builds before Rev. D, the Day setting for Code 1 is set to Ring Group 700 which rings all of the extensions on your system. If you'd prefer our Stealth Autoattendant which plays a brief greeting during which you can choose other options or direct dial extensions on your system before the call is passed to Ring Group 700, then edit Day/Night Code 1 and set the Day option to IVR: MainIVR.

A Word About Mondo Rescue. We would be remiss if we didn't mention what a fantastic open source product Mondo Rescue is. It's the sole reason that today's build was possible. Our special thanks go to the development team: Bruno Cornec, Andree Leidenfrost, and Hugo Rabson. It is the first (and only) backup software for Linux builds that actually works reliably. The best way to prove that for yourself is to download this build and try it for yourself on your Dell, dude. It has much more flexibility than what you will experience, but that would take another dozen pages to explain. We'll save that for another day. In the meantime, if you'd like more information, visit the Mondo Rescue web site.

What you need to know today is that the device name for your USB flash drive may differ from the setting of /dev/sdb1 that is preconfigured depending upon the Dude that built your Dell. If you have the Rev. D build (shown at the bottom of the DreamHost download site), simply log into your server as root and type: /root/usbdevice.sh. You're all set. With prior builds, to find out the identity of your USB stick, plug it into one of the front USB ports, log in as root, and type dmesg. Included in the output will be a section that looks something like this:

USB Mass Storage support registered.
Vendor: VBTM Model: Store 'n' Go Rev: 5.00
Type: Direct-Access ANSI SCSI revision: 00
SCSI device sdb: 2013184 512-byte hdwr sectors (1031 MB)
sdb: Write Protect is off
sdb: Mode Sense: 23 00 00 00
sdb: assuming drive cache: write through
SCSI device sdb: 2013184 512-byte hdwr sectors (1031 MB)
sdb: Write Protect is off
sdb: Mode Sense: 23 00 00 00
sdb: assuming drive cache: write through
sdb: sdb4

If the entry in bold above does not say "sdb1" then you have a little work to do. First, edit /root/usbcheck.sh and change sdb1 on the mount line to the sdb# entry shown above in bold. Save your change: Ctrl-X, Y, then Enter. Now edit /root/usbformat.sh and make the same change in the fdisk AND mkdosfs lines of the script. Save your changes. Finally edit /etc/asterisk/disk-backup.conf. Press Ctl-W and search for sdb1. Change the entry to the device name in bold above. Save your change. Now restart Asterisk with the command: amportal restart. Finally, format your new flash drive and you're ready to go: /root/usbformat.sh. Be sure to check your flash drive periodically to make certain you're getting backups: /root/usbcheck.sh.

Installing Cepstral on Your New Server. If you want real text-to-speech with Allison's familiar voice, then you'll need to buy Cepstral. It's dirt cheap for single, non-commercial use. To install it, there's still a problem with the script on your new machine unfortunately. Something has happened to Darren Sessions' archives, but luckily we still have backups. This has been fixed in Rev. D. Otherwise, to point to the uncorrupted version of the software, log in to your server as root and issue the following two commands:

sed -i 's|www.darrensessions.com/pub|pbxinaflash.net/source|' /root/install-cepstral
sed -i 's|www.darrensessions.com/pub|pbxinaflash.net/source|' /usr/local/sbin/install-cepstral

Then run install-cepstral from the command prompt. At one point you'll be asked whether to create a missing directory for the Cepstral installation. Be sure to type y at the prompt rather than just pressing the Enter key. Instructions for registering your copy of Cepstral are displayed when the install completes. For complete documentation, read our previous tutorial.

Addendum: Enabling Parking Lot. As configured, FreePBX gets confused by the 700 ring group thinking it is your default parking lot. To fix the problem, simply enable the Parking Lot feature from the FreePBX Setup tab. Click on the Enable checkbox, leave the default 70 extension to place calls in the parking lot, and choose a default location to which to send orphaned parking lot calls. Then everything works normally.

Where To Go From Here. Well, we've covered a good bit of territory today. When you're ready, move on to the second part of this article at the link below. In the meantime, you have a new phone system that works. And there are a number of PDF documents in the /root folder on your new system which are worth a read. Better yet, you can browse through all of the documentation which is available for PBX in a Flash by going here. You also can dial D-E-M-O on your new system and see just how powerful direct SIP connections can be to other Asterisk hosts (in this case, ours!)... at no cost. Finally, you can log into your server and type help-pbx for access to a treasure trove of additional features. Enjoy!

Continue reading Part II...


Some Recent Nerd Vittles Articles of Interest...

Be Sociable, Share!

7 Responses to “It’s a Dell With Asterisk, Dude: Introducing the Orgasmatron II for the Dirt-Cheap Dell SC440”

  1. Raphael says:

    Great initiative…..but unfortunately link is dead. No more deals from dell @ 199$ “We need you to adjust your offer”

    I’m so waiting for the Acer Mini One image or any USB version of Pbx-in-a-Flash (I tried making a usb bootable version of the iso with fedora live-usb creator, but when installing it make somehow a problem… what a shame :-( )

    Thanks for everything…

  2. g. hall says:

    As of 10-23-08 at 11:17, the provided link to the Dell SC440 servers shows a cost of almost $700 …. not $199. Or did you do some special configuration?

    [WM: Dell changes their pricing almost daily. Just keep checking back, and it will miraculously reappear one day.]

  3. Lucas says:

    Dell SC440 for $199 ? the page you link to says :
    Starting Price $948
    Instant Savings $332
    Subtotal $616
    so what exactly costs 199?

    [WM: I thought the article made clear that the $199 pricing was last week. The Orgasmatron II build came out today. Both the PBX in a Flash and trixbox forums alerted users the day this became available. Just keep checking back. It will reappear in due course. The best current price with a Celeron processor is $349 at this link. Once you click on the "Entry Level" system option, there's a free upgrade option to the dual core processor. So the former $199 system is really only $349 today, not $616. To get an alert the next time the SC440 goes on sale, go to techbargains.com and search for SC440. Then click on Send Email Deal Alert. Be sure to confirm the alert by replying to the email. These units have gone on sale roughly every two weeks since early September.]

  4. Jason says:

    Ward, thank you for this. We would be very interested in a build for the SC440 that used an Adaptec 2405 on a mirrored array. Do you think if we shipped nerd vittles a new Adaptec 2405 it might make its way into an alternative iso for those of us looking for a little redundancy in our system? Thanks again!

    [WM: Hi, Jason. Thanks for the offer. We do custom builds for a consulting fee of $1,000. It is the customer's responsibility to ship and insure the desired system to us for configuration. We then return the system at the customer's expense when the build is completed. These builds obviously are at the customer's risk. If the build cannot be completed because of hardware issues, then the consulting fee is waived. The customer still is responsible for shipping and insurance costs in both directions. If successful, customer agrees to make the custom build available to others through our DreamHost download service at no cost other than the $5 download fee which is payable to us to cover the costs of the downloads. If this service would be of interest, you can contact us at this link.]

  5. Reginald W says:

    Since your new Orgasmatron has come out, I’ve been checking the Dell.ca web site and it has varied over these last few days from CA$349.00 as a VERY bare bones system (512MB, no CD, no OS, no mouse, no keyboard, 1 year warranty) to over a thousand dollars, including a 3 year warranty and MS server OS. Wonder if Dell is trading on your recommendation of a Dell system. I’ll keep looking and seeing what transpires each day.

    Will the Orgasmatron work on any other dell system? Does it require a specific processor or chip set to work? Just wondering if there are any other options other than the specific scc440. I realize that you can’t say specifically Ward if you haven’t tested it. Wondering if anyone else has tried it on any other dull system.

    [WM: Processor, drive controller, drive, and RAM matter with Mondo Rescue. You might want to consult their web site for details on restoring a backup using different hardware. Unfortunately, it can get very complicated.]

  6. CJ says:

    Mine just arrived yesterday…with the 2Gb upgrade, keyboard and mouse, total came to $428…not bad in my opinion…no monitor, etc.. but once you’ve installed, you don’t really need the console anyway.

  7. Aris Pikeas says:

    I have just installed an Orgasmatron II system, and have already encountered five problems!

    1) The Dell SC440′s onboard ethernet card is eth1. If you try to configure a static IP address with netconfig, this will fail because netconfig only modifies eth0. Use system-configure-network instead.

    2) Your installation does not come with a pre-configured DHCP server. Follow the instructions here: http://nerdvittles.com/index.php?p=212

    3) After resolving both of those issues, my Aaastra 57i still doesn’t have full connectivity. It has the correct extension as assigned via TFTP, and can generally operate (eg, can access voicemail), but call services (1-2-3-4, 5-1-1) fail, and the phone screen displays “No Service”. I hope to figure it out tomorrow, but this has been anything but a pain-free installation so far.

    4) I’m not sure what’s going on with this one. I used PuTTY to ssh into my old PiaF installation and work on the system with no problems whatsoever. On my Dell SC440 new installation, I get lots of odd refreshes and character jumps when editing a text file with nano.

    5) FreePBX has the following error: /var/lib/asterisk/bin/module_admin listonline (255)(cron_manager.EXECFAIL)

    [WM: Sorry you're having trouble. Let me try to respond to the issues in the order you have listed them above. Let me also add that, if your machine was not purchased from Dell USA recently, anything is possible. There may be a different motherboard or other significant differences in the machine even though Dell labels it an SC440. That's a Dell design issue which has caused problems over the years.]

    1) We have two new Dell SC440′s which are less than a month old. Both were configured with onboard ethernet as eth0. The entire build assumes eth0. The card can be reconfigured, and we would suggest you do that before proceeding. You’ll find loads of tutorials with a little Googling. If you have added additional Ethernet ports or cards to the machine, remove them and try reinstalling. Footnote: /etc/sysconfig/network-scripts/ifcfg-eth1 was moved to ifcfg-eth0 and DEVICE was changed from eth1 to eth0. This seems to have worked.

    2) We typically recommend installing our systems behind a hardware-based firewall/router which usually provides DHCP services. That’s the reason that DHCP is not enabled by default in our builds. Because all of the extensions are prebuilt in the Orgasmatron II build, there was little need for the DHCP approach outlined in the article you cited.

    3) I would guess that this is related to the lack of eth0. The entire design assumes you have a working eth0 network card. Once you address that, the “No Service” issue should go away. Footnote: It turned out that the SIP extension secret in the /tftpboot file did not match the SIP secret set up in FreePBX for the extension.

    4) It’s possible you had a bad install disk. We’ve tested the build, and SSH works fine using the standard install.

    5) I suspect this, too, is related to the missing eth0 or a bad install disk.

Ringbinder theme by Themocracy