Home » Technology » Telephony (Page 66)

Category Archives: Telephony

The Most Versatile VoIP Provider: FREE PORTING

Introducing Phone Genie for Asterisk (Email Edition)

From Our Disney Cruise Family Scrapbook Almost two years ago, we introduced Phone Genie for Asterisk®. It let you reconfigure your Asterisk system remotely using your favorite web browser. This included the ability to set and adjust call forwarding, call waiting, and Do Not Disturb for any Asterisk extension. In addition, you could enter Asterisk CLI commands and execute a number of Linux system commands, all from the convenience of your web browser. Phone Genie for Asterisk remains one of the all-time favorite downloads of our readers.

Unfortunately, you don't always have access to a web browser when you're away from your Asterisk server. So today we introduce the perfect complement to the original Phone Genie with our new Email Edition. By following this quick tutorial, you can configure your Asterisk server to respond to any Asterisk CLI command which can be sent from almost any email client on the planet. And we'll perform all this magic with less than a dozen lines of bash scripting. Asterisk CLI commands have almost limitless possibilities. Use Phone Genie to check the status or change the functionality of just about any component on your server.

How It Works. The best way to explain how all of this works is to use a simple example. Let's assume you've left home and forgot to transfer your inbound calls for extension 701 to your cellphone. What we'll do is send a simple email message to a special user account on your Asterisk server that we've set up specifically to handle email directives for your server. Unlike most email addresses, we want this one to be unintuitive so strangers aren't sending messages to your server all the time. Let's assume the address is kxt1498@myserver.dyndns.org for this example. Using any email client, just address a message to that account. For the subject of the message, we'll use the following:

Asterisk: database put CF 701 6781234567

It doesn't really matter whether you include a message with the email. As long as the subject of the email is in the proper form, that's all that matters. The command above activates call forwarding for extension 701 and sends the calls to 6781234567. The command uses standard Asterisk CLI syntax.

On your Asterisk server, we'll have a simple bash script that runs every minute or two to check for new emails in the kxt1498 user's mailbox. If it finds a new message, it will parse the subject line, make certain there is a password match, and then send the command (unaltered) to the Asterisk Command Line Interface for processing. Here's an overview of all the CLI commands. The results of executing the command will be emailed to the address you've configured in the script. This works as both confirmation that your command has been executed and a security alert that your Asterisk system has been accessed using the Email Edition of Phone Genie. In the above example, you would receive an email at the address you've configured in the script with a subject of PhoneGenie. The body of the email would look like this:

Updated database successfully...database put CF 701 6781234567

Prerequisites. This software assumes you are using one of the Asterisk aggregations built on CentOS 5. We've tested it with PBX in a Flash. You'll also need an SMTP server (SendMail or Postfix) that is configured to send and receive emails to and from destinations on the Internet. You do not need a POP3 or IMAP mail server! We've tested this with Asterisk 1.4, but it should work fine with Asterisk 1.6 as well. FreePBX 2.5 or later is required for some functions.

Security Warning. Before we begin, let's pause for a moment to review the enormity of your problems if you do this wrong and to remind you that YOU ARE PROCEEDING AT YOUR OWN RISK. PBX in a Flash in particular is shipped with all outside access to your SMTP server blocked. We've obviously got to remove that layer of security for this software to function properly. But you need to be especially careful with SMTP servers because they can be used to relay SPAM to the entire world if you fiddle with settings that you don't understand. So... DON'T MAKE IMPROVEMENTS THAT AREN'T COVERED HERE UNLESS YOU KNOW WHAT YOU'RE DOING!

This software also gives certain email messages elevated privileges on your Asterisk server so that Asterisk itself can be reconfigured. If you compromise the email account name and password for this application, anybody worldwide can pretty much destroy the functionality of your server. In addition, calls to a certain extension could be rerouted to a very expensive destination on a cruise ship sailing around the world. If your dialplan permitted these calls and you had an account with automatic replenishment from a credit card or bank account, you've got a very expensive problem on your hands. That's one reason that reliable email notification of every Phone Genie transaction is critically important. If you're not getting timely notifications of each Phone Genie transaction, DO NOT USE THIS SOFTWARE until that problem is resolved!

Should you detect that your system has been compromised by receiving an email that indicates a command has been executed on your Asterisk server that you did not initiate, you should immediately disable or remove the script so that no further Phone Genie emails are processed on your server. Be sure to preserve any unprocessed Phone Genie emails for authorities as these may contain important information regarding the source of the emails. These email messages usually are deleted once Phone Genie completes execution of the associated Asterisk commands.

Overview. Here's the drill for today. First, we'll adjust both your hardware- based and IPtables firewalls to allow inbound email delivery to your Asterisk server. Second, we'll remove SendMail from your system and install and configure Postfix to handle the SMTP email chores. This will greatly simplify the security issues in locking down your server from unwanted emails. Depending upon your Internet service provider, installation of Postfix may break outbound email delivery from your server if your provider happens to block outbound traffic on port 25. We'll show you how to fix it. Third, we'll add a new user account on your Asterisk server that will be used exclusively to handle Phone Genie messages. Fourth, you're going to need a fully-qualified domain name for your Asterisk server so that email can be delivered reliably to your server. We'll walk you through getting this set up. Fifth, we'll install and configure the Phone Genie software and run some simple tests to make certain everything is working as it should. Sixth, we'll add the Phone Genie script as a cron job which will be run every couple of minutes to check for incoming Phone Genie emails. Finally, we'll review some of the Asterisk commands that can be executed using the Email Edition of Phone Genie for Asterisk.

Security Design. We've obviously given a great deal of thought to the security issues surrounding this application. The security model we've adopted works like this. First, for an email to get through to your Asterisk server, one and only one email address will work from the Internet. All other inbound email from the Internet will be rejected by Postfix. We strongly suggest you leave it that way. Your email address consists of the special username that we will create on your server plus a (hopefully new) fully-qualified domain name that points to your server. You are well advised to use and keep secret both a non-intuitive and complicated username AND a non-intuitive and complicated, fully-qualified domain name. Only this combination will let the email message through the Postfix filter! Using the correct username and a different FQDN that may also point to your server's correct IP address will nevertheless be rejected by Postfix. The third piece in the security model is the password. If you examine the sample Subject above, you will note that it begins with the word "Asterisk" followed by a colon, a space, and then the Asterisk CLI command. The word "Asterisk" is actually the password, and it can be changed to any password you like. So, if you change your password to FooBaR, then the subject of your message should look like this. Note that the colon followed by a space are also required!

FooBaR: database put CF 701 6781234567

Finally, it should be obvious but... DON'T SEND THESE EMAILS FROM AN UNTRUSTED CLIENT OR A PC IN A PUBLIC PLACE because your email message may get stored in a place that someone else could decipher how to access your server. If you wouldn't leave a $1000 bill beside the computer from which you're sending the email, don't send it! Otherwise, you may lose a good bit more than $1,000. To give you some idea of what's at risk with a compromised system, try sending the following email using your correct email address and password:

FooBaR: help

</sermon>

Firewall Configuration. For purposes of our example today, we're assuming that your Asterisk server is sitting behind a hardware-based firewall/router on a private subnet and that your Asterisk server includes a functioning software-based IPtables Linux firewall. This is the default PBX in a Flash setup that we always recommend. On your hardware-based firewall, you will need to redirect incoming TCP port 25 traffic to TCP port 25 on the private IP address of your Asterisk server. This change often requires a reboot of your firewall/router. Once that change is complete, log into your Asterisk server as root and edit /etc/sysconfig/iptables on PBX in a Flash systems. We need to add a new rule to IPtables which allows incoming TCP port 25 traffic through the firewall. Scroll to the bottom of the file and insert the following lines just above the COMMIT line:

# Allow inbound SMTP traffic on TCP port 25
-A INPUT -p tcp -m tcp --dport 25 -j ACCEPT

Save your additions to the file and then reload IPtables and your network:

service iptables stop
service iptables start
service network restart
service iptables status | grep "tcp dpt:25"

The last command should return an entry from IPtables showing TCP port 25 traffic is now being ACCEPTed into the server. If not, check your entries and repeat the process until this works.

Postfix Installation. Let's continue by removing SendMail from your server and installing Postfix. They both perform the same email functions, but the complexity of SendMail makes the likelihood of a configuration error too risky for us to sleep well. If you understand the intricacies of SendMail and feel comfortable implementing the security model we've described above, by all means, have at it. We'll be happy to share your results with the rest of our user community. In the meantime, here's the Postfix solution. While still logged into your server as root, issue the following commands to uninstall SendMail and install Postfix:

rpm -e --nodeps sendmail
yum -y install postfix

Choosing a Username and FQDN. Before we configure Postfix, you need to decide upon a user account name for your Asterisk server to manage Phone Genie messages. And you also need a fully-qualified domain name which points to the public IP address of your Asterisk server. As mentioned above, we strongly recommend that the username and FQDN be obscure and unguessable. For example, a combination of letters and numbers that don't spell words are good choices. Something like dlrpzh7b3@dhf34.nerdvittles.com will help you sleep well. If you don't have a static IP address and dedicated domain for your server that you can manage, then use an equally obscure FQDN from a provider such as dyndns.org. Something like dhf34.dyndns.org works. You then can configure your Asterisk server to automatically keep your dynamic IP address current. We're going to use these entries as examples below. Obviously, you should choose different entries!

To create the new user account on your server using whatever name you have chosen, here are the commands to issue while still logged into your server as root. Just substitute your chosen username for dlrpzh7b3 in both commands. Be sure to choose a secure password, too.

useradd dlrpzh7b3
passwd dlrpzh7b3

Configuring Postfix. Now let's get Postfix set up for maximum protection. First, move to postfix directory: cd /etc/postfix. Now edit main.cf: nano -w main.cf. Search for the inet_interfaces line in the file: Ctrl-W, inet_interfaces =. Add a hash mark to the beginning of each uncommented inet_interfaces line so that your entries look like this:

#inet_interfaces = $myhostname
#inet_interfaces = $myhostname, localhost
#inet_interfaces = localhost

Next, search for mydestination in the file: Ctrl-W,mydestination =. Comment out each of the lines except the one that looks like this:

mydestination = $myhostname, localhost.$mydomain, localhost

Now add the private IP address of your Asterisk server and your FQDN chosen above to the line so that it looks like this. Don't forget the commas and keep everything on one line.

mydestination = $myhostname, localhost.$mydomain, localhost, 192.168.0.118, dhf34.nerdvittles.com

Finally, move to the last line in the file and make it look like this, all on one line:

smtpd_recipient_restrictions = check_recipient_access hash:/etc/postfix/access, permit_mynetworks, reject_unauth_destination

Save your changes to the file: Ctrl-X, Y, then Enter. Now edit /etc/postfix/access. Move to the very bottom of the file and add two new lines with the following entries using the actual email address and FQDN you chose above instead of the examples. The first line tells Postfix to allow emails addressed to the specified email recipient. The next line tells Postfix to reject all other emails addressed to anyone at this domain. Other domains and public IP addressing are blocked by our mydestination entry above.

dlrpzh7b3@dhf34.nerdvittles.com OK
dhf34.nerdvittles.com REJECT recipient rejected

Save your changes to the file: Ctrl-X, Y, then Enter. Now issue the following two commands:

postmap /etc/postfix/access
service postfix restart

Testing Postfix. Now comes the important part. We need to make sure that outbound emails from your Asterisk server are delivered. And we need to make sure that incoming emails ONLY to the one email address you've designated are received and that all other emails from the Internet are rejected. We can't stress enough how important all three of these tests are. If your Postfix implementation doesn't pass all three, DO NOT PROCEED!

Testing outbound email with Postfix is easy. While logged into your server as root, issue the following command using a destination email address (instead of yourname@gmail.com) where you regularly receive emails:

echo "Hi there" | mail -s Test yourname@gmail.com

Count to 20 and refresh your email's Inbox. If the message is there, you've passed Test #1. If not, check your junk mail folder. If it's still not there, try another email address if you have one. Still no cigar? Then your Internet Service Provider is probably blocking email generated from downstream email servers. For tips on remedying the problem, see this message thread on the PBX in a Flash forums. You might also want to review the Postfix tutorial on dyndns.com. Here's another good tutorial on setting up a Gmail relay using Postfix. Then run the test again until you achieve success.

Testing inbound email to your designated email address is Test #2. Use a web client and send an email message to dlrpzh7b3@dhf34.nerdvittles.com substituting the actual email address you have chosen for your server. Count to 20, log into your server as root and type the following command to retrieve email for user dlrpzh7b3: mail -u dlrpzh7b3. The server should report that you have one new message. Type "d 1" and then "q" to delete the message and quit the mail app. If no email arrives, check the Inbox on your sending client to see if the message bounced and, if so, why. Check your email entries in /etc/postfix/access and /etc/postfix/main.cf for typos and review the steps in Configuring Postfix above. Then repeat the test until you successfully send a message to your designated email address.

Testing inbound email to an unauthorized email address on your Asterisk server is Test #3. For this test, we want to make sure that an email sent to the root account on your server fails. What you'll need for this test is the FQDN that was chosen above. Then, using a mail client, send an email message to root@dhf34.nerdvittles.com using your actual FQDN. Count to 20, log into your server as root, and type: mail. The message you sent should NOT be in the Inbox. Repeat the test by sending a message to root and dlrpzh7b3 @the actual IP address of your Asterisk server. These, too, should both fail. Once you get a passing grade on all three tests, we can move on. The hard part is behind you!

Installing Phone Genie. While logged into your server as root, issue the following commands:

cd /root
wget http://pbxinaflash.net/source/nv/phonegenie.tgz
tar zxvf phonegenie.tgz
rm phonegenie.tgz

Configuring Phone Genie. While still logged into your server as root, edit phonegenie.sh. You will note that there are 3 fields that need to be configured at the top of the file: user, pw, and notify. The user field is the designated user account name that will be used for incoming emails (dlrpzh7b3 in our example). The pw field is the word in every email Subject that precedes the colon, space, and Asterisk CLI command (Asterisk in our example). The notify field is a reliable email address where you regularly receive emails promptly. This is where the results of your Phone Genie email commands will be sent. Choose this email address wisely, as if your bank account depended upon it. It does! Once you have filled in the 3 fields (preserving the quotation marks around each entry), save the file with your changes.

Testing Phone Genie. Now we're ready to try everything out. Using an email client, send an email message to dlrpzh7b3@dhf34.nerdvittles.com (using your actual Phone Genie email name and FQDN). For the Subject, enter the following (substituting the password you created above for Asterisk)... Asterisk: help

After counting to 20, log into your Asterisk server as root and issue the following command:

/root/phonegenie.sh

You should see a display of all of the Asterisk CLI commands and within a minute or so, you should receive an email with the same information at the email address you entered into the notify field in phonegenie.sh in the previous step.

Installing Phone Genie as a Cron Job. Once you have tested several Phone Genie emails manually and you're satisfied that everything is working reliably, you can set up the Phone Genie shell script as a cron job. It should be set to execute every minute or every couple of minutes throughout the day and night. Edit /etc/crontab and insert the command shown below to have the script execute every 2 minutes:

*/2 * * * * root /root/phonegenie.sh > /dev/null

Sample Phone Genie Commands. In addition to all of the traditional Asterisk CLI commands, Phone Genie also supports a number of commands that are specific to FreePBX. These additional commands let you configure call forwarding, call waiting, do not disturb, system speed dials, and blacklist entries on your Asterisk server. For Asterisk CLI command syntax, consult voip-info.org. For FreePBX command syntax, see the listing below. Enjoy!

database put CF 302 8338116666 * Call Forwarding Enable
database del CF 302 * Call Forwarding Disable

database put CFB 302 8238221234 * Call Forwarding on Busy Enable
database del CFB 302 * Call Forwarding on Busy Disable

database put CFU 302 8038445689 * Call Forwarding Unavailable Enable
database del CFU 302 * Call Forwarding Unavailable Disable

database put CW 302 ENABLED * Call Waiting Enable
database del CW 302 * Call Waiting Disable

database put DND 302 YES * Do Not Disturb Enable
database del DND 302 * Do Not Disturb Disable

database put blacklist 6781234567 1 * Blacklist a number
database del blacklist 6781234567 * Remove blacklisted number

database put sysspeeddials 99 6781234567 * Set up Speed Dial 99
database del sysspeeddials 99 * Remove Speed Dial 99
(NOTE: Be sure you enable Feature Code *0 prefix in FreePBX!)

We wish all of you a very Merry Christmas!



Need help with Asterisk? Visit the PBX in a Flash Forum.
Or Try the New, Free PBX in a Flash Conference Bridge.


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...

Free U.S. & Canada Calls: Google Voice Dialer for Windows

There now are a number of ways to make free calls to anyone in the U.S. and Canada using Google Voice without having to jump through the hoops of calling into your voicemail and having Google Voice call you back. There’s our Asterisk® implementation using pygooglevoice which lets you transparently place calls through Google Voice using any phone connected to your PBX in a Flash system. You also can set up a Sip Sorcery account and make free calls through that interface using a SIP phone. And now there’s Dogface05’s stand-alone Dialer for Windows that lets you place calls from the Windows command line in seconds. Because this is such a simple alternative, everyone should add it to their Windows toolkit. Here’s how.

Prerequisites. You’ll obviously need a Google Voice account. If you don’t have one, just register for an invite. Next, you’ll need a phone number to use for placing the outbound calls. And, finally, you’ll need to download and install Dogface05’s dialer on your Windows system.

Google Voice Setup. Log into your Google Voice account and click Settings, Phones, Add Another Phone. Add the area code and phone number of the phone you’ll be using to place calls and mark it as an Office phone. You’ll have to go through Google’s confirmation drill to successfully register the number with Google Voice. After the number is confirmed, be sure there’s a check mark beside this Google Voice destination so that incoming calls to your GV number will be routed to this number.

While you’re still in the Google Voice Setup, click on the General tab. Uncheck Enable Call Screening. Turn Call Presentation Off. And set CallerID to Display Caller’s Number. Finally, uncheck Do Not Disturb. Now click the Save Changes button.

Dialer Setup for Windows. From your Windows machine, open a browser and download the Google Voice dialer to your Desktop. Unzip the downloaded file and drag gvdial.exe to your \windows directory so that it’s in your path.

Placing a Call. Let’s first make sure everything is working properly. Open a command prompt window from the Windows Desktop and enter a dialing command using the following syntax:

gvdial username password destination ani [phonetype]

where:

  • username = your Google Voice email address
  • password = your Google Voice password
  • destination = 10-digit number of person to call
  • ani = your 10-digit phone number registered with Google Voice
  • phonetype = 3

The phonetype is actually optional and can be ignored unless you happen to be using a Gizmo number in which case it needs to be 7. Never enter the brackets. That merely signifies that the entry is optional.

Assuming your registered email address with Google Voice is joe@gmail.com, your password is secret, the number you wish to call is 6781234567, and your number is 4049876543, the dial string should look like this:

gvdial joe@gmail.com secret 6781234567 4049876543

Your phone should ring at this point, and Google Voice will complete the outbound call to 678-123-4567.

Creating Speed Dial Batch Files. Using Notepad, you now can create batch files for frequently dialed numbers. For example, the entry above could be saved in a batch file called joe.bat. Then simply create a desktop icon for Joe and link it to joe.bat. Double-click on the Joe icon whenever you wish to place a call to Joe. Here’s how the batch file might look:

echo off
cls
gvdial joe@gmail.com secret 6781234567 4049876543
echo Press ENTER key after the called party answers.
pause


Surfing the Google Wave. We’ve got a dozen Google Wave invites to give away during the next week. Just post a comment on any Nerd Vittles article, and we’ll put your name in the hat. Be sure to provide a Gmail address with your comment as this is required to take advantage of the Google Wave Preview. Here’s a sample for you to try once you have Google Wave credentials:



Need help with Asterisk? Visit the PBX in a Flash Forum.
Or Try the New, Free PBX in a Flash Conference Bridge.


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…

Rolling Your Own Asterisk ISOs with Joe’s WonderScript

One of the enormous drawbacks of Asterisk@Home and earlier versions of trixbox was the need to generate new ISOs whenever there was a newer version of Asterisk® or the CentOS operating system. In fact, it was one of the primary motivations for creating PBX in a Flash which separated the Asterisk payload from the Linux ISO itself. Now Asterisk updates can be generated in days instead of months.

Fast forward to today when Joe Roper, one of the initial developers of PBX in a Flash, turned out a new script that lets you take a yum-updated version of PBX in a Flash and generate a new PBX in a Flash ISO that includes the very latest (as in this morning) CentOS operating system. Then, with our existing payload files, you can choose your favorite Asterisk version in both 1.4 and 1.6 flavors with Zaptel or Dahdi. Simply stated, in about an hour, you now can roll your own PBX in a Flash ISO with the very latest version of CentOS whenever you’d like. The good news for us: this decentralizes Upgrade Hell to your desktop and gets it off our plate. It also, of course, lets us generate current PBX in a Flash ISOs in just a few minutes whenever the need arises because of security issues or new operating system releases. Both of these are good things because it frees up the developers to work on new gee whiz stuff without devoting literally months each year to the task of keeping ISOs current. The other terrific part of Joe’s script is it will broaden the base of developers enormously and encourage others to add new components to these builds whenever the urge strikes. One day soon you should be able to do all of the ISO and payload generation in house by simply running a few scripts.

To give you a feel for how well this works, let us run through the process. Then you can either download our new CentOS 5.4 ISO which was built earlier today in less than an hour… or you can roll your own with Joe’s new script. The script incidentally is distributed under the GPL2 license so feel free to use it, enhance it, or rewrite it under the terms of the license.

Getting Started. If you ever watched your mom or wife bake sourdough bread, then you already know that the critical ingredient is the "bread starter" mixture. Without that, you don’t get a new loaf. The same applies here. Before you can build a new PBX in a Flash ISO, you’ll need to have a current version up and running. The current script has been engineered assuming that you’ll be starting with PBX in a Flash 1.5 beta which relies upon CentOS 5.3 as the Linux operating system. Install it in the usual fashion with your choice of Asterisk versions on either a dedicated machine or as a KVM on a virtual machine such as Proxmox. Once the install is complete, run update-scripts, update-fixes, update-source, and update-fixes. When running update-source, be sure to choose to update the operating system AND the kernel to the latest version of CentOS. When prompted, tell update-source to also run yum update. Reboot the system and make certain that Asterisk loads properly. You need not configure FreePBX at this juncture.

At this point, you actually have a version of PBX in a Flash with the latest CentOS 5.4 operating system. The problem with this approach on multiple machines is that it’s an hour-long process to update each machine using this process. Instead, what we’d like to do is take a snapshot of this newly updated system and turn it into an ISO that can be used to create additional systems with CentOS 5.4 without the hassle of the update knuckle drill.

Generating an ISO. Here are the steps to generate your new ISO. Log into your server as root and issue the following commands:

cd /root
wget http://pbxinaflash.net/source/iso/create-updated-iso.sh
chmod +x create-updated-iso.sh
./create-updated-iso.sh

When the process completes, your new ISO can be found in /root/createISO. Copy it to your favorite operating system and burn a CD from the ISO image. Boot a new machine or virtual machine using the ISO, and presto! You’ve got a PBX in a Flash boot disk featuring CentOS 5.4. Make the usual selections of keyboard, time zone, and password. Then you’re off to the races. When the Linux install completes, remove the CD before the system reboots. Then choose your favorite flavor of Asterisk and Zaptel/Dahdi once the PBX in a Flash payload file downloads. Doesn’t get much simpler than that. If you’d like to take our generated 5.4 ISO for a whirl, you can download it from the PBX in a Flash beta site. Enjoy!


Twitter Feeds on Nerd Vittles. If you glance over to the right column just above the Google Maps, you’ll see the current Twitter feed for @NerdUno. But did you know you also can read anyone else’s tweets or list from the same UI? Just scroll to the bottom of the frame and try one of these: voipusers (for the VoIP Users Conference feed) or voipusers/voip-users-conference (for recent tweets from all members of VUC). No need to type @. We’ll handle that keystroke for you. 🙂


Enhanced Google Maps. In case you haven’t noticed, we’ve added yet another Google Map to Nerd Vittles. Now, in addition to showing our location with Google Latitude, we also are displaying your location based upon your IP address. We’ll show you how to add something similar to any LAMP-based Linux system in coming weeks. It’s a powerful technology that has enormous potential. If you’re unfamiliar with Google Maps, click on the Hybrid and Satellite buttons and then check out the scaling and navigation options. Double-click to zoom. Incredible!


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.



Need help with Asterisk? Visit the PBX in a Flash Forum.
Or Try the New, Free PBX in a Flash Conference Bridge.


 

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…

CallerID Superfecta 2.2.2: International CNAM Directories

Unlike Willie Nelson, we’ve always nurtured our software projects hoping some would grow up to be cowboys. Thanks to Tony Shiffer, Jeremy Jacobs, and a whole host of new contributors (Patrick, Zorka, Nixi, UKstevef, and others), nothing even comes close to the success that CallerID Superfecta has enjoyed. What began as Asterisk® CallerID lookups from three sources with the original CallerID Trifecta four short years ago now provides an astonishing 27 CallerID lookup sources from around the world in the latest CallerID Superfecta 2.2.2. And the real beauty of this new beast is the utility permitting new lookup sources to be added without any further software modifications. That’s the tip of the iceberg.

For those that are new VoIP telephony, a brief history lesson will get you up to speed. When you make a phone call, telephone providers have traditionally passed your CallerID number to the receiving carrier while throwing your CallerID name in the bit bucket. The duty fell on the receiving carrier to look up your name in its directory and associate it with the CallerID number for delivery to the receiving telephone. If this sounds absolutely crazy, you’d be right. Who is in a better position to know the name of the calling party: the company initiating the call or the company receiving the call? Duh! That, of course, ignores the fact that the Bell System in particular was in monopoly preservation mode. Since they initially owned both companies, it really didn’t matter. Well, it does today and government regulators for some reason have completely missed this last vestige of the Good Old Boys telephone network. Does it make any sense that over half the phones in the world are mobile phones and you never know who’s calling? </rant>

When VoIP telephony came along, we obviously had to do something about that. Thus was born the CallerID Trifecta, an Asterisk/FreePBX tool allowing you to associate names with phone numbers using your computer and publicly available resources on the Internet. Version 2.2.1 introduced worldwide CallerID lookups. Unfortunately, there was a big gotcha. Some names in other countries use special non-ASCII characters, and delivery of those characters to some telephones sent the phones into the ozone. Not exactly our problem (HINT!), but folks did still want their phones to work. 🙄 CallerID Superfecta 2.2.2 fixes that by adjusting special characters to pure ASCII until the phone manufacturers catch up with the times.

The CallerID Superfecta Design. As originally implemented, CallerID Superfecta let you choose one or more lookup sources for incoming CallerID numbers. When an inbound call arrived, the sources were queried in a specified order, and the first source that provided a matching CallerID name won. The CNAM search result was returned to Asterisk for display on your phone instruments, and the lookup procedure ended. The problem with the original design was that newer and better lookup providers continued to appear so the hard-coded search order wasn’t necessarily ideal for every user or organization, and the providers kept changing formats to make lookups more challenging. In addition, when you receive a call from another country, it made little sense to look up that number in directories in which it obviously would not appear. CallerID Superfecta 2.2.2 fixes that with its new CallerID Schemes support. This lets you tailor CallerID lookups based upon dial strings just as you would do with FreePBX inbound and outbound routes.

What Else Is New? For openers there are a number of new lookup sources as well as some tweaks to older sources that stamped out a few (more) bugs from our previous, sloppy code. 🙂 You’ll also note there’s a new checkbox to Check for New Lookup Sources Online. This lets you easily import all the new lookup sources as they are added to the repository. The web user interface (UI) for FreePBX also has been reworked. You can prioritize the lookups in the order that best meets your needs, and you can tailor lookup sources to match specific CallerID number sequences. There’s also a debug function built directly into the web user interface. By entering a telephone number in the debug field and pressing the debug button on the form, the results from your selected lookup sources together with the latency of each enabled data source can be displayed on the form for you to review. This debug function greatly enhances troubleshooting while serving as a terrific tool to assist you in fine tuning which providers to actually enable and in what order. Providers who can’t be reached, or who perform too slowly, or who provide lousy results can be turned off completely or moved to the bottom of the search order. Finally, CallerID Superfecta 2.2.2 introduces prefix code hooks. This gives developers the ability to trigger an additional outside process when the Caller ID function is initiated. For example, this feature might be used in a call center to allow the system to automatically perform an ODBC query and bring up a customer record for use by a customer service representative.

Installing CallerID Superfecta 2.2.2 Installation or upgrade should be a snap on any of the FreePBX-based Asterisk aggregations including PBX in a Flash, trixbox, and Elastix. First, using a browser on your desktop PC, download CallerID Superfecta 2.2.2 from the Superfecta repository. Do not decompress the .tgz archive. Second, open FreePBX with your browser and choose Admin, Module Admin, Upload Module. Browse and select the superfecta-2.x.x.tgz module from your desktop and click the Upload button. When the upload completes, click local module administration. Scroll down and click CID Superfecta. Click the Install or Upgrade radio button depending upon whether you have previously installed the Superfecta FreePBX module. Click Process, Confirm, Return to install the new module. Reload the Asterisk dialplan when prompted.

Configuring CallerID Superfecta 2.2.2. There really are only two steps to bring CallerID Superfecta on line. First , we’ll configure the lookup sources and search order of the lookups. And then, for each inbound route on your Asterisk system, we’ll tell FreePBX to use CallerID Superfecta as the CallerID lookup source.



To configure CallerID Superfecta, click Admin, Setup, CID Superfecta in FreePBX. If you’re using PBX in a Flash or trixbox, be sure to insert the UserName maint and your FreePBX maint password in the fields provided under General Options. Then choose the Services you’d like to use for queries by clicking on the corresponding Enabled buttons. For those in the U.S., if you’re unfamiliar with previous versions of the product, we’d recommend you start with Addresses, White Pages, Yellow Pages, Any Who, and Telco Data. If you use the Asterisk Phonebook, AsteriDex, or SugarCRM, enable those options as well. Our rule of thumb in prioritizing the searches is to move your personal directories (Asterisk Phonebook, AsteriDex, and SugarCRM) to the top of the list. For the remaining choices, we recommend you start with the following search order: Addresses, White Pages, Yellow Pages, Any Who, and then Telco Data. Telco Data normally returns only the city and state of the caller, not the caller’s name. Who Called requires registration. Once you get everything squared away, click the Save button. Then key in a few known phone numbers in the Debug section of the form and click the Debug button to make sure everything is working as you expected. Take note of the retrieval times and the results and adjust the search order to meet your needs. Remember, the first match on a name using the search sources from top to bottom wins. The other search sources are never consulted for this number.

For additional configuration options and tips on configuring SugarCRM, see this thread on the PBX in a Flash Forum.

Once you’re satisfied with your lookup sources and the search order, the only remaining step is to designate CID Superfecta as the CallerID lookup source in your inbound routes. For each inbound route on which you want CallerID lookups performed, click Admin, Setup, Inbound Routes and choose the desired route from the column of routes on the right margin. Scroll to the CID Lookup Source section of the form and choose CID Superfecta from the dropdown box. Click Submit, Apply Config Changes, Continue to save your entry.

Adding Support for More Countries. So… here’s the challenge. We need to finish the rest of the world. If your country is not yet supported in the following list of directories, do us all a favor and post a comment with a good Internet source for reverse name directory lookups in your area of the globe. This means you can plug in a phone number and the directory will return the name of the person or business associated with that number. Even if you’re not a programmer, providing this information will assist greatly in making even more sources available to everyone down the road. Here’s the list as it stands today:

Adding Your Number to Directories. We know some of you are wondering how to get your VoIP number or Google Voice number added to the phone directories. It’s easy at least in the United States! Just go to www.listyourself.net and sign up. Enjoy!


Twitter Feeds on Nerd Vittles. If you glance over to the right column just above the Google Maps, you’ll see the current Twitter feed for @NerdUno. But did you know you also can read anyone else’s tweets or list from the same UI? Just scroll to the bottom of the frame and try one of these: voipusers (for the VoIP Users Conference feed) or voipusers/voip-users-conference (for recent tweets from all members of VUC). No need to type @. We’ll handle that keystroke for you. 🙂


Enhanced Google Maps. In case you haven’t noticed, we’ve added yet another Google Map to Nerd Vittles. Now, in addition to showing our location with Google Latitude, we also are displaying your location based upon your IP address. We’ll show you how to add something similar to any LAMP-based Linux system in coming weeks. It’s a powerful technology that has enormous potential. If you’re unfamiliar with Google Maps, click on the Hybrid and Satellite buttons and then check out the scaling and navigation options. Double-click to zoom. Incredible!


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.



Need help with Asterisk? Visit the PBX in a Flash Forum.
Or Try the New, Free PBX in a Flash Conference Bridge.


 

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…

Surfing the Google Wave

Original image courtesy of Squidoo.com... with apologies We’ve spent a week getting to know Google Wave using Chrome along with 100,000 of our closest friends. We wanted to give you a status report. Hype aside, Google Wave is an incredible tool when used for the right purpose. If you’ve been asleep or hiding under a rock for the past two weeks and missed the party, here’s a quick summary of Google’s latest invention. It’s a bird, it’s a plane… actually it’s a collaboration and communications platform that brings the full richness of Web 2.0 to your desktop. Some have suggested that it’s what email would look like if it were invented today. Our discussion focuses on the web-based Wave client, but Google Wave also is an open source development toolkit, and we’ll get to that one day soon.

Much has been written about Google Wave’s capabilities, and we won’t repeat that here. Instead, we want to address Google Wave’s potential and what we see as some of the present shortcomings of the product. We fully appreciate that this is a preview, and many of our concerns may yet be addressed before Google Wave becomes available to the general public. We can’t help chuckling at the realization that, in less than 30 years, we’ve now come full circle in data processing. What began as mainframe computing evolved into personal computing. And now Google Wave brings us much closer to being back where we started except for a state-of-the-art user interface and a new name: Cloud Computing. If IBM had addressed the user interface issues with mainframe computing, they probably never would have lost their market in the first place.

The screenshot above really can’t do justice to the richness of the client interface because you truly need a monitor as wide as your desk to get the most out of Google Wave. No, you won’t be using this on your cellphone or PDA… at least not well. For openers, Google Wave provides real-time collaboration so you actually see folks typing into various message threads (called waves) in the Land of Google. When you create a new wave, you "invite" other people in your Contacts to the wave. This puts the wave at the top of their Inbox in bold-faced type, akin to what Gmail would do with an incoming email.

There’s another frame to the right of your Inbox which actually displays the complete wave that you have selected so you’re never really jumping back and forth between selecting waves and reading them. What takes a bit of getting used to is the fact that both your Inbox and the wave you are currently reading may be changing every second with input from literally dozens of your associates or strangers if the wave you’re reading happened to be designated as public.

There’s one other dramatic difference in waves and threads of email messages. Other folks can change your stuff. As a collaboration tool with close associates, this might be desirable. With public waves, it would be a nightmare in the real world. And we don’t consider the 100,000 Google Wave previewers the real world. They are for the most part well-behaved probably out of fear that they’d be booted out if they behaved badly. That isn’t the real world as we all know. And the current Google Wave design would let a single creep destroy virtually every public wave in minutes using bots and malicious changes to documents. As presently designed, there would be little recourse other than replaying what your wave used to look like. You really can’t put Humpty back together again as some have already discovered.

Richard Nixon learned the hard way that tape recorders can be a blessing and a curse. Much has been made of the capability Google Wave offers to replay a wave so that you can playback the development of a thread of messages and see who added or deleted what and when. Google has touted the fact that everything is preserved. Well, not quite. First, there’s no capability at least presently to scroll back to a certain place in the timeline and recreate a new wave up to there. The most you can retrieve is a single posting. Second, anybody with access to the wave can use this timeline feature so wave restoration wouldn’t necessarily be desirable unless it were restricted to the original author of the wave. And, third, at least at Google someone knows how to cheat the system and delete stuff from the timeline. We only discovered this in reviewing the first public porn wave which started out prim and proper enough but quickly gathered steam when someone posted a collection of NSFW (or anywhere else) photos from their favorite collection. Within a few minutes, the postings quietly disappeared. Being the careful reviewer that we are, we immediately reached for the Playback button to check the history of the wave. Sure enough, the raunchy photos were still there. But, by the next morning, they had completely vanished from the chronology. So much for the official stance that nothing ever disappears. The real disappointment with the replay function is the lack of any capability to restore an entire wave. Because only individual messages (known as blips) can be recovered, this would prove to be next to worthless in a complex wave with hundreds of postings.

That brings us to the issue of whether public waves really make sense given the world in which we live. The good news is it works much better than IRC because of the richness of the content with attachments and hyperlinks. But, at least for public waves, the ability to edit someone else’s stuff would have to go. We try not to focus on legal nightmares in reviewing new software, but one can’t help wondering what would happen if one were to post something complimentary about a neighbor in a public wave and then another neighbor altered your posting by falsely accusing the individual of sleeping around with half of the neighborhood. Obviously, there’s still a good bit of work to do on the security front and in deciding whether allowing others to amend someone else’s postings is a good idea. Whether Google gets the security piece right will ultimately determine the success of Google Wave.

For public waves, it’s a no-brainer. You just can’t! And, to be honest, in reviewing hundreds of public waves in the preview, we can’t recall a single instance where this functionality would have been necessary. In a true (private) collaborative project, it would be wonderful but color-coding of text or some other method of identifying who wrote what would be absolutely essential from both a practical and legal standpoint. Both Microsoft Word and WordPerfect have had this capability forever. The simple way in Google Wave would be to add user’s pictures with a colored border and matching colored text whenever they make changes to someone else’s posting. With this addition, Google Wave could become a wonderful collaborative tool in both legal and technical environments.

And, speaking of word processing, Google Wave falls a bit short on the word processing scale. Despite the richness of Google’s knol platform, some of that functionality still is not available in Google Wave. The text editing and formatting is much akin to what’s available in a typical email client. You can change fonts, adjust color, indent, add hyperlinks and images, but that’s about as far as it goes. There are no headers, footers, footnotes, etc. So you can’t easily transform a wave into a formatted document for printing at this juncture. But that may come as development continues.

There are a few other things still on our Wish List. First, we’d love for Google Wave to evolve into a tool that can replace today’s forums which are not much more functional than BBS software was two decades ago. Once there is administrator control of rollback and protection of waves by granular access rights to functions, bots, and gadgets as well as the ability to block users and ranges of IP addresses, this should happen. Second, we obviously want the ability to include either read-only or read-write access to waves in a blog or web site. We already have the web site functionality working (see below for a sample), but you currently need a Google Wave account to access it. Third, we really want to assimilate all of the tools we use into the Google Wave Desktop so that everything is accessible in one place. That’s what Cloud Computing is all about, and Google Wave comes closer than anything else in meeting that need. You already can access Gmail on your Google Wave desktop and any web site that can be framed can be included in a wave as an iFrame. That doesn’t leave much once the security feature set is in place to protect all the components.

Finally, we’ll close with a brief mention of the coolest feature of Google Wave. That is its expandability which is enabled by incorporating bots and gadgets into any wave. As you might imagine, these extensions can do almost anything… good or bad. Here’s a short list of what has been developed and what’s already on the radar in just a few short weeks:

Chatbots
Eliza – ogenex@appspot.com – An implementation of the Eliza chatbot borrowed from the NLTK.
Elize – elizarobot@appspot.com – Is one of the first robots that was created by non Googler and is very useful if you are feeling alone in your Google Wave client.
Rude chatbot – notatory@appspot.com – An obnoxious chatbot borrowed from the Natural Language Processing Toolkit.
TooAngel Wave – In Progress – tooangel-wave@appspot.com – A self learning robot, that will respond to a reply in a more humanoid way

Conversion
BotURL – boturl@appspot.com – A URL Linker that replaces full URLs with hyperlinks.
Calcbot – calcbot@appspot.com – This bot will do in place calculations for simple mathematical expressions and allow you to use user defined variables.
Cartoony – cartoonybot@appspot.com – Replaces the text of every submitted blip with a cartoon balloon that contains the text instead. Colors the balloons based on username.
Dice Bot – dice-bot@appspot.com – Dice-rolling bot. Dice Bot will replace XdY (X is the number of dice; Y is the number of sides) with the results of those rolls.
Flippy – flippy-wave@appspot.com – Turns text upside-down.
Fnordlinky – fnordlinks@appspot.com – Replaces "PMID <number>" with article information from PubMed.
Hearty Emobot – hearty-emobot@appspot.com – Replaces ASCII art with wingding characters.
i-cron – i-cron@appspot.com – Evaluates Python expressions. Looks at blips in event, searches for CALC() macros and executes Python code using exec().
Insulty – megabytemb123@appspot.com – Information Needed
IPA Bot – ipa-bot@appspot.com – Changes normal letters into special characters used for phonetics.
Piratify
– piratify@appspot.com – Turns whatever you type into "Pirate Speak" .. Arrrr.
Plotzie – plotzie@appspot.com – Plots sparklines from your data.
Shortee – Wish – Change “c u l8r” to “see you later” etc.
Swedish Chef – borkforceone@appspot.com – Changes english into Swedish-Chef Speak. Bork! Bork!
Syntaxy – kasyntaxy@appspot.com – Syntaxy does blip-by-blip syntax highlighting for a variety of languages including Python, Java, C, C++, html, css and javascript.
Watexy – watexy@appspot.com – Use LaTeX mathematical language in your Waves!
Wikify – wikifier@appspot.com – Replaces specific marked up text with a link to Wikipedia or a description relevant to the marked text.

Games
Hangman – wavehangman@appspot.com – Play Hangman.
Roshambo – roshambowave@appspot.com – Play Roshambo (Rock / Paper / Scissors).
Speedy – Wish – Track the words per minute of all participants, competitive typing!

Groups
Groupy – groupy-robot@appspot.com – Robot to manage groups.

Integration
drop.io – mikeswaverobot@appspot.com – Creates a drop and puts the info into the wave whenever the robot is added as a participant.
OpenAustralia – In Progress – A robot to allow interaction with the OpenAustralia web site.
PlonieBot – In Progress – ploniebot@appspot.com – Brings wave document editing capabilities to the Plone CMS
Poppy – In Progress – poppywave@appspot.com – Helps bridge Google Wave conversations to email users outside the Wave.
Rssybot – rssybot@appspot.com – Turn google wave into an RSS reader!
Starify – starifybot@appspot.com – Lets you star waves, in sort of bookmarking style.
Tweety the Twitbot – tweety-wave@appspot.com – You can access your Twitter account.
Twiliobot – twiliobot@appspot.com – Transforms phone numbers into click-to-call links. If user clicks a link, a call is placed to his phone and to the number in the link. The call can be transcribed and inserted into the wave as text with a link to the audio.
Wave-Email – In Progress – wave-email@appspot.com – Provide an extension to Google Wave which will allow the integration of both sending and receiving emails.
Wave Live Messenger – wavelivemessenger@appspot.com – Allows you to chat to your windows live messenger contacts from inside a wave.

Language
PhilBot – Wish – A suggested solution to the problem of waves with languages you can’t read.
Rosy Etta – rosy@wavesandbox.com – Translator (40 Languages).

Polling
Polly the Pollster – polly-wave@appspot.com – Poll Bot.

Search / Aggregation
Dr Maps – dr-maps@appspot.com – Updates a wave by inserting a map associated to an address.
Dr Weather – shiny-sky@appspot.com – Gives the weather for a City
Embedded Search Results – wave-sandbox@appspot.com – Web and Image searches inline.
FML Blipper – fmlblipper@appspot.com – displays random FML story from www.fmylife.com
Grauniady – grauniady@appspot.com – Searches the latest items from The Guardian for a given phrase.
Stocky – stocky-wave@appspot.com – Detects stock symbols from a wave and updates it with the live stock price.
Wavethingy – wavethingy@appspot.com – Searches Amazon for DVDs and books, and gives the author a cut of any purchases made off the links.
Yelpy – yelpful@appspot.com – Searches Yelp with a user defined location and category.

Utilities
AmazonBot – amazon-withwaves-com@appspot.com – Enables social product research and shopping on Amazon.com. Wave participants can share products & reviews with contacts in real-time thanks to automatic queries by the AmazonBot against conversation keywords. The AmazonBot gadget can detect products and return inline product links or a custom full product browser.
Bloggy
– blog-wave@appspot.com – Information Needed
Bit.ly Bot – bitly-bot@appspot.com – Shortens the url using bitly.
Botty – Wish – Will automatically add a set of useful bots to a wave according to a collection of bots (so they don’t have to individually be added when you use them all the time.
CountColon – countcolon@appspot.com – Adds text statistics to your blips (words, lines, etc.)
Companion Sphere – companionsphere@appspot.com – Collection of geek utils, first working verb is "lookup" for wikipedia/wiktionary one-line descriptions.
Databot – Wish – Will start as soon as the GData interface is published.
Emoticony – emoticonbot@appspot.com – Replaces text representations of emoticons with the relevant image.
JBREAKOUT – jbreakout@appspot.com – Debug utility that reports event triggers.
Maison – maison@appspot.com – Makes blips public at http://maison.appspot.com.
Multi – multi-wave@appspot.com – A quote collector. Reply a blip you want to quote with ‘quote this’ and randomly display a quote with ‘quote <wave @account.com>’. The bot is still being under development but you can try playing with it.
Natural Language Processing – knowledge-books@appspot.com – Adds blips with NLP analysis.
Nokar – lab2market@appspot.com – Has many features such as translations, image insertion, insert last tweets etc.
Posterous – posterous-robot@appspot.com – A robot for posterous.com user to post blog in Google Wave. Here is how to write a blog using Google Wave Robot for Posterous.
Publisher – wave-publisher@appspot.com – Information Needed
Skimmy – wave-skimmy@appspot.com – Converts text emoticons, from : ) to img. Has a bookmarklet which creates a popup menu to insert emoticons for which the code is unknown.
Smiley – smiley-bot@appspot.com – Changes the smiley symbols to smiley images.
Smiley – In Progress – smiley-robot@appspot.com – Changes the smiley symbols to smiley images.
Style Chart – stylechart@appspot.com – Inserts a chart into a wave.

Wave Management
Bouncy – bouncy-wave@appspot.com – Allows you to remove robots from a wave. Doesn’t seem to work on real people though, and laughs if you try to ask it to kick itself out. To get it to kick a bot out, type "bounce:name@domain.com"
Linear – Wish – Enforce all replies to be to the main wave. If a user replies to a reply, remove it and place it as a reply to the main wavelet.
Read Onlie – readonliebot@appspot.com – Records the original wave content. Whenever it’s edited, the content is replaced with the original. Simple as that.
Seekdroid – seekdroid@appspot.com – You can list Robots, add them and find them out, easy to use. In continuous development. Website with all the information seekdroid.appspot.com.
Sweepy – sweepy-wave@appspot.com – Remove empty, whitespace-only blips.
Taggy – taggy-wave@appspot.com – Recognize #hashtags and add them as tags to the wave.
Tocgen – tocgen@appspot.com – Table of Contents auto-generated and updated based on the h1,h2,h3,h4 in a wave.
Twitusernames – twitusernames@appspot.com – Replaces all Twitter @username with links to the Twitter accounts.

Gadget Utilities
Ajax Animator – In Progress – http://antimatter15.com/ajaxanimator/wave/manifest.xml – A fully integrated multi-user web based vector graphic animation authoring environment.
AmazonBot Gadgett – http://amazon-withwaves-com.appspot.com/gadgets/AmazonProductList.xml – The AmazonBot gadget can detect products and return inline product links or a custom full product browser.
Bidder – http://wave-api.appspot.com/public/gadgets/bidder.xml – Simple Auction.
Checky – http://wave-gadgets.appspot.com/checky.xml – Basecamp-like checklists with drag-and-drop.
Click me – http://wave-api.appspot.com/public/gadgets/hellowave.xml – Shows a button with a counter. Each time the button gets clicked, the counter is incremented by one. Shows off how the state interaction works.
HTML – http://wave-ide.appspot.com/html.xml – Embed any HTML into a wave.
iFrame – http://wave-ide.appspot.com/iframe.xml – Embed any web page into a wave.
iWave – http://gadget.wave.to/iWave/iWave.xml – Allows you to create a profile on wave to make wave just a little more personal. Uses facebook connect to retrieve your details if you sign in.
Licensing – In Progress – http://wave-license.appspot.com/license_gadget.xml – Creative Commons RDF Embedding – Planning Stage.
Maps – http://hosting.gmodules.com/ig/gadgets/file/101415471413908368316/mappy.xml -Embed Google Map.
Napkin – http://my-wave-gadgets.appspot.com/wave/NapkinGadget.xml – Example of Flash/Flex Wave Gadget, similar to Whiteboard gadget above – source on Google Code.
QuakeBot – In Progress – Server information on the Quake 3 protocol.
Raffly – http://raffly.googlecode.com/svn/trunk/sandbox/raffly-xml1/raffly.xml – Insert this gadget to select a random participant from your wave to be the winner. The winner of what? Well that’s up to you 🙂
Ratings – http://google-wave-resources.googlecode.com/svn/trunk/samples/extensions/gadgets/ratings/ratings.xml – Lets participants rate and review a topic (movie, restaurant, etc) in a wave and shows a tally of the result.
Slashdot Gadget – http://www.m1cr0sux0r.com/slashdot.xml – Loads latest Headlines from Slashdot.
Troco – An experimental peer-to-peer currency – http://troco.ourproject.org/gadget/org.ourproject.troco.client.TrocoWaveGadget.gadget.xml – Aims to provide a decentralized complementary community currency system, that is, a peer-to-peer currency system. Also you can see it as an IOU or promissory note based system. More info click here.
Vector Editor – http://jsvectoreditor.googlecode.com/svn/trunk/wave/vectoreditor.xml – A cross platform collaborative real time vector graphics editor.
Whiteboard – http://vps.michaelrose.id.au/canvas.xml – Draw on a virtual whiteboard.
Who is Coming? – http://wave-api.appspot.com/public/gadgets/areyouin/gadget.xml -Show a list of all people that have said whether they will come or not.

Gadget Games
Backgammon – Wish – Remove all of one’s own checkers from the board before one’s opponent can do the same. [Wikipedia]
Battleship – Wish – Displays different board based on user.
Boxes – In Progress – Connect lines to make boxes and win.
Connect 4/Four-in-a-row – In Progress – sdunster@wavesandbox.com – http://www.sdunster.com/wave/four.xml – 2 users + observers, turn locking, just waiting to write win-detection code.
Floodit – http://gadget.wave.to/floodit/game.xml – 2 player race to fill a board with colors.
Magnetic Poetry – http://hosting.gmodules.com/ig/gadgets/file/107558585548952247431/fridge-11.xml – Re-arrange random words to form poetry.
Match them colors! – In Progress – Match 3 / gem matching game.
Othello – Wish – Play Reversi.
Sudoku – http://blah.appspot.com/wave/sudoku/sudoku.xml – Play Sudoku.
The Button – http://hyperthese.net/wave-gadgets/the-button.xml – A useless (I mean USELESS) game.

Hooks
CVS integration – Wish – CVS history can be converted into a wave with playback.
GIT integration – Wish – GIT history can be imported and played back (dffs).
SVN integration – Wish – SVN History can be converted into a wave with playback.

Appearance
Google Wave Scrollbars – http://www.uniformedopinion.com/google-wave-native-scrollbars-extension/google-wave.crx – Changes the wave scrollbars to the default system scrollbars.


Enhanced Google Maps. In case you haven’t noticed, we’ve added yet another Google Map to Nerd Vittles. Now, in addition to showing our location with Google Latitude, we also are displaying your location based upon your IP address. We’ll show you how to add something similar to any LAMP-based Linux system in coming weeks. It’s a powerful technology that has enormous potential. If you’re unfamiliar with Google Maps, click on the Hybrid and Satellite buttons and then check out the scaling and navigation options. Double-click to zoom. Incredible!


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.



Need help with Asterisk®? Visit the PBX in a Flash Forum.
Or Try the New, Free PBX in a Flash Conference Bridge.


 

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…



For those of you that already have Google Wave accounts, here’s a sample of how a wave will look in a WordPress posting. You can even add content to the wave! This works in Safari and Chrome most of the time, Firefox some of the time (if you turn on Accept 3d Party Cookies), and IE almost never. For those of you that are not part of the Google Wave preview, you’ll just have to wait patiently until Google turns on at least read-only access to this functionality:

Meet The iPhone Terminator: The World’s Best Mobile Phone

Photo courtesy of HTC and androidcommunity.com

With apologies to Arnold’s infamous line, all we can say to iPhone enthusiasts of the world is that once you try this Android phone, you won’t ever go back. Google has done for the mobile phone what Apple did with Mac OS X except Google also opened up the hardware platform. Unfortunately, Apple opted for locked and proprietary hardware and software in rolling out its iPhone. Now that the second-generation Android phones are appearing, the difference is palpable.

Update. There’s now a third-generation Android phone that’s even better than this one. You can read all about it in our latest article.

Choosing the World’s Best Cell Phone is obviously fraught with peril. All other things being equal we would have bestowed the honor on Nokia’s E71 which we reviewed recently and have personally used until a month ago. That’s when we jumped into the Android World which we will tell you up front is still a bit of a work in progress. But, all we can say is WOW! The openness, the technology, and the creativity showcased in the new Android phones point to an inescapable conclusion. Google once again has struck the Mother Lode. Seeing is believing as they say. And today we’ll digress from our usual format to bring you a pictorial tour of the HTC Magic. No. You don’t have to carry a white one like Arnold. Heh. A shiny black one is readily available. We actually had planned to walk through the process of rooting the phone, but we’ll leave that for another day primarily because this mobile phone provides sufficient flexibility in its native state to deliver an almost perfect cellphone experience even without root access.

We’ve already covered our objections to the iPhone in a previous article so we won’t repeat them here other than to note that SIP clients can’t run in the background on an iPhone which makes them next to worthless for inbound calls. Yes, there are kludgey workarounds, but these open yet another can of worms. We’ll dispose of the Nokia product line by telling you they’re headed in the wrong direction just like Microsoft with the wrong operating system(s), the wrong product design, and the wrong technology mix. Just when the world is finally looking for a mobile platform that provides flexibility in transitioning between the cellular networks, WiFi, and WiMax, Nokia kills the SIP stack and SIP client on its entire line of new cellphones. So a company that once was THE innovative cell phone manufacturer in the world suddenly is looking a bit like Yahoo, lots of thrashing around but no cigar. Sadly, it’s mostly the result of self-inflicted wounds. But we’re not going to dwell on the past today. We’re going to look at what the future holds in mobile communications. And the one word that best sums up our hopes for future mobile telephony is Google… more precisely, Google’s totally open source Android Platform.

So let’s again go about this by the book… with a requirements analysis! You can match it to your own wish list. We want a cellphone that makes cellular calls from most locations, and we want the ability to decide which cell provider we use depending upon where we are. We want the option to make phone calls through our own SIP provider, or Asterisk® server, or Google Voice whenever we feel like it with or without a Wi-Fi connection. And, of course, we want VoIP Prioritization. This means we want our cell phone to prioritize incoming and outgoing calls by attempting to use VoIP services first, cellphone carrier second. We also want to be able to check our email using gMail, POP3 and IMAP servers at 3G data speeds. For the business community, we also think Microsoft Exchange support is indispensable. When we need to send or receive something on our notebook computer and there’s no WiFi around, we want our cellphone to provide data connectivity. We’re not going to be downloading movies and 1,000-page books all day long. We just want to get an important file attachment from the office so we can read it on a normal screen. If the cellphone provided a PDF viewer, so much the better. And, finally, we’d like a QWERTY keyboard for messaging, and we want to be able to change our own battery, add a memory chip, and swap out SIM cards whenever we’d like. We also want the ability to gain root access should we ever wish to do so. After all, it’s our phone! Bluetooth for phone calls and A2DP for music in the car would be great, and a good camera as well as GPS functionality would be nice to have on the phone as well. For those in the U.S., we’d add one additional requirement: support for AT&T’s 3G network so you’re not stuck with T-Mobile’s dog-slow (and incompatible) wireless data network. Most of the Android phones currently flunk this test leaving you with nothing but EDGE service if you use a provider other than T-Mobile. Of course, with T-Mobile, you get mostly EDGE service in the U.S. as well. 🙄

And the winner is…

Our pick is the unlocked Rogers HTC Magic phone, the only Android phone that we could find which supported rooting and AT&T’s 3G network in the U.S… albeit from a Canadian provider. That’s the price U.S. consumers pay for a government that continually rewards the telephone oligopoly with exclusivity rip-offs. So how does the HTC Magic stack up to our wish list? We’d give it a 94. It does everything on our Wish List… and more. The images which follow incidentally were taken using the screen capture utility that’s part of the Android 1.5 SDK. It is easily installed on either a Windows or Linux PC or your favorite Mac (except Snow Leopard for the moment). There’s a great tutorial on how to install the Android SDK as well as a YouTube video and tutorial on rooting the Rogers HTC Magic phone should you desire further information on those topics.

Getting Started. Before proceeding, set yourself up a Gmail account if you don’t already have one. As with most provider-specific cellphones, this HTC Magic phone is hard-coded to the Rogers network in Canada. Assuming you want to use AT&T’s network in the U.S., step #1 is to enter AT&T APN settings when you first turn on the phone. After inserting the AT&T SIM and booting the phone, press the Menu key before doing anything else. Next click Add APN. Enter the following values leaving the remaining fields blank:

Name: att
APN: wap.cingular
Password: CINGULAR1

Now press the Menu button again and choose Save. For other providers, try this Google Search.

Main Screen. Once you’ve entered your Gmail credentials, the phone will boot and display a Main menu. It actually is three screens wide. You can move to the other screens by swiping your finger to the left or to the right. You’ll notice a thumb tab at the bottom of the display. By dragging this up, you can access all of the other applications on the phone. Move it back out of the way by dragging it back down or pressing the Back button (←) which is the third from the left button just below the screen display.

Applications. Here’s the first page of our Applications. You scroll through the list using the trackball, or you can drag your finger vertically on the screen to reposition the display up or down. Tapping on an entry starts the application. Pressing the Home button on the far left just below the screen display returns you to the Main Screen. Every app is displayed in this listing except for Widgets. Widgets are more like scripts and typically are used to toggle functions on and off. In the left Main screen above are four widgets to toggle WiFi, BlueTooth, GPS, and Ringer/Vibrate/Silent functions of the phone.

Android Market. All of these applications didn’t necessarily come with the phone. Google’s Android Market has been set up for developers to display their wares. You can become a developer, too. And, unlike the iPhone apps, most of the Android apps still are free. Just another advantage to open source technology. To access the Market from your phone, just choose the Market app and follow the intuitive menus. There’s a great Search function. Again, unlike the iPhone, these applications get stored on a MicroSD card. A 2GB card comes with the phone. Do yourself a favor and start with a $50 16GB card.

Messaging. As you might expect from Google, the Android platform excels at messaging of all flavors. Whether it’s text messaging, Gmail, or POP3/IMAP email connectivity, Android has you covered (see above). And the support for Microsoft Exchange is nothing short of brilliant. In the social networking department, there’s full-featured support for Twitter and Facebook, among others. Using the Search function in the Android Market, you can have your phone set up with your favorite tools in just a few minutes.

Android Security. Securing your phone is also nothing short of brilliant on the Android 1.5 platform. Simply draw an unlock code pattern using your finger, and that becomes the signature for future access to your cellphone. Also works pretty well as a sobriety test. 🙂 If you can’t unlock your phone, don’t unlock your car! You also can lock your SIM card to your phone and set a password if you’re nervous about losing your $500 crown jewel. What the security system really demonstrates is that the open source community has nothing to apologize for. The quality of this software is every bit as good if not better than the software produced by the other cellphone players.

Placing Calls. Yes, we hear you. What about making phone calls? You’ll be pleased to know that the HTC Magic can do that, too. We were just saving the best for last. In fact, this phone can make calls in three different ways: through your cellphone provider, through SIP using your Asterisk server or another provider, and through Google Voice. Once you install the Google Voice application from the Android Market, simply configure it with either your cellphone number or an intermediate provider such as SIPgate or IPkall. You then have a choice of whether to make Google Voice the primary or secondary calling source. Or you can choose to be prompted for each call as shown above. Google Voice calls that go out through your WiFi data network connection incur no charges in the U.S. and Canada.

SIP calls are placed using the SIPdroid application which also is available in the Android Market. Shown to the left is a sample setup for SIPdroid to connect to your Asterisk server on a private home network. In the SIPdroid Call Options, specify whether to use WiFi and/or 3G/EDGE for the SIP calls. And set a preference for how your calls should be placed, i.e. cellphone carrier or SIP. The only tricky part is the Extension Settings on your Asterisk server. Just create an extension in the usual way using FreePBX. But make sure your settings include the following entries: canreinvite=no, nat=yes, and qualify=no.

To route outbound calls through SipDroid instead of your cellphone provider, just append + to the end of the phone number. You can generate a + symbol on your phone keypad with a long press of the 0 button.

Android Backups. No article would be complete without some mention of backups. The Android platform currently supports four options: Android images, MyBackup, and Google and Exchange Synchronization. Android images can only be created if you gain root access to your phone or load a different image on your phone. MyBackup is a $9.95 app from the Android Market that lets you backup your Applications and Data separately onto your MicroSD card. Unless you’re a techie, it’s well worth the money. Google and Exchange Synchronization you will find under Settings, Data Synchronization. With Google Sync, you can back up your Gmail, Calendar, and Contacts data automatically and as a background task. Be sure to activate it. Finally, you’ll see displayed above a browser display from mundy.org/whereib that you may find helpful from time to time. It displays not only a map of your current location based upon your IP address, but also shows your public IP address.

Android 3Gtest. We’ll leave you with a hot tip about one additional application: 3Gtest. Just download and install it from the Android Market and then run it. You’ll be amazed by the results. Not only will it tell you how good your upload and download speeds are, it also will tell you some interesting tidbits about whether your provider is living up to their oft-repeated promise of Net Neutrality. Our download 3G speed in Charleston, South Carolina was actually close to T-1 performance. Interestingly, our upload speed was pitiful… about as fast as a circa 1860’s telegraph machine.

Android System Backup. We said we weren’t going to cover rooting your phone, but we do want to point you in the right direction and also show you how to get a perfect image backup of your phone. If you’re not comfortable entering system commands, stop here! We are Mac snobs so what follows is the Mac way of doing things which is incredibly simple compared to the hassle with Windows in getting the correct USB driver loaded to make things function properly. If you’re determined to use Windows, be sure to install the Android SDK before you connect your phone to your PC. And read up on how to install the appropriate USB driver for Windows. With a Mac, all of this just works… out of the box. As we mentioned previously, we’ve only tested this with Leopard and Snow Leopard, and Snow Leopard does NOT work!

Before proceeding, you must enable USB Debugging on your phone. You’ll find it here: Settings->Applications->Development->USB Debugging

To get your Mac set up with the proper toolkit, do the following. There’s nothing tricky here. Just don’t skip any steps. And you only have to do this once! First, download the Android 1.5 SDK for the Mac from here. Unzip android-sdk-mac_x86-1.5_r3.zip on your Desktop and rename the folder to android-sdk. Now drag that folder into your Applications directory. Next, open a Terminal window and create/edit .bash_profile: nano -w .bash_profile. Add the following entry: export PATH=${PATH}:/Applications/android-sdk/tools. Then save the file: Ctrl-X, Y, Enter. Now run the same command from the CLI prompt to update your PATH now: export PATH=${PATH}:/Applications/android-sdk/tools. Next, download fastboot-mac onto your Desktop from the HTC Support site. Unzip the file and rename the file to fastboot. Then, download recovery-new.img to your Desktop. Drag both fastboot and recovery-new.img into the Applications/android-sdk/tools folder.

Now we’re ready to make your backup. Plug your phone into your Mac using the USB cable that came with the phone. Open a terminal window on your Mac and change to the SDK tools directory: cd /applications/android-sdk/tools. Run the following command and make certain your phone shows up in the listing: adb devices. You should get a display with the serial number of your phone:

List of devices attached
HT95RNK02843 device

Assuming your phone shows up in the list, you’re ready to proceed with a backup. Turn off your phone. Then, while pressing the Volume Down button, turn your phone back on. Hold down both buttons until you see a screen that says <BACK> FastBoot Mode with dancing Androids on skateboards at the bottom of the display. Press the BACK button (←) and the FASTBOOT USB menu will display. In your computer’s Terminal window (NOT on your phone), type: fastboot boot recovery-new.img. Your phone will reboot and display a screen with several options in blue. Use your phone’s trackball to carefully scroll down to the Nandroid Backup 2.1 option. Then depress the Trackball button to begin the backup. You’ll see a yellow display message indicating that the backup is proceeding. When the backup completes, choose the Reboot System Now option to restart your phone normally.

You’ll find the new backup on the SD card. To copy it to a safe place on your Mac, drag down the Message Bar at the top of the display after your phone has rebooted. Tap the USB Connected Select to copy files to/from your computer option. Then tap the Mount button. A new drive NO NAME will appear on your Desktop. Double-click on it and drag the nandroid folder to a safe place for permanent storage of your backup. To unmount the phone, do it on your Mac desktop first. Then reverse the mount process we initially used on the phone to mount it. Simple!

Rooting Your Phone. We have NOT done this so you’re on your own. You’ll probably void the warranty on your phone by proceeding. The best article we could find on the procedure for rooting and restoring your phone is here. But it doesn’t have the correct backup image. If you restore the wrong image, your phone’s radio may no longer work on your provider’s network. The consensus seems to be that the proper image for a rooted Rogers HTC Magic is here. The best tutorial for actually performing the magic appears to be here. But we would stress again that we have not actually tried this, and you really, really are on your own if you proceed past reading this article. It’s your $500 phone… or brick as the case may be. Before doing anything further, we would strongly recommend you make several backup images as outlined above and also spend some time doing a careful review of the postings in this forum until you are very comfortable with all of the wrinkles and procedures. If something goes wrong, post your problems there, not here. 🙂 We’re handing you the map, but it’s your choice whether to jump off the cliff. Enjoy!

Update: The unlocked Rogers HTC Magic phone used for this review is now available for purchase from Nerd Vittles. It supports 3G networks of both Rogers in Canada and AT&T in the United States. Just make us an offer we can’t refuse. It’s still a terrific phone!



The Future of Android. For a glimpse of what the future holds for Android, see this Giga OM article published on October 7.


Web Site of the Week. For all of your favorite Nerd gifts, don’t miss the new Mashable collection.

Articles of the Week. For another excellent technical review of the HTC Magic, check out TechRadar UK’s review. And be sure to check out Justin West’s Free Homebrew VoIP with Google Voice and Intel Atom.


Enhanced Google Maps. In case you haven’t noticed, we’ve added yet another Google Map to Nerd Vittles. Now, in addition to showing our location with Google Latitude, we also are displaying your location based upon your IP address. We’ll show you how to add something similar to any LAMP-based Linux system in coming weeks. It’s a powerful technology that has enormous potential. If you’re unfamiliar with Google Maps, click on the Hybrid and Satellite buttons and then check out the scaling and navigation options. Double-click to zoom. Incredible!


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.



Need help with Asterisk? Visit the PBX in a Flash Forum.
Or Try the New, Free PBX in a Flash Conference Bridge.


 

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…


Asterisk Virtual PBX Perfection: PiaF + Proxmox, Part II

Taming the OpenVZ beast to support Asterisk® virtualization has been interesting. Reminds me of laying track in front of a steaming locomotive. The demand for a solid, stable Asterisk-based Virtual PBX is overwhelming based upon the visitor count we've recorded. So we wanted to get it right! If you haven't visited the original article in a few days or if you've just landed here, start there. Then come back.

Security WARNING: Always run Proxmox behind a secure, hardware-based firewall with no port exposure to the Internet. Review this message thread for the reasons why.

If you're new to the virtualization world, the beauty of OpenVZ templates running on a Proxmox VE server is that you can create a fully-functional PBX in a Flash system in just under 15 seconds. If you want a dozen fully functional PBXs, the creation time jumps to a whopping 3 minutes. And OpenVZ images load almost instantly with a choice of either dynamic or static IP addresses. Add another 5 minutes to run the new Orgasmatron V installer, and you've got a turnkey, state-of-the-art PBX with dozens of preconfigured Asterisk applications plus free calling in the U.S. and Canada courtesy of Google Voice.

For normal PBX operations, last week's 32-bit PBX in a Flash OpenVZ template was just about perfect. But there were two wrinkles. First, conferencing didn't work because there was no timing source (aka Zaptel/DAHDI). You'll recall that both Zaptel and DAHDI are tied to the Linux kernel. And, with OpenVZ templates, the kernel lives on the Proxmox server. Because Proxmox is a 64-bit native application, its kernel wasn't accessible to 32-bit apps such as last week's template. Second, there's a Denial of Service security issue with the version of IAX2 installed in the default build of PBX in a Flash which you already know about if you've been following us on Twitter or if you subscribe to the PIAF RSS Feed.

So we had our work cut out for us this week. We wanted to kill two birds with one stone by delivering a 64-bit version of PBX in a Flash with conferencing support that also addressed the IAX2 security issue. The nice part of IAX is that you really only need to expose the IAX port through your firewall on one server. Then all of your remaining servers can register to the new safe server (using any version of Asterisk) while remaining safely ensconced behind hardware- based firewalls to avoid DOS attacks.

Overview. There are five pieces to this week's puzzle. First, you need a functioning Proxmox VE 1.3 server. Second, you need to install the new 64-bit PBX in a Flash OpenVZ template on your Proxmox server. Third, you need to create at least one OpenVZ virtual machine (VM) using the new PIAF 64-bit template. Fourth, you need to install and activate DAHDI on your Proxmox server. And finally, you need to enable DAHDI on each of the virtual machines created in step #3.

Installing Proxmox. We're assuming you've already purchased an appropriate hardware platform for Proxmox and have your Proxmox VE 1.3 server up and running. If not, start with last week's article. Be sure to read the footnotes to make certain you purchase hardware that actually can run Proxmox! NOTE: The new Proxmox VE 1.4 beta does not yet have all of the tools necessary to enable conferencing so make certain you install the current 1.3 release.

Installing PIAF 64-bit OpenVZ Template. Using a web browser, download the new PBX in a Flash 64-bit OpenVZ template to your Desktop. Our special thanks to Wolf Paul for his continuing help in teaching us how to build these templates. Once you have the OpenVZ template in hand, point your web browser to your Proxmox server: https://ipaddress. Accept the default certificate and login as root. You'll get a Welcome screen that looks something like what's shown above. Click on the Appliance Template option. In the Upload File section, choose the PIAF 64-bit OpenVZ template on your Desktop and click Upload. Be patient. It's a big file. So go have a cup of coffee. You'll get a prompt when it's completed. And, as Joe Roper has pointed out, you can do this directly within the Proxmox server by logging in as root and issuing the following commands.

cd /var/lib/vz/template/cache/
wget http://nerd.bz/dnlkWr


Creating a PIAF 64-bit Virtual Machine. Now you're ready to create your 64-bit virtual machine. Click on Virtual Machines and then the Create tab. Accept the default OpenVZ Container type. For the Template, choose centos-5.0-pbxinaflash_1.4.0-3_x86_64. Now give your virtual machine a host name that will help you distinguish it from other VMs on your Proxmox server. Create a secure root password for your new VM. We recommend a minimum memory and swap memory size of 512MB and a minimum disk size of 20GB. You can experiment with these to find the best fit on your server. It only takes about 15 seconds to create an OpenVZ virtual machine so trial-and-error isn't painful.

You have a choice of Network Types. With Virtual Networks (venet), you need to designate a static IP for your virtual machine. With Bridged Ethernet (veth), an IP address is assigned by your DHCP server. Be aware that our status app currently won't display venet-assigned IP addresses, but ifconfig will. There are some other significant differences including network security that you may wish to review. To keep things simple, choose Bridged Ethernet as shown in the screen shot above. As mentioned, we'll depend upon your DHCP server to assign a dynamic IP address. You can lock it down on your router to assure that the same IP address always is assigned to this virtual machine. Finally, provide a DNS domain for the new VM and assign at least one DNS server. The IP of your gateway router/firewall usually will suffice. Click create when you have filled in all the blanks.

To start the OpenVZ virtual machine, click on the List tab. Then click on the 64-bit VM you wish to run. When the details display, click the Start button. Within a couple seconds, your VM will start up. Now click on the Open VNC Console link which provides you a command line interface to the now running virtual machine. Type ifconfig several times until you get a display showing your network interfaces. If no IP address is shown for eth0, type: service network restart. You only need to do this the first time your new virtual machine is started. Once the network reloads, you should be good to go. Type status and the IP address of your new VM should display.

Before you do anything else, change the web passwords for your virtual machine to something that is really secure. Just type passwd-master and answer the prompts. You now can close the VNC window after writing down the IP address and VM ID of your new virtual machine.

NOTE: Unlike the 32-bit version from last week, it is not necessary to generate new SSH server keys for PIAF 64-bit virtual machines. These will be generated automatically the first time you start up the VM.

Installing DAHDI on the Proxmox Server. At the outset, we want to express our deep appreciation to Joe Roper, one of the founders of the PBX in a Flash project, for his work in putting together a simple script to install and activate DAHDI on the Proxmox server. In addition, the script spawns another script which makes it easy to activate DAHDI for any PIAF 64-bit virtual machines desired. For our European friends that ever have the need for an Asterisk consultant, you can do no better than Joe Roper. Thanks, Joe!

To begin, log into your Proxmox server as root and issue the following commands:

cd /root
wget http://nerd.bz/dahdi
apt-get -y update
apt-get -y install zip
unzip install-dahdi.zip
rm install-dahdi.zip
chmod +x install-dahdi.sh
./install-dahdi.sh

Activating DAHDI for Designated Virtual Machines. By default, DAHDI is not activated on any of the virtual machines you create. To activate it and enable conferencing, log into your Proxmox server as root and issue the following command: pabx-enable-conference. When prompted to enter the VM ID of the virtual machine to be activated, type in the number (e.g. 101) and press Enter. After activation is complete, use a web browser to access the Proxmox GUI. Start up the virtual machine if it is not already running. Then, either log into the VM with SSH as root or choose Open VNC Console. From the CLI, type amportal restart to reload Asterisk. Once you have created at least one extension and one conference using the FreePBX GUI, you should be able to dial into the conference successfully. If you get an error about a missing TUN device, see comment #1 below for the fix. Enjoy!


Article of the Week. Justin West's Free Homebrew VoIP with Google Voice and Intel Atom


Enhanced Google Maps. In case you haven't noticed, we've added yet another Google Map to Nerd Vittles. Now, in addition to showing our location with Google Latitude, we also are displaying your location based upon your IP address. We'll show you how to add something similar to any LAMP-based Linux system in coming weeks. It's a powerful technology that has enormous potential. If you're unfamiliar with Google Maps, click on the Hybrid and Satellite buttons and then check out the scaling and navigation options. Double-click to zoom. Incredible!


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.



Need help with Asterisk? Visit the PBX in a Flash Forum.
Or Try the New, Free PBX in a Flash Conference Bridge.


 

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...

Asterisk Virtualization: PiaF + Proxmox, It Just Works

We've invested weeks and months over the years wrestling with virtualization technologies searching for the perfect fit for the Asterisk® PBX platform and especially for the turnkey solutions provided by PBX in a Flash and our latest Orgasmatron V installer. Why virtualization you might be asking? As with most computer applications, it comes down to flexibility and, of course, cost savings.

For the latest article on PBX in a Flash 2 with OpenVZ, follow this link.

In the flexibility department, VoIP virtualization lets you choose options such as Cloud Computing and hosted solutions from various providers. It also provides a terrific training platform as well as your own managed Cloud Computing solution. You can build and host a dozen or more virtual Asterisk systems on a single $500 to $1,000 server and have a transportable solution ready to deploy in a couple of hours. And then there are those of us in the technology business that need to test all sorts of new operating systems and applications without having to dedicate a standalone machine to each experiment.

Security WARNING: Always run Proxmox behind a secure, hardware-based firewall with no port exposure to the Internet. Review this message thread for the reasons why.

Our virtualization platform of choice is Proxmox, a lightweight Debian-based distribution that includes kernel support for both KVM and OpenVZ. As Martin Maurer from Proxmox put it in a recent interview:

This means you get the best of both virtualization worlds... containers (OS Virtualization) and fully-virtualized machines (Machine Virtualization). Proxmox VE also includes a very powerful yet easy to use web-based management system with clustering features. Boot the Proxmox VE install media, answer a few simple questions, and within 10 minutes you have a very powerful virtualization platform you can manage from a web browser. Install it on one or more additional machines that are networked together and use Proxmox VE's cluster management tool to create a virtualization cluster that allows for centralized management, automated backups, iso media and OS Template syncing, as well as migration features. Proxmox VE really is a time saving turnkey solution... and it is freely available under a GPL license."

As far as cost savings, $500 to $1,000 says it all. When you can run a dozen dedicated systems on such a hardware platform, it reduces the individual cost of each turnkey system deployment to well under $100. And the performance penalty for implementing this multitasking solution is only a 1 to 3 per cent performance hit compared to using comparable standalone systems for similar computing tasks. Om Malik recently noted that:

More than half of new servers in 2009 will be virtualized, compared with 30 percent in 2008, according to a new survey by TheInfoPro."

Comparing 2009 to 2008 deployments, that's a 70% increase in just one year. When there is comparable performance, 90% cost savings, and greatly enhanced deployment flexibility, you have to ask yourself why wouldn't you deploy virtualized solutions. With the solution we're providing today, you get some other benefits as well: snapshot backups and cluster computing, both of which actually work. And the cost of this virtualization technology... it's FREE!

Hardware Requirements. For full KVM virtualization support, you'll need either an Intel-VT1 or AMD-V2 capable CPU/Mainboard. Also strongly recommended are a multi-core CPU and as much RAM as your budget can afford. Our favorites (primarily because of cost) are the Dell T105 (with either dual or quad core AMD Athlon processor) or the Dell T300 (with quad core Intel Xeon processor). Both are on sale for the next few days starting at $249 up to about $1,000 with $350-$549 off the retail prices. You can save more by using our Dell coupon in the right margin. We recommend purchasing larger hard disks from other suppliers so stick with the default setup in drives. Dell has gotten more competitive on RAM pricing so that's your call. For a point of reference, a dual core AMD with 8GB of RAM can support about 8 simultaneous Asterisk servers.

Installing Proxmox. If you go the Dell route, you'll need an external USB CD or DVD drive to install Proxmox. Dell's optical drives aren't supported in the Proxmox boot image. So begin by downloading the Proxmox VE 1.3 ISO image and create your CD. Then boot your new server from the CD (by pressing F11 for the boot selection screen and choosing your USB external drive on Dell servers). Press Return to begin the install, agree to the license agreement, and click Next on the installer screen to begin. Choose your country, time zone, and keyboard layout. Next choose a secure password and provide a valid email address which is used to send you critical alerts from your Proxmox server. Finally, choose a hostname, specify a fixed IP address, netmask, gateway, and DNS servers and then press Next. Three minutes later, you'll have a new Proxmox server. Log in to your server as root and create a directory for your backups: mkdir /backup. You're finished on the CLI at this point.

OpenVZ vs. ISO Images. One of the beauties of Proxmox is that it supports two different types of images to create virtual machines. An OpenVZ template is akin to a snapshot of an existing system while an ISO image is identical to the installer you normally would burn onto a CD in order to install a software application on your server. In short, you still have to go through the installation scenario when you create a virtual machine (KVM) from an ISO image. A virtual machine created from an OpenVZ image is ready for use the moment it is created. If you remember when instant-on televisions first were introduced, you'll also appreciate the difference in boot times between OpenVZ and KVM machines which boot an application installed from an ISO in much the same manner as you would experience on a standalone machine.

As with life, there's a dark cloud lurking behind every silver lining, and this is especially true in the Asterisk environment. OpenVZ containers rely upon a shared kernel, the one that actually boots the Proxmox server. KVM containers created from ISO images are self-contained with their own complete operating system and kernel. Thus, zaptel and dahdi cannot be loaded directly from an OpenVZ container. Instead one must rely upon a shared version of zaptel or dahdi loaded on the Proxmox server itself. As it turns out, this is no small feat and certainly not a task for mere mortals. Bottom Line: If you need conferencing or otherwise need a timing source for your Asterisk deployment, you will not want to use the OpenVZ approach at least for now. We hope to more fully document the zaptel/dahdi hurdles that need to be addressed in coming weeks. You can follow our progress in this message thread on the PBX in a Flash Forum. On the other hand, if you have more traditional VoIP requirements for your PBX, then the ease of installation and use of the OpenVZ image makes perfect sense. So let's start there assuming you understand the limitations.

Installing PIAF OpenVZ. Using a web browser, download the new PBX in a Flash OpenVZ image to your Desktop. Our special thanks to Wolf Paul, who did most of the work in putting this together. Once you have the OpenVZ image in hand, point your web browser to your Proxmox server: https://ipaddress. Accept the default certificate and login as root. You'll get a Welcome screen that looks something like what's shown above. Click on the Appliance Template option. In the Upload File section, choose the PIAF OpenVZ image on your Desktop and click Upload. Be patient. It's a big file. So go have a cup of coffee. You'll get a prompt when it's completed. And, as Joe Roper has pointed out, you can do this directly within the Proxmox server by logging in as root and issuing the following commands. Thanks, Joe.

cd /var/lib/vz/template/cache/
wget http://tr.im/piaf1506

If you really want to walk on the wild side, here's a third method from Ap.Mathu. After logging into your server as root and issuing the following commands, you can download PBX in a Flash as well as Joomla!, eyeOS, BlueOnyx, Moodle, and FrontAccounting directly through the Proxmox web interface (Appliance Templates, Download):

cd ~
wget http://mundy.org/piaf1506
cat piaf1506 >> /var/lib/pve-manager/apl-available

NOTE: You'll need to use the third option above only after you enable IPtables below because the apl-available file gets regenerated from "headquarters" each time Proxmox restarts.

Enabling IPtables Firewall. IPtables works a little differently in the OpenVZ environment. It actually runs on the Proxmox host. There are three steps to get it working. First, be sure you have downloaded PIAF OpenVZ template 15.04 or later. Second, shut down every running VM on your Proxmox server using the web interface. When you're sure they're all stopped, log into your Proxmox server as root using SSH and carefully enter the following two commands. Note that, because of the length, the sed command stretches to several lines which should be unraveled into a single line for the command to execute properly! Using a block-copy from a desktop machine to your SSH session is the safest method.

sed -i 's|ipt_REJECT ipt_tos ipt_limit ipt_multiport iptable_filter iptable_mangle ipt_TCPMSS ipt_tcpmss ipt_ttl ipt_length|ipt_REJECT ipt_tos ipt_TOS ipt_LOG ip_conntrack ipt_limit ipt_multiport iptable_filter iptable_mangle ipt_TCPMSS ipt_tcpmss ipt_ttl ipt_length ipt_state iptable_nat ip_nat_ftp|' /etc/vz/vz.conf

/etc/init.d/vz restart


Now you're ready to create your first virtual machine. Click on Virtual Machines and then the Create tab. Accept the default OpenVZ container type and give your virtual machine a host name that will help you distinguish it from other VMs on your Proxmox server. Create a secure root password for your new VM. We recommend a minimum memory and swap memory size of 512MB and a minimum disk size of 20GB. You can experiment with these to find the best fit on your server. It only takes about 30 seconds to create an OpenVZ virtual machine so trial-and-error isn't painful.

You have a choice of Network Types. With Virtual Networks (venet), you need to designate a static IP for your virtual machine. With Bridged Ethernet (veth), an IP address is assigned by your DHCP server. Be aware that our status app currently won't display venet-assigned IP addresses, but ifconfig will. There are some other significant differences including network security that you may wish to review. Our special thanks to Martin Maurer from the Proxmox Dev Team for the hand-holding in getting both options working. To keep things simple, choose Bridged Ethernet as shown in the screen shot above. As mentioned, we'll depend upon your DHCP server to assign a dynamic IP address. You can lock it down on your router to assure that the same IP address always is assigned to this virtual machine. Finally, provide a DNS domain for the new VM and assign at least one DNS server. The IP of your gateway router/firewall usually will suffice. Click create when you have filled in all the blanks. Your new virtual machine will be ready to run in less than a minute.

To start the OpenVZ virtual machine, click on the List tab. Then click on the VM you wish to run. When the details display, click the Start button. Within a couple seconds, your VM will start up. Now click on the Open VNC Console link which provides you a command line interface to the now running virtual machine. Type ifconfig several times until you get a display showing your network interfaces. If no IP address is shown for eth0, type: service network restart. You only need to do this the first time your new virtual machine is started. Once the network reloads, you should be good to go. Type status and the IP address of your new VM should display. Type service iptables status to verify that IPtables is running. It currently does not show properly with status. If it's not running, type service iptables restart, and then check it again. The safest test is to attempt to log into your new server with a phone using the wrong extension password. After three tries, it should lock out that IP address temporarily.

Now it's time to secure your new virtual machine. We need to change the master password (not the root password) that is used to gain web access to your server. We also need to change the server's SSH keys to make them unique. Just run the following three commands making certain that you choose to overwrite your existing SSH keys when prompted to do so:

passwd-master
ssh-keygen -f /etc/ssh/ssh_host_rsa_key -t rsa
ssh-keygen -f /etc/ssh/ssh_host_dsa_key -t dsa

Finally, you can type rasterisk to load the Asterisk CLI. You now have a functional PBX which is ready for configuration. See our knol for step-by-step instructions if you're new to all of this. Or, better yet, you can transform your new virtual machine into a turnkey PBX in less than 10 minutes with free calling in the U.S. and Canada with our Orgasmatron V Installer.

We strongly encourage (actually we're begging) you to read our Primer on Asterisk Security before doing anything else. It could save you an astronomical phone bill down the road.

Where To Go From Here. Until our next chapter, you might want to experiment with some of the other OpenVZ appliances which are available for Proxmox. Many can be installed within the Proxmox GUI (Appliance Templates, Download). Here's the short list: Proxmox Mail Gateway, CYAN Secure Web, Trouble Ticket Tracking, Zenoss Core IT Monitoring, CentOS 4 and 5, Debian 4 and 5, Fedora 9, Ubuntu Hardy, Drupal Content Management, Joomla Content Management, MediaWiki, SugarCRM, and WordPress. Enjoy!

Continue reading Part II for the 64-bit version with DAHDI conferencing...


Enhanced Google Maps. In case you haven't noticed, we've added yet another Google Map to Nerd Vittles. Now, in addition to showing our location with Google Latitude, we also are displaying your location based upon your IP address. We'll show you how to add something similar to any LAMP-based Linux system in coming weeks. It's a powerful technology that has enormous potential. If you're unfamiliar with Google Maps, click on the Hybrid and Satellite buttons and then check out the scaling and navigation options. Double-click to zoom. Incredible!


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.



Need help with Asterisk? Visit the PBX in a Flash Forum.
Or Try the New, Free PBX in a Flash Conference Bridge.


 

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. Be very careful choosing Intel processors. Even some high-end processors do not support Intel Virtualization Technology. Here's the official list. []
  2. And here is a useful reference for AMD-compatible processors. The AMD WIKI provides the following list of AMD-V compatible processors: "AMD's x86 virtualization extension to the 64-bit x86 architecture is named AMD Virtualization, also known by the abbreviation AMD-V, and is sometimes referred to by the code name 'Pacifica'. AMD processors using Socket AM2, Socket S1, and Socket F include AMD Virtualization support. AMD Virtualization is also supported by release two (8200, 2200 and 1200 series) of the Opteron processors. The third generation (8300 and 2300 series of Opteron processors) will see an update in virtualization technology..." []