Home » Technology » MP3 Devices (Page 4)

Category Archives: MP3 Devices

The Most Versatile VoIP Provider: FREE PORTING

Whole House iPod + $5/mo. Gets You Every Song on the Planet

We’ve previously written about the incredible Sonos whole-house audio system that is priced (literally) tens of thousands of dollars below the cost of a comparable "turnkey" system that you typically would purchase from a home audio consultant. Another revolutionary development occurred yesterday so it was a good time for an update.

Yesterday’s development was an announcement from Napster, which was recently acquired by Best Buy, that lets you download 5 DRM-free songs per month from Napster’s entire catalog for $5 a month. Nothing very exciting there. The kicker is that, for no additional fee, you now get unlimited (but DRM’d) streaming of all 7 million songs in Napster’s vast music collection to any PC you happen to own. And $60 buys you a full year plus 70 DRM-free songs!

We hear you mumbling. Why would anyone want to only listen to music on their PC? Well, this is where your Sonos music system comes into play. Instead of buying a cheap PC (such as this $199 Acer netbook from CompUSA) and subscribing to Napster to play the music on your PC, U.S. customers now have instant access on your Sonos system to over 7 million music tracks in the Napster library any time you like. And this isn’t canned playlists although Napster has plenty of those. With today’s new offer, you can stream songs of your choice in your own playlists to one or many rooms in your house depending upon how many Sonos ZonePlayers you’ve configured. Or use your Sonos controller to search the entire Napster catalog by artist, album, or song title. And the total cost: just $5 a month.



Sonos Background. For those that are new to Sonos, you basically buy a little $500 Wi-Fi box for each room in your home or office where you want to play music. There are special system bundles at this link if you hurry. You plug in a pair of speakers and connect to your NAS-savvy music library. We recommend dLink’s DNS-323 which provides RAID1 mirrored SATA drives in any size you desire (about $180 delivered from NewEgg plus SATA drives). Be sure the drives you pick are on dLink’s compatibility list! If you happen to use Comcast for your broadband service, you also receive a free Rhapsody subscription which can be played on every Sonos system in your house for free, but you’ll have to connect a Windows PC to your Sonos system through the line in jack to take advantage of this. With the new Napster offering, you can skip the hassle for $5 a month. The Sonos system also supports streaming audio from more than 300 Internet radio stations, also free.

Some other reviews of the Sonos system are worth a look. Check out the Home Theater View, Audioholics, Playlist Magazine, and PC Magazine. You’ll find dozens more here.

There are few companies in the world (much less the United States) that provide flawless hardware and software, free software updates (that always work), and regular updates that consistently add value to your initial purchase. Sonos is at the top of that very, very short list. Run, don’t walk, to add this system to your home or office. You’ll thank us for years to come. We installed eight systems with four remotes in just over two hours. We haven’t quit listening since. Today’s Napster announcement is simply icing on the cake. Enjoy!

Update. We don’t often revise our articles but a Tweet from @Sonos last night sent us back to the drawing board. While we knew that Napster already was available in Sonos music players, the price point was substantially higher. Since Napster’s announcement had clearly stated that the $5 a month special only applied to use of the library on a PC, we had assumed that it wouldn’t work directly in the Sonos system. Wrong! It works perfectly on the Sonos players with the functional simplicity that is the hallmark of Sonos software. Napster should take a lesson! Lo and behold, it appears that Napster views the Sonos system as just another Linux PC so the entire Napster music library is available in any Sonos music system without resorting to any external PC. Seven million songs for $5 a month strikes us as a deal you’d be crazy to pass up. Better hurry while it lasts.


Some Recent Nerd Vittles Articles of Interest…

Asterize Your Data: Taming ODBC with Asterisk

One of the perks of participating in the Atlanta Asterisk Users Group InstallFest a couple weeks ago was getting to hear some terrific speakers. At the top of that list was Jared Smith, who heads up the Training Division at Digium®. We always had considered ODBC to be a bit overwhelming for those new to Asterisk®, but Jared disproved that theory in less than 30 minutes. For those of you that don't have an opportunity to hear it from the master, today we present our Mom-and-Pop version of how to get Asterisk interacting with all of your favorite databases whether they be parts and inventory data, CRM, or just about anything else. And our special thanks to Jared for providing the inspiration to tackle this.

If you're new to the ODBC World, here's a quick primer. The idea behind Open Data Base Connectivity is to simplify the task of connecting up any flavor database management system so that it can talk to applications and foreign databases without having to write custom code to support every different DBMS. ODBC serves in much the same way as a translator who sits between you and foreign visitors. With the benefit of a translator, whatever is spoken is understood on both ends of the conversation.

The real beauty of ODBC is that it is conversant with almost every DBMS offering on the planet including Oracle, Informix, SAS, MS Access, DB2, SQL Server, MySQL, PostgreSQL, Sybase, and even dBase, FoxPro, and XDB. All you really need is the ODBC connector for your operating system plus one or more database drivers for the DBMS data sources you wish to use. Visit EasySoft if you want more background. They sum up the role of ODBC this way:

The goal of ODBC is to make it possible to access any data from any application, regardless of which database management system (DBMS) is handling the data. ODBC achieves this by inserting a middle layer called a database driver between an application and the DBMS. This layer translates the application's data queries into commands that the DBMS understands.

Our goal for today is to get ODBC working on your Asterisk system and to build a simple MySQL application that demonstrates how all the pieces should fit together. We've chosen MySQL because it is integrated into all of the major Asterisk aggregations and requires no additional installation. Even though our focus today is MySQL databases, the same process can be used to interconnect with virtually any foreign database regardless of where it happens to reside. And, in coming weeks, we will start cranking out some ODBC applications that actually are useful 🙂 ... much like what we've done in the Asterisk text-to-speech arena. Hopefully, this tutorial will encourage others to contribute ODBC applications for the benefit of everyone in the Asterisk community.

Getting ODBC working today also reinforces one of the key design strengths of PBX in a Flash. We strongly recommend you start with the latest build of PBX in a Flash. Then run our Orgasmatron Installer. It will provide you a feature rich and extremely stable base platform that just works! Unlike the RPM-based Asterisk aggregations such as trixbox and Elastix, it's incredibly easy with PBX in a Flash to recompile Asterisk to add ODBC functionality because Asterisk is actually built from Asterisk source code when PBX in a Flash is initially installed. That's not to suggest that any of this is impossible using the other aggregations. Just be aware that you may break the ability to later update your system once you manually bolt on additions such as ODBC by recompiling Asterisk. And, of course, you can add ODBC functionality to pure Asterisk systems as well. For an excellent tutorial, see Asterisk: The Future of Telephony (2nd Edition for Asterisk 1.4), by Jim van Meggelen, Jared Smith, and Leif Madsen.

Overview. Let's quickly review the installation steps to bring ODBC connectivity on line. First, we'll install several Linux RPMs to fill in the missing pieces to activate ODBC on your PBX in a Flash server. Second, we'll activate the Linux ODBC driver for MySQL. Third, we'll install a sample timeclock database in MySQL so we have something to play with. Fourth, we'll run a little Nerd Vittles script to tell Linux and Asterisk about all of your MySQL databases. Fifth, we'll recompile Asterisk so that it knows how to talk ODBC. Any time you create a new MySQL database, you'll want to run the script in Step #4 again to repopulate the ODBC information that tells Linux and Asterisk about your MySQL databases. The script only takes a few seconds. Once these steps are completed, you're ready to start creating your ODBC applications.

There are two parts to building any ODBC application with Asterisk. First, we'll define the SQL code to read and write to a particular table in one of your MySQL databases. Second, we'll insert some dialplan code in the new odbc.conf file in the /etc/asterisk directory. This dialplan code tells Asterisk how to behave when a database query is received from a telephone on your system. For each additional ODBC application, you just perform these two steps again. And we'll do that once more using our AsteriDex database just to show you how easy this really is. So let's get started.

1. Installing Linux RPMs. Log into your server as root and issue the following commands to install the necessary RPMs on your PBX in a Flash server. (NOTE: Skip this step if you're using PIAF-Green!)

yum -y install unixODBC-devel
yum -y install libdbi-dbd-mysql
yum -y install mysql-connector-odbc

2. Activating the MySQL ODBC Driver. While still logged into your server as root, issue the following commands to activate the MySQL ODBC driver on your system:

cd /root
wget http://pbxinaflash.net/source/odbc/mysql-odbc
chmod +x mysql-odbc
./mysql-odbc

3. Installing Sample MySQL Database. While still logged into your server as root, issue the following commands to install the sample MySQL database on your system:

cd /root
wget http://pbxinaflash.net/source/odbc/mysql-sample
chmod +x mysql-sample
mv /etc/asterisk/func_odbc.conf /etc/asterisk/func_odbc.conf.old
./mysql-sample

4. Defining MySQL Databases for Linux and Asterisk. The biggest pain in setting up ODBC used to be the creation of the text files telling Linux and Asterisk about your MySQL databases. We decided to write a script to automate the process. What this script does is query MySQL for the names of all your MySQL databases. It then generates the necessary settings in /etc/odbc.ini and /etc/asterisk/res_odbc.conf to support all of your MySQL databases. Don't forget to rerun it if you create new MySQL databases, or they won't be accessible through ODBC. Execute the following commands to run the script:

cd /root
wget http://pbxinaflash.net/source/odbc/odbc-gen.sh
chmod +x odbc-gen.sh
./odbc-gen.sh

Just a word of caution that this script overwrites both odbc.ini and res_odbc.conf after making backups of both existing files (odbc.old and res_odbc.conf.old). If you happen to be a whiz kid, and you've already made entries in odbc.ini and res_odbc.conf to connect to other databases, you'll need to put your entries back in place (from the backups) after running the script the first time. If you accidentally run the script twice, your connection data will be lost since the script only makes copies of the most recent versions of the two files.

5. Recompiling Asterisk. The final step in activating ODBC on your system is to recompile Asterisk so that it becomes ODBC conversant. You obviously want to do this when your PBX is not in service. While still logged in as root, issue these commands. (NOTE: Skip this step if you're using PIAF-Green!)

cd /usr/src/asterisk
make clean
./configure
make
make install
amportal restart

Building ODBC Applications With Asterisk. We cheated. We said there were two steps in building Asterisk ODBC apps. But we actually installed the code for our two samples when we installed the sample database. So let's review the two steps so you'll know how to roll your own down the road. The two files that manage ODBC queries with Asterisk are stored in /etc/asterisk. The queries are stored in func_odbc.conf. And the dialplan code is placed in odbc.conf. It could just as easily have been inserted in extensions_custom.conf, but we thought it was more straightforward to create a separate config file solely to manage ODBC dialplan code. If for no other reason, this way you'll know where to look when something goes wrong. 🙂

Step 1 is to create the SQL query statements that will be used by Asterisk to read and write to a table in one of your databases. We built a sample time card system which could be used to let employees clock in and clock out using a telephone on your Asterisk system. The SQL code to look up employee's names based upon their employee number is called a read in Asterisk 1.4 and readsql in Asterisk 1.6. It looks like the third line below. The SQL code to update information in the file is called write or writesql, and it's on the fourth line. Ignore the wordwrap. All of the read or write code must fit on a single line in func_odbc.conf in the /etc/asterisk directory. Once you add to or make changes in this file, you'll need to reload your Asterisk modules: asterisk -rx "module reload". You can check which ODBC custom functions are available on your system with this command: asterisk -rx "core show functions like ODBC". You'll note that, for every defined function, Asterisk tacks on an ODBC_ prefix. So TIMECLOCK becomes ODBC_TIMECLOCK. You use these functions to retrieve or populate data from within your dialplan as you'll see in a minute. You also can review the SQL commands for any functions you create with a command like this: core show function ODBC_TIMECLOCK. Here's what the demo TIMECLOCK function code in func_odbc.conf actually looks like:

[TIMECLOCK]
dsn=MySQL-timeclock
read=SELECT `comments` FROM `users` WHERE `empnum`='${SQL_ESC(${ARG1})}'
write=UPDATE `users` SET `empnum`='${SQL_ESC(${VAL1})}' WHERE `empnum`='${SQL_ESC(${ARG1})}'

Step 2 in building an ODBC Asterisk app is to write the dialplan code to assign an extension which will be used to answer a call for a database query, to prompt the caller for information, to issue a SQL query to the database (using one of the functions defined in Step 1), and to return the query results to the caller. All of this dialplan code goes in /etc/asterisk/odbc.conf. Let's take a brief look at the dialplan code we've written to look up an employee's name based upon a 5-digit employee number. It looks like this:


exten => 222,1,Answer
exten => 222,n,Wait(2)
exten => 222,n,Flite("Please enter the 5 digit employee number.")
exten => 222,n,Read(EMPNUM,beep,5)
exten => 222,n,NoOp(EMPNUM: ${EMPNUM})
exten => 222,n,Set(EMPNAME=${ODBC_TIMECLOCK(${EMPNUM})})
exten => 222,n,GotoIf($["${EMPNAME}foo" = "foo"]?notfound)
exten => 222,n,Flite("The employee name is ${EMPNAME}. Good bye.")
exten => 222,n,NoOp(Employee: ${EMPNAME})
exten => 222,n,Hangup
exten => 222,n(notfound),Flite("No such employee on file. Good bye.")
exten => 222,n,Hangup

This code does the following. It answers a call to extension 222, prompts the user for a 5-digit employee number (12345 and 23456 are in the sample file), stores the number to EMPNUM, outputs the number to the Asterisk CLI, and performs an ODBC query to ODBC_TIMECLOCK (note the addition of the ODBC_ prefix to the name we assigned above). If there is no matching employee name for the EMPNUM, the dialplan jumps to the notfound label and reports "no such employee." Otherwise, it speaks the employee name which the query stored in the EMPNAME variable.

We've also created an ODBC interface to AsteriDex. You obviously have to have AsteriDex 4 installed for this application to work. With this sample, you dial extension 223 and enter the 3-character DIALCODE which is the first three letters of a name in your AsteriDex database. Then the dialplan code retrieves the first matching entry providing both the matching name and phone number. It also gives the caller the option of calling the person whose number was retrieved. Before this sample will work, you'll need to populate the DIALCODEs. To do this, use a web browser and point it to the IP address of your Asterisk server and the directory housing your AsteriDex application, e.g. http://192.168.0.44/asteridex4/dialcode.php. Once you've run this application, dial 223 from any phone on your Asterisk system and enter A-M-E. This will return the default entry for American Airlines from your AsteriDex database. You can review all of the dialplan code by pulling up odbc.conf. Our code shows how easy it is to retrieve multiple fields from a database, parse those fields, and place an outbound call based upon a response from the caller. And all of this is accomplished with a couple dozens lines of simple dialplan code.

Where To Go From Here. We've covered the installation of ODBC and provided a couple of quick examples on how to extract data from ODBC-compatible databases using Asterisk. But to maximize your benefits with ODBC, learning the Structured Query Language (SQL) is the key that unlocks the castle. That's where the real work is performed. You want your good data to stay that way. And you want the answers to your queries to be right.

Our sample code in func_odbc.conf and odbc.conf will show you how to organize things and Asterize your SQL queries to pass information back and forth between Asterisk and MySQL. But mastering syntax alone won't earn you a Black Belt in SQL design. Here are two brand new O'Reilly books that will. The first book was just released, and the second one will be available shortly: Simply SQL and Learning SQL. Enjoy!


whos.amung.us If you're wondering what your fellow man is reading on Nerd Vittles these days, wonder no more. Visit our new whos.amung.us statistical web site and check out what's happening. It's a terrific resource both for us and for you.


 

Special Thanks to Our Generous Sponsors


FULL DISCLOSURE: ClearlyIP, Skyetel, Vitelity, DigitalOcean, Vultr, VoIP.ms, 3CX, Sangoma, TelecomsXchange and VitalPBX have provided financial support to Nerd Vittles and our open source projects through advertising, referral revenue, and/or merchandise. As an Amazon Associate and Best Buy Affiliate, we also earn from qualifying purchases. We’ve chosen these providers not the other way around. Our decisions are based upon their corporate reputation and the quality of their offerings and pricing. Our recommendations regarding technology are reached without regard to financial compensation except in situations in which comparable products at comparable pricing are available from multiple sources. In this limited case, we support our sponsors because our sponsors support us.

BOGO Bonaza: Enjoy state-of-the-art VoIP service with a $10 credit and half-price SIP service on up to $500 of Skyetel trunking with free number porting when you fund your Skyetel account. No limits on number of simultaneous calls. Quadruple data center redundancy. $25 monthly minimum spend required. Tutorial and sign up details are here.

The lynchpin of Incredible PBX 2020 and beyond is ClearlyIP components which bring management of FreePBX modules and SIP phone integration to a level never before available with any other Asterisk distribution. And now you can configure and reconfigure your new Incredible PBX phones from the convenience of the Incredible PBX GUI.

VitalPBX is perhaps the fastest-growing PBX offering based upon Asterisk with an installed presence in more than 100 countries worldwide. VitalPBX has generously provided a customized White Label version of Incredible PBX tailored for use with all Incredible PBX and VitalPBX custom applications. Follow this link for a free test drive!
 

Special Thanks to Vitelity. Vitelity is now Voyant Communications and has halted new registrations for the time being. Our special thanks to Vitelity for their unwavering financial support over many years and to the many Nerd Vittles readers who continue to enjoy the benefits of their service offerings. We will keep everyone posted on further developments.
 


Some Recent Nerd Vittles Articles of Interest...

Why Wait? Build Your Own Skype Gateway to Asterisk

Photo and Background Story courtesy of Skype JournalAs the world awaits the much-hyped Digium® commercial offering of a Skype for Asterisk® gateway, we began exploring existing alternatives last week that provide individuals1 the same functionality at what will no doubt be considerably less cost. The Gizmo5 offering is darn-near perfect for those that need a quick solution and don't mind spending $20 a year to let someone else wrestle with the technical complexities that invariably accompany maintenance of cross-platform gateways such as this one.

NOTE: Article has been updated. For the latest edition, follow this link.

We, of course, like the technical challenge that comes with the territory so today we turn our attention to Greg Dorfuss' SipToSis software which forms the lynchpin of Gizmo's offering and which lets any Asterisk user create much the same gateway at no cost other than the expense of any Skype Out calls you may choose to make. When we're finished, you'll be able to call any Skype user in the world from any extension on your Asterisk server by entering either a Skype username or any 10-digit telephone number preceded by an 8 to take advantage of SkypeOut calling rates. You'll also be able to receive incoming calls from any Skype user on any extension of your Asterisk system. In short, what you get is a transparent interface to several hundred million Skype users from your Asterisk server. And the time to set this up is less than 15 minutes assuming you already have one of the Nerd Vittles Orgasmatron Builds in operation. These are available for Dell PowerEdge servers, Everex gPC desktop systems and minis, and most of the new Atom-based systems. If you have a garden-variety FreePBX-based Asterisk server such as PBX in a Flash, trixbox, or Elastix, just add another 5 minutes to reconfigure a few things.

Prerequisites. For today's project, we're assuming you have an existing FreePBX-based Asterisk server with either CentOS 5.2 or the Fedora 10 Remix featured in our Atomic Flash build. You'll need both a keyboard and mouse! For inbound Skype calling to work with other implementations including generic PBX in a Flash systems, you'll need to create a SIP URI for your Asterisk server: mothership@127.0.0.1. We've previously explained how to set one up in this article. The Atomic Flash installer, VPN in a Flash build, and the Orgasmatron II and III builds include this SIP URI functionality out of the box. You'll also need Java 1.5. To see if it's included in your distribution, issue the following command: rpm -q jdk. Finally, we're assuming you already have an existing Skype account. If not, download the Skype software for your Mac or Windows PC, and sign up. Try out a demo from any Skype phone. Just call nerdvittles.

Installing JAVA. If your particular Asterisk distribution doesn't have JAVA 1.5 or higher installed (rpm -q jdk), here's how to do it. Go to Sun's Java SE Development Kit 6u12 website, choose Linux for the platform, and agree to the license agreement. Then click Continue. Download jdk-6u12-linux-i586-rpm.bin and copy it to your Asterisk server. Make the file executable (chmod +x jdk-6u12-linux-i586-rpm.bin) and then run it. Scroll down the wordy license agreement AGAIN and type yes. Java 1.6 then will be installed on your system. Whew!

Basic Installation. Now we're ready to get started. Log into your Asterisk server as root and issue the following commands.

cd /root
mkdir skype
cd skype
wget http://www.skype.com/go/getskype-linux-centos
#Atomic Flash builds including VPN in a Flash
#should skip the next 3 yum commands.
#Then pick up again after the next comment line.
yum install xorg-x11-server-Xvfb
yum install qt4
yum install xterm
#everyone continues on from here
yum install libXScrnSaver.i386
wget http://pbxinaflash.net/source/skype/siptosis.tgz
rpm -ivh skype*
cd /
tar zxvf /root/skype/siptosis.tgz

FreePBX Design. The FreePBX setup that we recommend goes something like this. For outbound Skype calls, you have two choices.

1. To place a call to a regular phone number using SkypeOut (which costs you money), you'll simply dial 8 plus the area code and number. Our foreign friends will have to adjust their dialplans and /siptosis/SkypeOutDialingRules.props accordingly. Today's setup assumes 10-digit phone numbers!

2. To place a call to a Skype username using a softphone that supports SIP URI dialing such as X-Lite, you simply precede the Skype username with an asterisk, e.g. *echo123 will connect you to the Skype Call Testing Service.

For incoming Skype calls, the default setup routes those calls to a SIP URI: mothership@127.0.0.1. Whether you point this URI to an extension, ring group, or IVR is up to you. In the default Orgasmatron and Atomic Flash builds, the mothership URI is pointed to the Stealth AutoAttendant, an IVR that plays a welcoming message and then transfers the call to a ring group if no digit is pressed by the caller.

Configuring FreePBX. To put this setup in place, use a web browser to access FreePBX on your Asterisk server. You'll need to create a Custom Trunk and then an Outbound Route.

1. Choose Setup, Add Trunk, Add Custom Trunk. Fill in the form so that it looks like the following using your own CallerID number obviously:

When you're finished, click the Submit Changes button and then reload the dialplan when prompted.

2. Next choose Setup, Outbound Routes, Add Route. Fill in the form so that it looks like this:

When you're finished, click the Submit Changes button. Be sure to move this new OutSkype route to the top position in your Outbound Routes listing in the right margin! Then reload the dialplan when prompted.

3. If you're not using one of our custom Asterisk builds, add a new DayNight Control 1 option while you're still in FreePBX. Just specify where you want calls routed for Day mode and Night mode. Then, here's the easy way to activate SIP URI support on your Asterisk/FreePBX server. Copy the [from-sip-external] context from the extensions.conf file in /etc/asterisk. Now copy the content into extensions_override_freepbx.conf. Be sure to preserve the context name in brackets! Now make it look like the following. The additions we're making are shown in bold below:

[from-sip-external]
;give external sip users congestion and hangup
; Yes. This is _really_ meant to be _. - I know asterisk whinges about it, but
; I do know what I'm doing. This is correct.
exten => _.,1,NoOp(Received incoming SIP connection from unknown peer to ${EXTEN})
exten => _.,n,Set(DID=${IF($["${EXTEN:1:2}"=""]?s:${EXTEN})})
exten => _.,n,Goto(s,1)
exten => s,1,GotoIf($["${ALLOW_SIP_ANON}"="yes"]?from-trunk,${DID},1)
exten => mothership,1,Goto(app-daynight,1,1)
exten => pbxinaflash,1,Goto(app-daynight,1,1)
exten => e164,1,Goto(from-trunk,e164,1)
exten => fax,1,Goto(from-trunk,fax,1)

exten => s,n,Set(TIMEOUT(absolute)=15)
exten => s,n,Answer
exten => s,n,Wait(2)
exten => s,n,Playback(ss-noservice)
exten => s,n,Playtones(congestion)
exten => s,n,Congestion(5)
exten => h,1,NoOp(Hangup)
exten => i,1,NoOp(Invalid)
exten => t,1,NoOp(Timeout)

Finally, reload your Asterisk dialplan, and we're finished with Asterisk and FreePBX setup:

asterisk -rx "dialplan reload"

Activating Your Skype Gateway. Now we're ready to place your Skype gateway in production. You'll need to perform these steps from the console on your Asterisk server since we have to run Skype in graphics mode. This may look a bit complicated. It's really not. It's just a bit tedious to figure out the sequence of steps, but we've done that part for you.

For those on a CentOS-based system, here are the steps:

1. Start up X-Windows: xinit

NOTE: If xinit won't start on your particular machine, you may need to create /etc/X11/xorg.conf. Here's a generic config file that should work fine for our purposes:

Section "ServerLayout"
Identifier "X.org Configured"
Screen 0 "Screen0" 0 0
EndSection

Section "Device"
Identifier "Card0"
Driver "vesa"
EndSection

Section "Screen"
Identifier "Screen0"
Device "Card0"
SubSection "Display"
Viewport 0 0
Depth 16
Modes "800x600"
EndSubSection
SubSection "Display"
Viewport 0 0
Depth 16
Modes "800x600"
EndSubSection
EndSection

2. Next we need to start up Skype, log in, set it to autologin whenever we start it, and then in the Skype configuration, set it to run minimized: skype

NOTE: Place a Skype Test Call (echo123) to be sure your audio settings are set correctly. If a test call fails with a bad audio message, go into Options, Sound Devices and reconfigure your Audio settings until you can place the test call successfully. Otherwise, none of the rest will work! If you're using a Dell server such as the PowerEdge T100, you're probably S.O.L. without an advanced degree in Rocket Science.
HINT: Intel Atom-based motherboards are a piece o' cake!

3. Once you've got Skype working and all of the Skype settings configured above, shut down Skype.

4. Now start Skype again in background mode: skype &

5. Be sure to write down the PID for Skype in case you need to kill the job if something goes wrong. 🙂

6. You should have a command prompt back now. So issue these commands:

cd /siptosis
./SipToSis_linux

7. A message from Skype should pop up asking if you want to authorize external use of Skype: yes. Also be sure to mark the Checkbox to save this setting for future connections!

8. Now go to a softphone connected to an extension on your Asterisk server and dial *echo123

9. Go to any extension connected to your Asterisk server and dial 8 + your home phone number. This will place the outbound call through SkypeOut at 2¢ a minute.

Finally, here are a few navigation tips for managing your Asterisk console on CentOS systems:

1. Ctrl-Alt-F2 gets you a new login prompt for your server

2. Ctrl-Alt-F7 gets you back to the SipToSis/Skype session. You can kill SipToSis by holding down Ctrl-C for several seconds. To kill Skype: kill pid# (that you wrote down). To restart Skype: skype & and to restart SipToSis, just issue the command again: ./SipToSis_Linux

3. Ctrl-Alt-F9 gets you to the Asterisk CLI.

Automating the Skype Gateway Startup. Once you're positive everything is working reliably and you've rebooted and tried it again just to make certain there are no prompts, here's how to fire up your Skype gateway whenever you reboot your server.

Log into your server as root and issue the following commands:
cd /root
wget http://pbxinaflash.net/source/skype/start-skype
chmod +x start-skype
echo "/root/start-skype" >> /etc/rc.d/rc.local
reboot

For those using one of our Fedora 10 builds such as VPN in a Flash or the Atomic Flash installer, these systems have a full implementation of X-Windows and KDE. Just start the system in mode5 (graphics mode), log in, run Skype in one window and start up SipToSis in a terminal window using the commands in Step 6 above. Authorize external use of Skype when prompted.

Setting Up Speed Dials for Skype Friends. One of the wrinkles with Skype is that Skype uses names for its users rather than numbers. If you don't have a SIP URI-capable softphone, there's still an easy way to place calls to your Skype friends using FreePBX. Just add a Speed Dial number to your FreePBX dialplan. Choose Extension, then select the Custom type, provide an Extension Number which is the Speed Dial number (this could actually spell your friend's name using a TouchTone phone), enter a Display Name for your friend, and add an optional SIP Alias. Then insert the following in the dial field replacing joeschmo with your friend's actual Skype name. Save your entries and reload the dialplan when prompted.
SIP/joeschmo@127.0.0.1:5070

Security Warning. One final note of caution. Do NOT expose UDP port 5070 to the Internet unless you first secure this port with a username and password to avoid Internet intruders using your gateway as a free Skype dialing platform! You do not need 5070 exposed to the Internet to implement today's gateway solution for inbound or outbound Skype calling from your Asterisk server so we recommend you keep it securely behind at least one firewall.

Where To Go From Here. Well, those are the basics. You now can make one outbound Skype call at a time from your Asterisk server, and you can receive an inbound Skype call on any Asterisk extension when Skype users call your regular Skype name. If you want to start up your own business (like Gizmo5), then you'll need to do some tweaking. What you'll need is the STS Trunk Builder toolkit which is free, but proprietary. Enjoy!


Want a Bootable PBX in a Flash Drive? Our Atomic Flash bootable USB flash installer for PBX in a Flash has been quite the hit. Special thanks to all of our generous contributors! Atomic Flash provides all of the goodies in the VPN in a Flash system featured last month on Nerd Vittles. You can build a complete turnkey system using almost any current generation PC with a SATA drive and this USB flash installer in less than 15 minutes!

If you'd like to put your name in the hat for a chance to win a free one delivered to your door, just post a comment with your best PBX in a Flash story.2

Be sure to include your real email address which will not be posted. The winner will be chosen by drawing an email address out of a hat (the old fashioned way!) from all of the comments posted over the next several weeks.

And it still isn't too late to make a contribution of $50 or more to the PBX in a Flash project and get a free Atomic Flash installer delivered to your door as our special thank you gift. See this Nerd Vittles article for details.


 

Special Thanks to Our Generous Sponsors


FULL DISCLOSURE: ClearlyIP, Skyetel, Vitelity, DigitalOcean, Vultr, VoIP.ms, 3CX, Sangoma, TelecomsXchange and VitalPBX have provided financial support to Nerd Vittles and our open source projects through advertising, referral revenue, and/or merchandise. As an Amazon Associate and Best Buy Affiliate, we also earn from qualifying purchases. We’ve chosen these providers not the other way around. Our decisions are based upon their corporate reputation and the quality of their offerings and pricing. Our recommendations regarding technology are reached without regard to financial compensation except in situations in which comparable products at comparable pricing are available from multiple sources. In this limited case, we support our sponsors because our sponsors support us.

BOGO Bonaza: Enjoy state-of-the-art VoIP service with a $10 credit and half-price SIP service on up to $500 of Skyetel trunking with free number porting when you fund your Skyetel account. No limits on number of simultaneous calls. Quadruple data center redundancy. $25 monthly minimum spend required. Tutorial and sign up details are here.

The lynchpin of Incredible PBX 2020 and beyond is ClearlyIP components which bring management of FreePBX modules and SIP phone integration to a level never before available with any other Asterisk distribution. And now you can configure and reconfigure your new Incredible PBX phones from the convenience of the Incredible PBX GUI.

VitalPBX is perhaps the fastest-growing PBX offering based upon Asterisk with an installed presence in more than 100 countries worldwide. VitalPBX has generously provided a customized White Label version of Incredible PBX tailored for use with all Incredible PBX and VitalPBX custom applications. Follow this link for a free test drive!
 

Special Thanks to Vitelity. Vitelity is now Voyant Communications and has halted new registrations for the time being. Our special thanks to Vitelity for their unwavering financial support over many years and to the many Nerd Vittles readers who continue to enjoy the benefits of their service offerings. We will keep everyone posted on further developments.
 


Some Recent Nerd Vittles Articles of Interest...

  1. Skype and this suggested implementation are intended for individual use. Your use is, of course, governed by the Skype Terms of Service. []
  2. This offer does not extend to those in jurisdictions in which our offer or your participation may be regulated or prohibited by statute or regulation. []

Introducing Atomic Flash: 15-Minute Turnkey Asterisk Installs

PBX in a Flash offers a number of Asterisk- compatible PBX solutions to meet virtually every need. These range from base installs of Asterisk 1.4 and 1.6 in both 32-bit and 64-bit flavors. In addition, the Orgasmatron builds provide turnkey installs for Everex gPC systems and Dell PowerEdge SC440 and T100 servers. And our recent VPN in a Flash build for the Acer Aspire One NetBook introduced the ultimate portable, secure traveling communications server including the Hamachi VPN.

For 2009 we round out our offerings with the ultimate development tool, a bootable USB flash drive which can create turnkey, full-featured Asterisk PBX systems in 15 minutes or less. As its name suggests, this build was specially engineered for the new Atom-based motherboards found in most netbooks although it works just fine with Dell’s PowerEdge T100 servers as well. Many of the newer netbooks lack a CD/DVD drive so a bootable flash installer is ideal. In addition to a current generation computer, you’ll also need an 80GB or larger SATA disk drive which can be configured as sda1, sda2, and sda3. RAID setups are not yet supported unless you’re very familiar with reconfiguring Mondo Restores. With your new computer in hand, just plug in the Atomic Flash, and boot the computer from the flash drive. Type nuke and have a cup of coffee. When you return in 15 minutes and type a couple commands, your system will be ready for deployment. Add your trunk providers, match phones to the preconfigured extensions, secure passwords, and you’re all set. It’s that easy!

Make no mistake. This is a Bleeding Edge installer featuring a Fedora 10 Remix1 that’s less than a week old. It supports the latest and greatest motherboards, wired and WiFi networks, and it includes the KDE graphical user interface for those that love GUIs. Out of the box, it provides a functioning softphone as well as your own private Hamachi VPN connecting up to 15 additional systems so the entire setup can be deployed as a mobile communications hub in less time and for less money than most folks spend on their breakfast.

For those that demo systems for a living, no one will touch this presentation. Just show up at a customer site with a $300 Acer Aspire One NetBook and an Aastra 57i business phone. While the customer watches the Atomic Flash build a new PBX in a Flash server from the ruins of a Windows XP clunker, you can connect and configure the 57i and explain how simple VoIP networks can be.

When you finish your 10-minute slide show, your system will be operational. Dial any 800 number from your Aastra phone, and presto… instant, flawless communications! Now explain to the customer what the world of penny-a-minute communications is all about with every call between PBX in a Flash systems and other SIP phones absolutely free… worldwide.

Friends of PIAF. So how do you get one? If you don’t mind a preproduction version, which means we have to custom-build every flash drive, here’s how to get yours. First, this offer is for a limited time (until we get sick of cloning flash drives). And don’t expect to receive your unit overnight. In fact, it may be several weeks or more depending upon how busy we get with other Honey-Do’s. But we won’t forget you!

Now what? Just make a contribution of $50 or more to the PBX in a Flash project through PayPal, and we’ll give you one (as in gift for free), and we’ll even pay the shipping. Limit of one per contributor please! Keep in mind that $50 barely covers the cost of the 8GB flash drive, the shipping, the PayPal commission, and the labor (at 5¢ an hour) so your generosity is most appreciated. And when we get tired of working for 5¢ an hour, we’ll holler. 🙂

Once your Atomic Flash device arrives, please visit http://atomicflash.org or http://pbxonaflash.com for complete installation instructions.



The Perfect Complement. The stars have all lined up to provide a perfect opportunity for you to purchase a state-of-the-art NetBook. Click or hover on the image above for details. If you’d prefer a server, you now can grab a Dell Poweredge T100 server with dual 160GB SATA drives and 2GB of RAM saving $397 off the list price. Either hardware works great with Atomic Flash.

Are You Crazy? Why Are You Doing This? Well, yes and because it’s the First Anniversary of PBX in a Flash! We want everyone to experience PBX in a Flash in all its greatness now that we’ve got it down to a 15-minute walk in the park. These are tough economic times for many businesses around the world, and we want you to help us spread the word about the savings that can be realized through Voice Over IP. We also want to encourage those of you on the fence about a career to enter the Asterisk® reseller community, and we’re doing our part by providing the perfect sales and development tool.

So now’s your chance. We hope you’ll tell every business acquaintance and friend you have about PBX in a Flash. And you have our heartfelt thanks for your continuing support. It’s been a blast!


 

Special Thanks to Our Generous Sponsors


FULL DISCLOSURE: ClearlyIP, Skyetel, Vitelity, DigitalOcean, Vultr, VoIP.ms, 3CX, Sangoma, TelecomsXchange and VitalPBX have provided financial support to Nerd Vittles and our open source projects through advertising, referral revenue, and/or merchandise. As an Amazon Associate and Best Buy Affiliate, we also earn from qualifying purchases. We’ve chosen these providers not the other way around. Our decisions are based upon their corporate reputation and the quality of their offerings and pricing. Our recommendations regarding technology are reached without regard to financial compensation except in situations in which comparable products at comparable pricing are available from multiple sources. In this limited case, we support our sponsors because our sponsors support us.

BOGO Bonaza: Enjoy state-of-the-art VoIP service with a $10 credit and half-price SIP service on up to $500 of Skyetel trunking with free number porting when you fund your Skyetel account. No limits on number of simultaneous calls. Quadruple data center redundancy. $25 monthly minimum spend required. Tutorial and sign up details are here.

The lynchpin of Incredible PBX 2020 and beyond is ClearlyIP components which bring management of FreePBX modules and SIP phone integration to a level never before available with any other Asterisk distribution. And now you can configure and reconfigure your new Incredible PBX phones from the convenience of the Incredible PBX GUI.

VitalPBX is perhaps the fastest-growing PBX offering based upon Asterisk with an installed presence in more than 100 countries worldwide. VitalPBX has generously provided a customized White Label version of Incredible PBX tailored for use with all Incredible PBX and VitalPBX custom applications. Follow this link for a free test drive!
 

Special Thanks to Vitelity. Vitelity is now Voyant Communications and has halted new registrations for the time being. Our special thanks to Vitelity for their unwavering financial support over many years and to the many Nerd Vittles readers who continue to enjoy the benefits of their service offerings. We will keep everyone posted on further developments.
 


Some Recent Nerd Vittles Articles of Interest…

  1. Fedora and the Infinity design logo are trademarks of Red Hat, Inc. Asterisk is a registered trademark of Digium, Inc. All other trademarks and registered trademarks are property of their respective owners. This software aggregation is neither provided nor supported by the Fedora Project and contains non-Fedora and modified Fedora content. Official Fedora software is available through the Fedora Project website []

Free At Last: The Emancipation of the Apple TV

We’ve never quite forgiven Apple1 for bricking some of the original iPhones because some owners chose to jailbreak their private property to learn how it worked or to add additional functionality. It may turn out to be Steve Jobs’ billion dollar blunder! The stunt was especially egregious when one considers that both the iPhone and much of Mac OS X are based upon open source software for which Apple didn’t pay a nickel. Apple certainly added a pretty wrapper, but the internals of both the iPhone and Mac OS X contain loads of pure open source code including dozens of Mach 3.0 and FreeBSD 5 applications. Destroying people’s cellular phones for accessing soft- ware that was licensed to Apple as open source code just doesn’t pass the smell test.

Courtesy of Apple, Inc.

Thus it was with mixed emotions that we unwrapped our Apple TV during Christmas 2007. Like the iPhone, it was locked up tighter than a drum even though the internals of the product read like a Who’s Who of the Open Source Movement: awk, bzip, cut, grep, find, ftp, finger, gzip, more, nano, openssl, perl, sed, tail, tar, touch, uname, whois, zip, and on and on. In fact, Mac OS X arguably is a better Linux than Linux. Suffice it to say, we read numerous articles outlining the lengths to which some talented users were going to unlock their Apple TVs. The process required disassembly of the unit, removal of the hard disk, and then a tedious unlocking scenario that was akin to breaking into Fort Knox. We chose to leave our Apple TV in its shrink wrap.

So what’s wrong with the Apple TV? Well, nothing… if you don’t mind paying Apple over and over again to reacquire media content which you already have licensed and if you don’t mind jumping through the iTunes hoops to transfer that content to a device which is perfectly capable of being self-sufficient. Let’s see. $1.99 to watch a TV show or play a music video that’s already sitting on your TIVO machine or that’s already freely (and legally) available from numerous sources on the Internet. Apple has added YouTube access, but the design really limits you to the most popular content. That makes it unsuitable (or worse) for anyone under the age of 13… or over the age of about 25. 🙄

Fast forward to 2009, and we decided it was time to take another look at the Apple TV landscape. WOW! What a difference a year makes. You now can create a bootable USB flash drive in a couple minutes, plug it into your Apple TV, and have a perfectly functioning, (true) open source appliance with DIVX and AVI support in less than 15 minutes. The FrontRow-enhanced Apple TV provides access to virtually all media content in every format imaginable with incredibly slick user interfaces thanks to the XBMC Media Center, Boxee Social Media Center, Nito TV, and Hulu. Most were originally designed for Microsoft’s Xbox. Uploads and downloads of media content can be performed using either your Apple TV controller and a television, or a web browser, or SAMBA networking, or SSH. So thanks to a resourceful bunch of talented, open source developers, we finally have an Apple TV worth owning that also happens to be fun to use. Incidentally, this whole metamorphosis can be accomplished without damaging the Apple TV’s existing user interface or its out-of-the-box functionality… at least until the next update from Apple. 🙂
So proceed at your own risk!

Freeing Your Apple TV. Since October, 2008, the emancipation of the Apple TV has become a simple, 5-minute exercise. What you’ll need to get started is an Apple TV2 with version 2 software, a 1GB USB Flash Drive, and ATVUSB-creator which is free. The drill here is to create a bootable flash drive that can be used to reboot the Apple TV and transform its closed and proprietary shell into an open source platform. The preferred machine for creating your bootable flash drive is a Mac running Tiger or Leopard although a Windows XP/Vista solution is also available now. The only precaution we would add is to unplug all of the USB drives connected to your PC before creating the bootable flash drive. Then you won’t accidentally reformat the wrong USB drive. The one-minute CNET tutorial is here. A better one is here.

Once you have your bootable USB flash drive in hand, unplug your Apple TV and plug the USB drive into the unit. Now connect your Apple TV to a television. Power up your Apple TV and marvel at the installation process which takes under a minute. Whatever you do, don’t boot your Apple TV with the flash drive more than once! When the install completes, you should see a message indicating that your Apple TV can be accessed with SSH within a few minutes at frontrow@appletv.local. The password is frontrow. The IP address for your Apple TV also can be used for SSH access as well. Remove the flash drive and reboot. You’ll see a new menu option for XBMC/Boxee. Just follow the menu items to install both applications. After another reboot, you’ll be all set. Click on the CNET video above to watch a demo.

After installing the apps, launch and then configure XBMC. If you get an error that reads "Cannot launch XBMC/Boxee from path," it means you forgot to install the software through your TV menu. If you enable the web interface, you’ll be able to go to any browser on your LAN and manage XBMC through the following link using the IP address of your Apple TV: http://192.168.0.180:8080. For complete documentation, check out the XBMC Wiki.


Before you can use Boxee, you’ll need to visit their web site and sign up for an account. A tutorial on the application is available at UberGizmo. As luck would have it, this application only became publicly available in Alpha last week so we’re just in time. Don’t sweat the Alpha status too much, it previously ran on the XBox platform as well as Windows, Macs, and Linux. There’s social networking support via Twitter, FriendFeed, Tumblr, and NetFlix. While it’s running on your Apple TV, you can access the interface remotely with a browser from anywhere on your LAN at http://ipaddress:8800 assuming you have enabled the web server interface.

Hulu is another terrific resource for movies, TV shows and music videos. It is available through Boxee. There are a few ads but not many. For a lot of the movies, you’ll also need to set yourself up an account there and configure your uncrippled Apple TV accordingly.

But What About Asterisk®? We knew someone would ask. Sure. An Asterisk for Mac solution should work on the Apple TV if you don’t plan to use it as a media center. For best results, compile everything on a separate Tiger Mac, and then move it over. Keep in mind that the device is limited to 256MB of RAM so simultaneously using the Apple TV as both an Asterisk PBX and a media center more than likely will cause unacceptable performance degradation in both your phone calls and your music and video streams. Someday perhaps we’ll give it a try. In the meantime, enjoy your new open source media center!


Want a Bootable PBX in a Flash Drive? Next week to celebrate the beginning of Nerd Vittles’ Fifth Year, we’ll be introducing our bootable USB flash installer for PBX in a Flash with all of the goodies in the VPN in a Flash system featured a few weeks ago on Nerd Vittles. You can build a complete turnkey system using almost any current generation PC with a SATA drive and our flash installer in less than 15 minutes!

If you’d like to put your name in the hat for a chance to win a free one delivered to your door, just post a comment at this link with your best PBX in a Flash story.3

Be sure to include your real email address which will not be posted. The winner will be chosen by drawing an email address out of a hat (the old fashioned way!) from all of the comments posted over the next couple weeks. Good luck to everyone!


 

Special Thanks to Our Generous Sponsors


FULL DISCLOSURE: ClearlyIP, Skyetel, Vitelity, DigitalOcean, Vultr, VoIP.ms, 3CX, Sangoma, TelecomsXchange and VitalPBX have provided financial support to Nerd Vittles and our open source projects through advertising, referral revenue, and/or merchandise. As an Amazon Associate and Best Buy Affiliate, we also earn from qualifying purchases. We’ve chosen these providers not the other way around. Our decisions are based upon their corporate reputation and the quality of their offerings and pricing. Our recommendations regarding technology are reached without regard to financial compensation except in situations in which comparable products at comparable pricing are available from multiple sources. In this limited case, we support our sponsors because our sponsors support us.

BOGO Bonaza: Enjoy state-of-the-art VoIP service with a $10 credit and half-price SIP service on up to $500 of Skyetel trunking with free number porting when you fund your Skyetel account. No limits on number of simultaneous calls. Quadruple data center redundancy. $25 monthly minimum spend required. Tutorial and sign up details are here.

The lynchpin of Incredible PBX 2020 and beyond is ClearlyIP components which bring management of FreePBX modules and SIP phone integration to a level never before available with any other Asterisk distribution. And now you can configure and reconfigure your new Incredible PBX phones from the convenience of the Incredible PBX GUI.

VitalPBX is perhaps the fastest-growing PBX offering based upon Asterisk with an installed presence in more than 100 countries worldwide. VitalPBX has generously provided a customized White Label version of Incredible PBX tailored for use with all Incredible PBX and VitalPBX custom applications. Follow this link for a free test drive!
 

Special Thanks to Vitelity. Vitelity is now Voyant Communications and has halted new registrations for the time being. Our special thanks to Vitelity for their unwavering financial support over many years and to the many Nerd Vittles readers who continue to enjoy the benefits of their service offerings. We will keep everyone posted on further developments.
 


Some Recent Nerd Vittles Articles of Interest…

  1. Disgruntled customers reportedly have filed over a billion dollars’ worth of lawsuits over their bricked iPhones claiming Apple did it intentionally. Great PR move there, Steve! []
  2. The Apple TV actually runs a modified version of Tiger (aka Mac OS X 10.4). []
  3. This offer does not extend to those in jurisdictions in which our offer or your participation may be regulated or prohibited by statute or regulation. []

What PBX in a Flash Brings to the Asterisk Table

As 2008 comes to a close, PBX in a Flash celebrates its First Anniversary and continues to be the only Asterisk® distro that offers users a choice of Asterisk 1.4 or 1.6 in either 32-bit or 64-bit flavors. In addition, you can choose our Lean, Mean Asterisk Machine or a preconfigured turnkey implementation with every VoIP bell and whistle on the planet. It’s all about choice and flexibility, and we offer both. For a preview of coming attractions, see the end of this article or take a look at the screen capture below. But today we hand over the editorial reins to some of our PBX in a Flash users to express in their own words why they chose PBX in a Flash and what their return on investment has been. We think you’ll be surprised by some of the responses. We certainly were.

You Never Know How Things Will Work Out

During the time of PBXIAF 1.0, I had been working with Trixbox for about 6 months. By the time PBXIAF 1.1 came out, I had learned enough about the way Trixbox can’t be updated to develop a healthy appreciation for the PBXIAF “compile on site, update as prudent” approach.

I happen to be a techno-nut -– but that notwithstanding, our small business was experiencing telephonic growing pains. After 7 years in business, an opportunity to expand our private label help desk product was easily ready to overrun the terrible copper lines we had for telephone service.

Since it was obvious VoIP was the only way to go – we began to explore what was out there. Vonage was riding high, Packet8 and many other competitors all got us around the limited copper into the office, each one we looked at had their own special quirks. All of them were using analog telephone adapters (ATAs) and either regular or slightly customized Analog phones.

We began a year of exploration that started with the BigGreenBox – hoping to learn enough about VoIP and this strange creature called FreePBX to be able to use it. But, with time marching on, Packet8’s Virtual Office product was selected, and put into use in a 10-phone system.

Although pretty much always under development, the web application that was provided was a little twisted, but worked once you got over its way of looking at call flow – rudimentary ring groups could be arranged in such a way as to simulate queues provided nor more than 8-10 callers were on hold. And so it went for a good year. We definitely used all our creativity to connect various IVR’s ($15/month each) to give the caller a good experience, but we were already clearly operating at the very limits of flexibility and capacity for the Packet8 system.

The average telephone bill during this period was approximately $380 per month (about 1/3 of what copper lines had cost) and almost nothing in hardware ($1,000 in proprietary telephones and ATAs).

Then the balance was broken when Packet8 rather arbitrarily stopped supporting a type of IVR transfer that was crucial to our work flow. At the same moment, the unthinkable happened. The help desk grew a little more. Less flexibility + even more demands for non-achievable call flow changes was the death knell for Packet8 at our office.

During this same time we had deployed several ISOs of the GreenBox in the lab and with field technicians….Several ISO’s! In a very short time. So many ISO’s, so fast – and a complete reinstall to go with each one. Yikes. It had become apparent to me that my career would suddenly change from network engineering to “PBX Upgrade and Reconfigure Monkey” if we deployed that distribution. Also – the forums were unproductive and negative much of the time. There are ways to disagree and still remain civil. Then, I rediscovered Nerd Vittles. This was about the time PBXIAF 1.1 was released.

The difference in the environment and team spirit – even when disagreements occurred – is very palatable. The community is full of people who are so wonderfully giving of their experience. The difference in the distributions – well- they can be summed up in about 6 words. Ward Mundy, Tom King, and Joe Roper.

This trio has brought together a remarkable set of skills and disciplines that produced a really, really good distribution, not solely RPM-based so knuckleheads like me can follow simpler instructions. [Asterisk code is] updated and compiled right on the box – and fully scripted. Security flaws get fixed in hours – sometimes minutes (when they find them – there’s been so FEW), not DAYS like the other guys. And all of it is based on FreePBX, arguably the most evolved UI for managing Asterisk.

Together – they got stability, reliability, and repeatability, and decorated it with enough solid features and functions to be a platform whose feature-function-benefit points are all top notch. Linux, Asterisk, Mysql, Apache, Text to Speech (2 different flavors), Voice Reminders, Wake Up Calls, Weather Reports, Tide Reports, Email by Phone, Headline News by Phone, and scripts that make it all go together just the way it needs to be: “stable and reliable”.

PBX In a Flash is a gift – an opportunity for our technical staff to learn a new area of our field, with the camaraderie of some genuine experts in the arena. We are 8 people, doing the work of 12 – just like a million small businesses. As an old network guy – learning a new skill has been tremendously exhilarating. And this technology is so flexible that I’m continually exhilarated learning new things… and for a long time to come! The professional growth has been great for all of us.

Now, the money. Way back up in the top of this [post], I told you the phone bill with Packet8 was on a good month $380 with barely the [functionality] needed to do our professional best.

Today, thanks to PBXIAF, we run 6 queues every day, with tremendous customer and client satisfaction. We use every part of the system to provide our customers with the best telephone interaction experience they could get anywhere. While handling about 10% more traffic, and with far superior call handling and work flow support, our average phone bill is $120 month.

Here’s the good part. With the $260 a month being saved, the company was able to afford to bring in group medical insurance for all our employees. How’s that for positively impacting 8 people every single day of their lives?

Ward, Tom, Joe – I could never have done it without you.

–tshif

And then there was this testimonial from a venue that all of us are thinking about these days:

Our small public middle school in Washington, DC has to make every penny count. I’m in charge of our technology and its meager budget. This past summer we moved to a new and bigger building and needed to migrate our phone system. We had an existing NEC Aspire system with 15 extensions that worked just fine – nothing fancy – and it hooked up to a single POTS line.

At the new building we needed to double the size to 30 extensions. As the Aspire system used VOIP, it should just be a matter of buying the handsets and a little labor to configure them. Right? [Wrong!] $17,000 is what they wanted to hook up the existing equipment that we moved over and add the 15 new extensions. My response: "Hell no!"

I’d wanted an excuse to setup an Asterisk server for a while, but I had heard how complicated it was. School was close to opening. I had a lot of other things to take care of. And I needed a solution that would most likely work the first time. I found PiaF then read up on the wiki and Nerd Vittles. I ordered a set of Aastra 57i’s and a used Dell PowerEdge 2650. We decided to go "pure VOIP" for flexibility and signed up with Vitelity.com.

I followed the great step-by-step directions for PiaF. I wanted to set mine up inside a Virtual Machine which added some complexity, but I found lots of helpful users in the forums that had documented their experiences before me.

Now we’re 5 months in. The system has more capabilities than our old NECs. The sound quality is better, and it’s easier to use. I had some problems with my server crashing, but I was able to rebuild it on different hardware and transfer our entire configuration in about an hour. Now everything is great. I love that we’re implementing more open source tools, open standards, and aren’t limited to vendor BS when we’re ready to expand. Other schools thought we were "crazy" to setup our own system. Now they want all the details to try and do it themselves.

The best part, of course, is that our whole setup was under $7K. That’s a $10,000 savings. To translate that with regards to the school, that savings allowed us to buy and set up four desktop machines in each of ten classrooms. Now THAT is making a difference.

Thanks to the PiaF team and community!

–jcasimir

And then there’s this one:

TODAY I TOOK CONTROL OF MY VOIP…..

I’ve been a happy VOIP user for 4 years running on Vonage. Even got my son hooked up on Vonage while he was in the Army stationed in Japan. But, when the lawsuits loomed over Vonage’s head, I started looking for something else, and I found Nerd Vittles. WOW! Being kind of a gadget junkie to start with and always looking for something interesting to do with my PCs, I started with Trixbox from Ward’s "build" and fumbled along. When PIAF came along I naturally followed.

I have two important successes that have made me love this VOIP/PIAF stuff.

1) When my grandson was diagnosed with a heart condition my daughter and her husband were stuck in hospital emergency rooms for hours at a time. Being about 500 miles from both our family and the other grandparents, they had a very difficult time getting news out to us since hospitals usually restrict the use of cell phones and don’t allow long distance calls from their phones. That only leaves (yuck!) pay phones. In just a few minutes time, I was able to buy a local DID to the hospital and connect it to my PIAF. I then set up an IVR that gave them access to a DISA. That way they could call us using a local number or call through the DISA to contact the other grandparents. Keeping everyone informed really eases your mind when the grandkids are ill!

2) When I got tired of my wife continuing to ask me for phone numbers when calling our family and friends, I finally decided to set up an IVR for her. So far, both of our kids’ home and cell numbers (as well as my cell number) have kept her happy. When she asks for more I’ll just add them. So far the "Wife Acceptance Factor" is high and I’m having great fun. Hanging up on recognized telemarketers is great, the Callerid Superfecta works great, and I like getting the Weather Forecast from Allison.

The port from Vonage was completed today. I’m using Future-Nine as my primary provider. So, like I said, today is the day I took control of my VOIP.

–jeffmac

And, speaking of role reversal…

PIAF to the Rescue!!

Here is a twist for you.

First, the problem:

My company has a ShoreTel system in place, 48 extensions. They have 2 PRI’s bonded together with dynamic channel allocation. Eight channels are dedicated to the phones, the rest to the Internet. When we have more calls than 8, the system robs channels from the Internet, up to 23 channels max, and returns them as the call volume drops. This all works well.

Monday, a pole a few blocks from our office had the transformer catch fire, and the provider’s equipment was affected. We lost both Internet and phones for several hours. Much of our business is time critical. With no incoming phone calls and no email, we almost lost out on a chance to bid on a VERY large deal. Fortunately, the customer knew the L.A. branch number and after being unable to get in touch with us, he called L.A.

Anyway, now it is critical to management that this NEVER happen again.

The Solution:

Tuesday: I studied the issue and wrote a proposal.

Wednesday: I fired up a PIAF box, established a 10 channel SIP trunk group to the ShoreTel system, and got everything setup for intersystem routing, etc.

Thursday: I am picking up a pay-as-you-go service with 10 channels from a VOIP provider with a single DID and setting our Telco service for failover/rollover to the VOIP DID. I am then ordering a second Internet circuit, 2meg x 2meg, to bring in the SIP trunks from the provider. As soon as that is done, I will dual-home the mail server so that we can get and send email via both Internet providers.

The End Result:

If the primary connection fails, phone service rolls over to the DID from the VOIP provider, rolls into PIAF, and cross trunks to the ShoreTel – AUTOMATICALLY!! Email switches to the secondary MX record and keeps right on rolling. One change in the firewall for the public NAT address and gateway and Internet [and phone service] is back up and running.

THANK YOU Ward, Tom, Joe and gang for making this possible.

–Greg Keys

And, last but not least…

You made my Grandma Cry!

My wife and I are currently living in Germany, and we’ve been using a Skype-In number so our friends and family can call us. For my wife it is important that the solution just works like a regular phone and so I had setup a Siemens M34 to interface with our DECT phone and it worked, mostly, for a few days until the entire system needed to be restarted. For most of our family, this solution works. But my grandmother is living in a different area code and can’t afford to call us as often as she would like.

I stumbled upon the PBX in a Flash project a few weeks ago and, after I found two old Grandstream GXP-2000 in the company junk closet (we are an Internet startup – someone is always buying new toys), I installed PiaF 1.2 using VMWare. I set up a Vitelity DID, the CallerID Superfecta, the Callerid Creep Detector, experimented with ring groups, routing, IVRs and was so impressed that I knew our Skype-solution days were numbered.

Last night, I took the plunge, reformatted the Skype system, and deployed PiaF 1.3. The install was so fast and painless. I copied the old configuration information into the new system. And, my new PBX was up and running in under and hour.

I had so much time left on my hands that I figured I might as well experiment. I followed another Nerd Vittles tutorial and created a few cell phone extensions for my family back in the states. I went to Vitelity and purchased another DID. I recorded a quick message, setup an IVR, and a new corresponding route. That’s when the fun started.

I called my grandmother and told her: "Grandma, we’ve got a new telephone number. Will you please call me right back at…". She was a little surprised when I told her that the number was now going to be a local call for her. The real surprise came when she called the number and heard, "Hi Grandma, welcome to your phone system. For Martin and Ashlee, please press 1, for Rachel please press 2,…". By the time she pressed 1 and Asterisk was ringing our home ring group, she was in tears.

We talked for quite a while about our lives, the Olympics, the hurricane, and everything else. This morning when I got up, I checked the call logs and saw that she had systematically called every single IVR point after we got off the phone.

I didn’t deploy PiaF as a mission-critical business application yesterday–though that day will come for me, but I did what the open-source Internet ideology is all about in my mind. I used the knowledge and experience others have gifted the community to create a solution that fit my situation.

Thanks Again, PiaF Team, from the bottom of my heart!

–Martin Modahl

For those of you that still need a New Year’s Resolution, we hope our fans have given you some ideas. And, when my wife again asks why I continue to work for 5¢ an hour, I’ve got something great for her to read.

Thanks, everybody. You’ve made it all worthwhile.


Want a Bootable PBX in a Flash Drive? Early in 2009 to celebrate the beginning of Nerd Vittles’ Fifth Year, we’ll be introducing our bootable USB flash installer for PBX in a Flash with all of the goodies in the VPN in a Flash system featured a few weeks ago on Nerd Vittles. You can build a complete turnkey system using almost any current generation PC with a SATA drive and our flash installer in less than 15 minutes!

If you’d like to put your name in the hat for a chance to win a free one delivered to your door, just post a comment below with your best PBX in a Flash story.1

Be sure to include your real email address which will not be posted. The winner will be chosen by drawing an email address out of a hat (the old fashioned way!) from all of the comments posted over the next couple weeks. All of the individuals whose comments were used in today’s story will automatically be included in the drawing as well. Good luck to everyone and Happy New Year!!


Nerd Vittles Fan Club Map. We hope you’ll take a second and add yourself to our Frappr World Map. 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.


 

Special Thanks to Our Generous Sponsors


FULL DISCLOSURE: ClearlyIP, Skyetel, Vitelity, DigitalOcean, Vultr, VoIP.ms, 3CX, Sangoma, TelecomsXchange and VitalPBX have provided financial support to Nerd Vittles and our open source projects through advertising, referral revenue, and/or merchandise. As an Amazon Associate and Best Buy Affiliate, we also earn from qualifying purchases. We’ve chosen these providers not the other way around. Our decisions are based upon their corporate reputation and the quality of their offerings and pricing. Our recommendations regarding technology are reached without regard to financial compensation except in situations in which comparable products at comparable pricing are available from multiple sources. In this limited case, we support our sponsors because our sponsors support us.

BOGO Bonaza: Enjoy state-of-the-art VoIP service with a $10 credit and half-price SIP service on up to $500 of Skyetel trunking with free number porting when you fund your Skyetel account. No limits on number of simultaneous calls. Quadruple data center redundancy. $25 monthly minimum spend required. Tutorial and sign up details are here.

The lynchpin of Incredible PBX 2020 and beyond is ClearlyIP components which bring management of FreePBX modules and SIP phone integration to a level never before available with any other Asterisk distribution. And now you can configure and reconfigure your new Incredible PBX phones from the convenience of the Incredible PBX GUI.

VitalPBX is perhaps the fastest-growing PBX offering based upon Asterisk with an installed presence in more than 100 countries worldwide. VitalPBX has generously provided a customized White Label version of Incredible PBX tailored for use with all Incredible PBX and VitalPBX custom applications. Follow this link for a free test drive!
 

Special Thanks to Vitelity. Vitelity is now Voyant Communications and has halted new registrations for the time being. Our special thanks to Vitelity for their unwavering financial support over many years and to the many Nerd Vittles readers who continue to enjoy the benefits of their service offerings. We will keep everyone posted on further developments.
 


Some Recent Nerd Vittles Articles of Interest…

  1. This offer does not extend to those in jurisdictions in which our offer or your participation may be regulated or prohibited by statute or regulation. []

The Whole House iPod (Revisited)

About a year ago, we wrote about an incredible new whole-house audio system that is priced (literally) tens of thousands of dollars below the cost of a comparable "turnkey" system that you typically would purchase from a home audio consultant. You can read the rest of the (initial) story toward the end of today’s article. We decided to revisit the World of Sonos because there have been some incredible developments in the last 14 months, and today the company announced a new partnership with Sirius satellite radio. So here’s an update.

For those that are new to Sonos, you basically buy a little $500 Wi-Fi box for each room in your home or office where you want to play music. You plug in a pair of speakers and connect to your NAS-savvy music library. We recommend dLink’s DNS-323 which provides RAID1 mirrored SATA drives in any size you desire (about $180 delivered from NewEgg plus SATA drives). Be sure the drives you pick are on dLink’s compatibility list! If you happen to use Comcast for your broadband service, you also receive a free Rhapsody subscription which can be played (through a Windows PC) on every Sonos system in your house for free. For the rest of you, the Sonos system also supports streaming audio from more than 300 Internet radio stations, also free. And last but not least, beginning today, you can add all of the Sirius radio stations on the planet (80+ channels) to every room in your house for just $2.99 a month assuming you already have Sirius playing away in your car. If not, it’s still only $12.99 a month.

There are few companies in the world (much less the United States) that provide flawless hardware and software, free software updates (that always work), and regular updates that consistently add value to your initial purchase. Sonos is at the top of that very, very short list. Run, don’t walk, to add this system to your home or office. You’ll thank us for years to come. Enjoy!

And, our original article last year went something like this…

We thought we’d digress today and tell you about an incredible whole house audio system. Yes, there’s the iPod for private listening and there are some streaming audio solutions for those that want music in one or two rooms of a home or office. But what if you want music (different music) available in every room of your home. Well, until now, you could look at spending $20,000 to $50,000 for a very proprietary solution such as Elan’s Home Systems. It’s no accident that you won’t find any pricing on their web site.

As luck would have it, we just moved into a new home that was prewired for audio and video in eight rooms including recessed ceiling speakers in all the rooms. While this is an expensive proposition when retrofitting an older home, it’s fairly reasonable during new construction, and many builders now include it as part of the cost of a new house. The gotcha, however, is adding the multi-room amplifier, the audio devices to produce the music, and the touchpanel control units in each room. Can you spell outrageously expensive! In round numbers, you’re looking at $5,000 for installation of a suitable amplifier, $1,500 to $2,500 for each ultra-proprietary touchpanel display, and another $10,000 or more for the audio sources. These include CD jukeboxes, iPods with infrared remote access, a multi-channel XM radio receiver to the tune of $1,500 plus XM radio fees of nearly $30 a month (for three channels) forever, and loads of consulting fees at $100+ an hour. Each of the touchpanels or keypads is manually configured to match the audio components you purchase so that you can switch audio sources, adjust volume, and skip songs in each room. The double-gotcha is that despite having spent tens of thousands of dollars on this system, you have no ability to adjust anything down the road without another $100 an hour service call from the installer. So just pray they’re still around, or you’re basically stuck with your initial setup forever. A $500 magic box is used to configure the touchpanels and keypads, and, NO, you can’t buy one. It’s not sold to consumers, just dealers. Ouch!

You should be getting the picture of why we went shopping for an alternative with a bit more flexibility. That’s when we stumbled upon an incredible product called the Sonos Digital Music System. In a nutshell, you have a self-contained system unit in each room where you want music. It includes an optional amp for connection to a pair of speakers, wired and wireless networking, and a user and streaming audio interface that is as good or better than the iPod. Then you add as many touchpanel control units to select music and music sources as your budget can afford. There are also PC and Mac versions of the touchpanel which won’t cost you a dime. Each touchpanel can control every zone (aka room) in your home. What you don’t need with this system is a house prewired for audio because each unit lets you connect directly to a set of speakers or an external amplifier if desired. You also don’t need a wired network throughout your home. Only one of the Sonos units needs to be connected to a wired network. The rest of the devices automatically configure themselves to communicate wirelessly with the other system units and controllers scattered throughout your home. If you buy the starter pack with two system units including amps and one controller unit, you’re looking at $1,200 which works out to roughly $500 per system unit and about $200 for the controller. That’s roughly one tenth the cost of a functionally similar controller unit from Elan except you can configure the Sonos controller while a dealer has to configure the Elan unit … at $100 an hour.

I feel a little like the guy selling the Ginsu knives on television: "but there’s more." Boy, is there! Not only is the sound of the systems downright incredible (depending upon your speakers, of course), but the variety of available music sources is going to make you want some of these in the morning. Each system unit can stream audio from almost any music source imaginable. This includes MP3’s stored on your PC, Mac, or our latest discovery, a $150 network-attached storage (NAS) device. You also can play Shoutcast streams, either your own or those available for free over the Internet. Another option is to map a file share from a Sonos unit to a Mac or PC. It takes about 10 seconds. Sonos units also can play music from Rhapsody. And, if you’re lucky enough to be a Comcast broadband subscriber like us, a Rhapsody streaming audio subscription with about 50 music channels is yours for free! Just login to your Comcast account and download the Comcast Rhapsody software to any Windows PC. Rhapsody Stations are every bit as good as XM or Sirius channels with one important difference. There’s no additional monthly charge to Comcast customers for as many simultaneous streams as you care to play. That’s quite a contrast from Elan’s three XM streams solution which means three rooms with XM radio and no more … for $30 a month … once you buy your $1,500 Elan XM receiver. With Rhapsody, you won’t need a receiver at all, just an old clunker PC sitting in the corner with the Rhapsody application running. It can be used for other tasks as well. At the moment, we have my daughter’s game PC running Rhapsody with four simultaneous streams playing in seven zones of the house. You can double up zones with the click of a button using any Sonos controller. In addition to all these music sources, you also can connect an old-fashioned analog audio device (like a CD jukebox or an iPod) to each system unit. Music from these sources can be streamed to any combination of rooms you choose, just like traditional Shoutcast streams or Rhapsody stations. The only thing missing with analog device streams is the album art, but it still sounds great.


There are some other reviews of the Sonos system which are worth a look. Check out David Pogue’s article in the New York Times, the Home Theater View, Audioholics, Playlist Magazine, and PC Magazine. Then you’ll want to run, don’t walk, to buy at least one for yourself! You can purchase units from Sonos and most of their dealers with a 30-day money-back guarantee. We installed eight systems with four remotes in just over two hours. We haven’t quit listening since. Now you know why we’re running a little behind on the Asterisk® and TrixBox articles. Enjoy!


Some Recent Nerd Vittles Articles of Interest…

Hacker’s Dream Machine: Introducing the Best Gadget of the Year And It’s Not From Apple

Attention Toy Junkies and Hackers: Imagine a 14 ounce device the size of a five pound bag of sugar with a self-contained Wi-Fi server, web server, streaming audio player, MP3 player, RSS Feed fetcher, email reader, voice recognition, built-in RFID proximity detection, text-to-speech and speech-to-text capabilities and... wiggly ears, a VoIP belly button, a speaker, and blinking lights all over the place. It's a bird, it's a plane. No, it's a Nabaztag/tag. With a name like that, you know it has to be good. Nabaztag actually is the Armenian word for rabbit. And the Nabaztag/tag is the second generation of Violet's infamous WiFi Bunny... from France no less.

For those of you thinking about one of these fine critters as a Valentine's gift, let me just offer up a quote from someone near and dear to me: "If you'd gotten me one of those stupid bunnies for Valentine's, you'd be sleeping in your car." Yes, much to the chagrin of the Little Mrs., we've spent an entire week playing with Pat the Nerd. And, with the help of a number of similarly misguided souls from around the world, we've managed to turn this rabbit, uh, on its ear. Or is it the other way around? You see Pat costs $179 at ThinkGeek. But there's more to it. Violet, the bunny's proud inventor, is also proud of their connection service. Beginning Valentine's Day, Violet has a special surprise for bunny lovers. They'd like every bunny owner to pony up $6.95 a month (forever) to keep your bunny hopping. No more animal jokes, we promise! There still will be some free services such as time and weather information. And Violet will still let your bunny receive a whopping 14 15 messages a month. That's almost a whole 30-second message every couple of days! But, after that, it's Pay Per View time. Believe it or not, there already are hundreds of thousands of Nabaztags in the homes of our European friends. But the bunny lovers of the world are in for a little surprise in a couple weeks. Happy Valentines! Heh, heh.

Well, that was last week. Several projects have been underway for months on SourceForge to unearth the bunny's innermost secrets. They quickly discovered that the first generation bunnies had a severe limitation because of an extremely proprietary sound chip. The second gen Nabaztag/tag resolves that by supporting playback of industry-standard sound files. The other problem with the SourceForge projects was the Hobson's Choice of an either-or bunny. You could either connect to Violet's servers and enjoy their offerings, or you could venture out on your own by creating your own applications using your own server. Thanks to Olivier Azeau, you now can have your cake and eat it, too. In addition to being an adept PHP programmer, Olivier also happens to like bunnies. So he began the OpenNab project on SourceForge to build a PHP-driven Nabaztag/tag proxy. Just as the name implies, it transforms the WiFi Rabbit into an open source platform while maintaining your existing connection to the Mother Ship. Stated another way, by using the OpenNab proxy, you don't throw the baby out with the bath water. Instead, you get the best of both worlds: all of the free Nabaztag services from Violet plus all of the free open source apps that the rest of us can dream up. And, if you want to subscribe to Violet's monthly service plan, you can do that as well. It also opens the door for competitive server platforms to support the Nabaztag/tag for those that have no interest in building and supporting a server just to trick out your dumb bunny.

That, of course, is where a TrixBox Asterisk® server comes into play. In addition to getting a first-rate (free) PBX that will run on Linux, a Mac, or Windows (download links at top of the page), you now have the perfect platform for the OpenNab proxy. For our non-Asterisk readers, you don't have to use a TrixBox server to make all of this work... if you don't mind wrestling with Linux. Or, for the Windows platform, you might want to try WAMP5. The beauty of installing one of our TrixBox servers for the Mac or Windows platform is that you don't have to have a dedicated Linux server. You can run the TrixBox server in a window on your desktop, and you never need to touch the PBX if you don't want to. In short, a TrixBox server is an ideal development platform for projects such as this because all of the tools you'll need are already integrated into a turnkey appliance. In addition to a fairly complete Linux toolkit, it also includes an Apache web server with PHP and a voice synthesizer called Flite right out of the box so there's nothing to install... except OpenNab. We'll walk you through that installation, and we'll provide a couple of our reworked open source applications for your OpenNab-energized Bunny to get you started: weather reports for every U.S. city and a Yahoo Headline News Feed Reader. Then you can rip into our code and contribute some applications of your own to the cause. A few have already been contributed, and we'll post those on our new Wabbit Vittles web site in the next few days.

OpenNab Prerequisites. As mentioned, you'll need a server platform that includes a web server with PHP 4.4.3 or later and CURL, a text-to-speech voice synthesizer such as Flite (free) or Cepstral ($30), and an encoding utility in order to get much use out of the OpenNab proxy. The free TrixBox appliances include everything you'll need to get started.

Downloading OpenNab. Once you have your web server with PHP and CURL running, you're ready to install OpenNab. Start by downloading the OpenNab Proxy application from SourceForge. Unzip the file, and you'll have a folder named opennab with a version number. We're assuming it's 0.04, or some of the fixes below may not be necessary. There are several tricks to getting OpenNab installed and working reliably. We're going to walk through the TrixBox installation scenario. It's also possible to run this on a dedicated Linux machine or through a Linux hosting provider site, but it's considerably more complex to get all the pieces working as you'll quickly discover if you decide to try it. We've put up a demo system through our hosting provider, BlueHost, just to show it's possible. BlueHost incidentally happens to be the best AND the cheapest hosting provider on the planet if you ever have a need. Regardless of which route you take or even if you roll your own server, be aware that the two folders (vl and broad) both have to be copied into the root directory of your web server.

OpenNab Installation and Setup. In the case of a TrixBox installation, copy the vl and broad folders into var/www/html which is the web server's home directory. If you're using a hosting provider, copy the two directories into your root web folder, usually www or public_html with cPanel systems. Instead of Apache redirect commands, OpenNab uses ErrorDocument redirection to reroute traffic from Violet's servers to your OpenNab Proxy. So, if they don't already exist, create a .htaccess file in both the vl and broad folders: nano -w .htaccess after logging into your server as root (for TrixBox) or your accountname (for hosted servers) and changing to the proper directory.

In the vl folder, make sure you have the following line in a .htaccess file. This was missing in version 0.02 :

ErrorDocument 404 /vl/bc.php

In the broad folder, the following line should appear in .htaccess:

ErrorDocument 404 /vl/media.php

Next we need to modify the Apache config file on your TrixBox server so that it allows .htaccess commands to override Apache defaults at the directory level. This isn't required on most hosted systems since they already allow directory-level overrides. While still logged in as root on your TrixBox server, edit the Apache config file: nano -w /etc/httpd/conf/httpd.conf. Press Ctrl-W and search for AllowOverride None. Press Enter to execute the search. Leave this entry alone. Now press Ctrl-W and Enter again. Change this entry to AllowOverride All. What this does is allow .htaccess overrides on the /var/www/html directory and its subdirectories which is what we want since that's the root directory for the web server. Save your changes: Ctrl-X, Y, then Enter. Then restart Apache: apachectl restart.

Regardless of your server type, we need to create a few new folders to make sure OpenNab can successfully pass its startup tests. Just issue the following commands while logged in as root:

cd /var/www/html/vl/plugins/files_simpleplay (NOTE: Version 0.03 and 0.02 stored these files in /var/www/html/broad)
mkdir 0
cd 0
mkdir 1
cd 1
mkdir 2
cd 2
mkdir 3
cd 3
touch 4.mp3

If you're using a hosting provider, you can ignore this step. On TrixBox servers, the web service runs as user asterisk unlike other Linux systems. We need to adjust the permissions on the folders we installed to be sure this user can read, write, and execute in these directory trees. So issue the following commands while logged in as root:

cd /var/www/html
chown -R asterisk:root vl
chown -R asterisk:root broad

Finally, regardless of your server type, there was a little bug in version 0.02 that occurred if you happened to enter the MAC address of your bunny in upper case letters. This is fixed in version 0.03 and 0.04, but if you have the 0.02 version here's the patch:

cd /var/www/html/vl/includes
nano -w burrow.php

Once the editor opens, cursor down to line 45 and add the strtolower function to the existing line so that the new line looks like this:

$this->fileName = 'burrows/'.strtolower($serialNumber);

Save your change: Ctrl-X, Y, then Enter.

Securing OpenNab. We highly recommend using a TrixBox server or some other Linux server behind a firewall for this project. Running OpenNab on the public Internet with or without a hosting provider adds all sorts of security implications. At a minimum, there are some changes we recommend you make to lessen the opportunity for abuse from outsiders. Insert index.php documents in the folders that don't already have such a document. Here's what each index.php document should look like:

<?php
echo " ";
?>

The second tip is don't activate the logging feature in vl/config.php because it will compromise the MAC addresses of every rabbit that connects through your server... unless you password protect the vl/logs directory. Finally, remove the phpinfo.php file from vl/tests once you complete your testing as this reveals all sorts of information to someone that may be attempting to break into your server.

Testing Your Nabaztag/tag. There are two tests you need to perform to make sure your Apache server, PHP, and CURL are operating properly. Using a web browser, go to the following links using the IP address or fully qualified domain name of your OpenNab Proxy:

http://my.domain.com/vl/foobar should return: ERROR 404 from OpenNab
http://my.domain.com/vl/tests/ should return: 48 passes, 0 fails and 0 exceptions with a Green Bar

Configuring Your Nabaztag/tag to Use OpenNab. Once you've passed the testing with flying colors, it's time to activate the OpenNab Proxy. Step 1: Get your tag/tag functioning reliably with Violet's server first. If you need help, here's a link. Before connecting through OpenNab, you'll also need to write down either the IP address of your TrixBox server on your internal LAN or a fully-qualified domain name that points to your web site on the Internet if you're using a hosting provider. So the syntax for the entry you're about to make should look like one of the following using your correct IP address or domain name:

192.168.0.129/vl
wabbitvittles.com/vl (This one actually works if you'd just like to try things out without installing any software.)

Once you have your entry in hand, unplug your rabbit. Press and hold down the top button and reconnect power to your rabbit. As soon as all four front lights turn blue, release the button. This usually occurs in less than one second if you have an Internet connection. If you hold the button down too long after the lights turn blue, you'll need to start over. Now count slowly to twenty. From a wireless PC or Mac on the same subnet as your rabbit, open the Wireless Networking window and select Nabaztagnn as your WiFi host. The nn will match the last two numbers of the MAC address on the bottom of your rabbit. Count to twenty again and then open the following page with a web browser: http://192.168.0.1/. Click on Click Here to Start link. When the next page displays, click Advanced Configuration. You shouldn't have to change anything except the very bottom entry on the form which reads r.nabaztag.com/vl. Replace that entry with the entry you wrote down above and Save your change. This will reboot your bunny, disconnect you from the wireless connection, and restart your bunny using the OpenNab Proxy. Now is a good time to reconnect your PC or Mac to a functioning wireless network! The lights on your bunny will start out orange and then should turn green and go away after the bunny wiggles his ears. When properly connected, you'll have the glowing purple light on the bottom of the bunny and no other lights lit... just as you had when connected directly to Violet's server. Congratulations! You now have an operational OpenNab Proxy.

But What Can It Do? If you'd like to try all of this through our OpenNab Proxy first, then go through the configuration step above using wabbitvittles.com/vl as your proxy address. Once your bunny springs to life, here's a simple test to make sure everything's working. Write down the MAC address of your bunny. Then open a web browser and go to the following link substituting the MAC address of your bunny for the string of zeros, of course. You can also pick any other city and state in the United States... as long as they really exist. This demo system uses Cepstral's Diane 8kHz English voice. There are many others available. You can try them out here.

http://wabbitvittles.com/vl/api_demo/opennab-weather.php?sn=000000000000&code=422&city=Washington,DC

The Cepstral voices on our demo site are nice, but we don't find them to be appreciably better than the default voice installed with Flite. Flite also happens to be free and is bundled in the TrixBox servers we recommend. There's also the hassle of finding a conversion utility to get the text into a format that your bunny can decipher. All of these tools come preconfigured on the TrixBox systems. Hint!

OpenNab Applications. We're going to contribute several OpenNab applications to get you started today. Before you can use them, you'll need a TrixBox server or a garden-variety Linux server if you know what you're doing. If you roll your own, install Flite or Cepstral to handle text-to-speech conversion and a conversion tool to get the files into a format your bunny can decipher. You can look through the last couple dozen lines of code in the applications to figure out what you need.

Cepstral Installation. The only trick to installing Cepstral is choosing a good voice. We've had better luck with the "telephone voices" which are 8kHz, but you can try out all of them here. We'd recommend you begin by downloading the Diane-8kHz voice for Linux and get it working first. You don't have to buy it unless you like it! Once you download it, log into your TrixBox/Linux system as root, and issue the following commands using the voice name associated with your download:

mkdir /nerdvitt
mkdir /cepstral
cd /cepstral
[copy your download into the /cepstral folder now]
gunzip Cepstral_Diane-8kHz_i386-linux_4.1.4.tar.gz
tar xvsf Cep*
cd Cepstral_Diane-8kHz_i386-linux_4.1.4
./install.sh

When prompted for the installation path, use /nerdvitt. Just to make sure you have a link to the application in your path, execute the following command:

ln -s "/nerdvitt/bin/swift" /usr/local/bin/swift

When you decide to buy a license ($30), you'll get an activation key. You activate it by issuing the following command (while logged in as root!) and filling in the blanks using the same name you used when you purchased the license:

swift --reg-voice -n Diane-8kHz

Installing OpenNab Applications. First, you'll need to download the desired applications. Assuming you want all of them, just execute the following commands after logging into your TrixBox server as root:

cd /var/www/html/vl/api_demo
wget http://wabbitvittles.com/applications/weather-opennab.zip
wget http://wabbitvittles.com/applications/news-opennab.zip
unzip weather-opennab.zip
unzip news-opennab.zip

Once you've unzipped the files, you'll need to edit each .php file to configure it. For the weather, edit the following file: nano -w opennab-weather.php. The configuration changes begin at line 37:

if (strlen($city)==0) :
$city="Charleston, South Carolina";
endif ;
if (strlen($SN)==0) :
$SN = "000000000000";
endif ;
$WebRoot="/var/www/html";
$BinRoot="/nerdvitt/bin";
$ProxyAddress="0.0.0.0";
$UseCepstral=false ;
$voice="Diane-8kHz" ;

Choose a default city to replace Charleston, South Carolina, e.g. Atlanta,GA is fine for the syntax. Enter the serial number ($SN) of your rabbit to replace 000000000000. If you're using a TrixBox server, the $WebRoot and $BinRoot entries are fine. These are the root directory of your web server and the location of the Cepstral executable. Replace the $ProxyAddress entry of 0.0.0.0 with the IP address fully-qualified domain name of your TrixBox/Linux server. If you plan to use Flite for speech synthesis, nothing else needs to be changed. If you're using Cepstral, change $UseCepstral=false to $UseCepstral=true. Don't delete the semicolon at the end of the line! If you're not using the Diane-8kHz voice with Cepstral, enter the file name of your voice surrounded by quotation marks. Save your changes: Ctrl-X, Y, then Enter.

Now edit the opennab-news.php file: nano -w opennab-news.php. Beginning at line 18, you'll find the configuration settings:

if (strlen($category)==0) :
$category="topstories";
endif ;
if (strlen($SN)==0) :
$SN = "000000000000";
endif ;
$WebRoot="/var/www/html";
$BinRoot="/nerdvitt/bin";
$ProxyAddress="0.0.0.0";
$UseCepstral=false ;
$voice="Diane-8kHz" ;

Choose a default news category to replace topstories. Available choices include: topstories, us, world, iraq, world, mideast, politics, business, health, science, technology, showbiz, mostviewed, mostemailed, mostblogged, highestrated, adventures, obits, hotzone, nasashuttle, sept11, oped, oddlyenough, and many others. Here's the complete list of Yahoo RSS Feeds. Enter the serial number ($SN) of your rabbit to replace 000000000000. If you're using a TrixBox server, the $WebRoot and $BinRoot entries are fine. These are the root directory of your web server and the location of the Cepstral executable. Replace the $ProxyAddress entry of 0.0.0.0 with the IP address fully-qualified domain name of your TrixBox/Linux server. If you plan to use Flite for speech synthesis, nothing else needs to be changed. If you're using Cepstral, change $UseCepstral=false to $UseCepstral=true. Don't delete the semicolon at the end of the line! If you're not using the Diane-8kHz voice with Cepstral, enter the file name of your voice surrounded by quotation marks. Save your changes: Ctrl-X, Y, then Enter.

Running the Weather Application. There are several ways to run each of these new applications. The weather application can be activated using a web browser using the IP address of your TrixBox/Linux server:

http://192.168.0.129/vl/api_demo/opennab-weather.php?city=Charleston,SC

The application also can be run from the Linux command line after logging into your server as root:

php /var/www/html/vl/api_demo/opennab-weather.php city=Charleston,SC

Using the command line syntax, you also can schedule the application to run automatically at various times of the day using a crontab entry. For example, the following entry could be added to /etc/crontab to kick off a weather bunny report at 29 minutes after the hour beginning at 6:29 a.m. until 8:29 p.m. every day:

29 6-20 * * * root /etc/weather.sh

For the /etc/weather.sh script, simply copy the above line to the script and make it executable:

echo php /var/www/html/vl/api_demo/opennab-weather.php city=Charleston,SC > /etc/weather.sh
chmod +x /etc/weather.sh

Running the News Application. The Yahoo News application can be run in much the same way. It could be activated using a web browser using the IP address of your TrixBox/Linux server:

http://192.168.0.129/vl/api_demo/opennab-news.php?category=topstories

The application also could be run from the Linux command line after logging into your server as root:

php /var/www/html/vl/api_demo/opennab-news.php category=topstories

Using the command line syntax, you also could schedule the application to run automatically at various times of the day using a crontab entry. For example, the following entry could be added to /etc/crontab to kick off a news bunny report at 1 minute after the hour beginning at 6:01 a.m. until 8:01 p.m. every day:

01 6-20 * * * root /etc/news.sh

For the /etc/news.sh script, simply copy the above line to the script and make it executable:

echo php /var/www/html/vl/api_demo/opennab-news.php category=topstories > /etc/news.sh
chmod +x /etc/news.sh

Finding the Latest Nabaztag Applications. Well, that should get you started with OpenNab. And we'll be adding more and more applications in the weeks ahead as others begin to contribute as well. It seemed a fitting time to dedicate a new web site to our non-furry friend so... Welcome to Wabbit Vittles. If you have a contribution to add, just send us a message, and we'll be glad to host it for you. You'll also want to check out the terrific new Nabaztalk Forums for late-breaking tips and tricks. Enjoy!