Home » Posts tagged 'android' (Page 3)

Tag Archives: android

The Most Versatile VoIP Provider: FREE PORTING

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…


VoIP Prioritizing The World’s Best Traveling Phone

photo courtesy of skitch.com image sharing service

We follow a lot of really smart geeks on Twitter. As you might imagine, there’s a good bit of chatter about the world’s best cellphones. About half are die-hard iPhone users, and the rest are all over the map. Our iPhone is now a glorified iPod and, when you finish reading today, you’ll understand why.

What always has set Macs apart from PCs in our humble opinion is flexibility. So why is it that Apple has gone out of its way to strip that feature from the iPhone? Well, we all know the answer. AT&T and the iTunes Store. Or in a word, money. So what’s missing? For openers, there’s no tethering, the ability to connect your PC to your cellphone when the power goes out so you can send an emergency message or check on your servers at work. And then there’s free calling: the ability to place free SIP calls or Google Voice calls using your cellphone from almost anywhere. And then there’s the money thing. If you’ve traveled to foreign countries with an AT&T-powered iPhone, we don’t have to finish this story. For everyone else, let’s just say the cost of using your iPhone in a foreign country or on a cruise ship is stratospheric.

We’ve watched our friends and colleagues purchase all sorts of add-on gizmos to make up for the shortcomings in the iPhone. These have included secondary cellphones and more recently the MiFi devices which let you pay one of the companies in the American cellphone oligopoly another $60++ per month to tether your notebook and netbook to the cellular data network. Let’s get this straight. We pay a cellphone provider for an unlimited data plan as part of our service, but to transmit data to or from our PC through the plan, add another $60 a month for another data plan with a bandwidth cap. Huh? This is for a service that most of us use intermittently and would prefer to never use because of the lousy performance. Here’s our #1 traveling rule. Never stay in a hotel that doesn’t have WiFi, period. Why would you? The one next door has it!

So let’s go about this by the book… with a requirements analysis first! 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. Good luck with that one! We also want to be able to check our email using POP3 or IMAP servers. And, 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. 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. And the music, camera, and GPS functionality would be nice-to-haves on a phone.

Is this so hard? Well, if you’re in the United States and you’re planning to purchase a phone through Sprint, T-Mobile, AT&T, or Verizon to get one of those sign-away-your-life phone discounts, the answer is IMPOSSIBLE! And, to those that are chomping at the bit to tell us how they’ve accomplished some of these miracles with their hacked iPhone, let me just remind you that Apple considers it a national security threat to hack your iPhone thus explaining why Apple also considers it honorable to brick your hacked iPhone at any time despite the fact that you paid for it. Ask yourself if you really want to invest your cellphone dollars with a company spewing forth this kind of bullshit stuff.

And the answer is…

The unlocked U.S. version of the Nokia E71 costs $289.99 at NewEgg, and it’s worth every penny. We’ve been using ours all day, every day for the better part of a year. We’re not going to do a full review of the phone when there’s already an excellent one out there. Start with the allaboutsymbian review and then pick up again here. What isn’t covered in that review is the critical component that we believe sets this phone apart from everything else out there: incredibly simple SIP connectivity and VoIP setup with an Asterisk server because of the native SIP stack and SIP client which is built into the E71’s firmware. And, as you will soon discover, this transforms the E71 into the perfect traveling companion because it makes the E71 just another telephone extension on your home office Asterisk PBX. If secure communications matters, there’s VPN support as well.

Implementing Incoming VoIP Prioritization. Here’s how we’ve set up connectivity to our E71. First, create an extension on your Asterisk server that will be dedicated to remote SIP access from your E71. Let’s use extension 371 in this example. Give it a very secure password because the IP address of your E71 will change as you move from place to place so we can’t really lock down the extension with anything other than a secure password, or you won’t be able to connect. Next, create another extension (372) and forward all incoming calls to that extension to the regular phone number of your E71, i.e. the one provided by your cellphone provider. Then create a Ring Group on your Asterisk server (373) and set up 371 as the only number in the ring group extension list. For the destination if no answer, choose extension 372. Finally, set up your Google Voice number with a destination extension that forwards calls to ring group 373. So the way this will work is that incoming calls to your Google Voice number will ring the SIP connection on your E71 (371) if your E71 is registered to your Asterisk server via SIP. And, when it’s not registered, the calls will be forwarded to the regular phone number of your E71 (372) without any delay since extension 371 isn’t registered with your server. If you get in the habit of searching for WiFi wherever you happen to light and connecting back to your Asterisk server, (as you’ll see, this is a one-click operation), then you’ll have dirt-cheap remote cellphone service on your E71 almost all of the time. And, if you travel to foreign countries, it means that any time your E71 is registered with a WiFi HotSpot, all incoming calls will be free instead of costing an arm-and-a-leg in per minute international roaming fees.

SIP Setup for Nokia E71. John Rogers over at geek.com has written an excellent piece with lots of pretty pictures to show you how to configure your E71 with Asterisk. Rather than reinvent the wheel, here’s the link. It only takes a couple of minutes. We do have a few tips to get you started on the right foot. Make certain that the IP address you enter for your Asterisk server is the public IP address or fully-qualified domain name for your server, not the private IP address inside your firewall. As you roam from one WiFi network to the next, the E71 will automatically configure the phone for the new networks as soon as you choose WLAN Scanning, select a WiFi network, and choose to Connect to your Asterisk server. This is performed from the default screen on your phone so there’s no wading through layer upon layer of menus. After linking and unlinking to different networks about a dozen times, we have found it’s a good idea to shut down the phone, remove the battery momentarily, and then restart the phone. It keeps awkward connect problems from ever occurring. To enable VoIP Prioritization for outbound calling, all you have to do is change one default setting on the Nokia E71: Menu, Tools, Settings, Phone, Call, Default Call Type: Internet Call.

Depending upon your choice of router, using the public IP address of your Asterisk server may cause connectivity issues when you attempt to make a connection through the same WiFi network on which your Asterisk server resides. You can solve this by investing in one of dLink’s Gaming Routers which also provide the necessary tools to prioritize VoIP traffic on your network. Second, make sure you load the latest Nokia firmware for the E71 before you begin configuring your phone. You can check which firmware is installed on your phone by pressing *#0000#. If it’s less than 200.21.118, you need to upgrade, and you’ll need a Windows machine to do it. Here’s the link to Nokia’s upgrade site.

Where To Go From Here. Once you have your E71 performing as a remote Asterisk extension, there are some other must-have’s for your phone. First, you’ll want to purchase JoikuSpot Premium for 15.00€ (about $20). It turns your phone into a WiFi HotSpot whenever you need tethering. Next you’ll want to load Nokia’s OVI store which includes a number of free downloads including Internet Radio, Fring, Nimbuzz, and Web Server. With the web server, you can actually create a blog and let visitors share photos and take pictures using your E71. Try ours to get a taste of what’s available. We think you’ll also find Google Latitude to be a fascinating addition. It lets you produce a free, GPS-enabled map with your current location just like Where In the World Is Nerd Uno. In fact, that map is produced from GPS data generated on our Nokia E71.

A Word of Caution. Finally, we’ll close on a cautionary note. Tempting as it may be to buy Nokia’s latest and greatest cellphone, DON’T! Nokia quietly has dropped the native SIP stack and SIP client on almost all of its newest cellphones presumably to win the love and affection of companies like AT&T. These are the same companies that continue to claim in FCC filings that they have nothing against VoIP on cellphones. The list of VoIP-impaired Nokia cellphones includes the N97 as well as the AT&T-branded E71x. Nokia also has been less than clear about the new N900. Historically, this has meant that SIP functionality has disappeared. So beware of shiny new things… that may not work worth a damn. It’s too bad. Nokia was one of our favorite companies, but it looks like they’re ceding the VoIP technology business to Google’s Android which happens to be next on the Nerd Vittles Radar. Here’s a complete list of Nokia’s SIP-compatible phones. Enjoy!


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…

The Wedding Is On: Asterisk and Google Voice Tie the Knot

Lips from Google Well, it was another painful week on the Google Voice front for Asterisk® lovers. We would hasten to add that none of the pain was induced by Google. This time around it was Gizmo5 initiating the daily gear shifting. What started out last Monday as a free, unlimited Google Voice service quickly morphed into a 20 minute call, and then a 3 minute call, and then 2¢ per minute for Google Voice calls. No notice to the early adopters, of course. So they'd only learn about all of this when the funds in their Gizmo5 accounts were exhausted. Ouch! We have gotten an explanation from Michael Robertson at Gizmo5 as have others. But we're not in a position to verify any of the information so we're not inclined to just pass it on again. Burn me once, shame on you. Burn be twice, shame on me.

So let's turn the page today. There were security issues with the Gizmo5 solution last week, and you can read all about it in last week's article if you're interested. Suffice it to say, it appears there was no business relationship between Google and Gizmo5 so it was a really bad idea to be providing your gMail credentials to Gizmo5 since they also are tied to Google Checkout and other Google services.

Aug. 4 Update: The solution outlined below works reliably. But it has a couple of limitations which have been alluded to in the comments. Specifically, there is not a simple way to terminate a call to either an answering machine or an unanswered call. In addition, two dedicated DIDs are required to get inbound and outbound calls working through Google Voice. Based upon user suggestions and a few new tricks of our own, we now have a tweaked solution that requires only a single DID and that properly terminates calls when either party hangs up. Please read the updated article here. Our apologies... recalling the Wild West adage: "Pioneers are the ones with the arrows in their backs."

Today's solution is much more secure. Your Google Voice credentials are stored on your Asterisk server and are only used to make HTTP requests to Google Voice to initiate calls. If you're just getting started with Google Voice, be aware that you do not have to use your gMail address to set up your Google Voice account, but it's a good idea particularly if you plan to use other Google services. For example, if you get an Android cellphone (as we did last week), the entire phone setup is configured around your gMail address and password. And, to integrate Google Voice into the phone, you need a gMail address that's tied to your Google Voice account. Once you make that link, all U.S. calls on your Android phone are free if they're routed out through Google Voice. Very slick!

Let's get down to business now. We promised you a secure Google Voice interface to Asterisk this week, and we've got it. As this is written, the only restrictions on use to make free U.S. calls are those set forth in the Google Voice Terms of Service. When we're finished today, you'll be able to pick up any Asterisk phone and dial GV-678-123-4567 to make a free call to anywhere in the United States and Canada. The call will go directly from your Asterisk server, through Google Voice, to the destination number you specify. In short, there is no intermediary in completing the calls. Google obviously can change the terms of service but, until they do, you should have a stable and free provider for making and receiving calls within the United States.

Special Thanks. At the outset, we want to express our sincere appreciation to Jacob Feisley and Paul Marks for their pioneering work on a Python interface to Google Voice. We also stumbled upon another Python development project, Google Voice for Python. While we originally had planned to rely upon Jacob and Paul's script, we ultimately decided to implement pygooglevoice because of the additional flexibility it provided for down the road. With pygooglevoice, you not only can make Google Voice calls, but you also can send SMS messages with no muss or fuss. Jacob Feisley has now joined that project as well. So, our special tip of the hat goes to the entire Google Voice for Python development team. It's a terrific product as you will see.

Prerequisites. Today's setup requires a CentOS-based Asterisk aggregation with a current version of FreePBX. Be aware that today's solution requires Python 2.4 and reportedly will not work with Python 2.5 found in some Linux distributions. We've tested everything with PBX in a Flash and, on that platform, you're good to go. The install script should work equally well with the other CentOS-based Asterisk aggregations, but we haven't tested them. Be our guest, and let us know if you encounter any problems. Finally, a word of caution. We don't ordinarily distribute solutions using development tools we don't use. Our knowledge of Python wouldn't fill a thimble. We've made an exception today because of the extraordinary interest in Google Voice by the Asterisk community. But, if something comes unglued, we can't fix it. So have a backup plan in place just in case. 🙂

Today's New Design. Here's the new design. You obviously still need a free Google Voice account. If you don't have one, you can request an invite here. At last report, it's only taking about a week from application to invite which is really great news! Once you have a Google Voice account and phone number (Google has reserved a million of them so... not to worry!), then we'll set up a couple of forwarding phone numbers in your Google Voice account. You aren't actually going to use one of them, but it does have to be registered as one of your GV forwarding numbers. We'll explain in a minute. Unlike the previous SIP approach, you no longer have to configure your Google Voice account to forward all incoming calls to voicemail. As you may recall, this allowed you to call your Google Voice number and press a few keys to make an outbound call instead of listening to your voicemails. The new Python approach simulates the Google Voice click-to-dial web interface to place calls so it won't disturb the normal use of your Google Voice phone number. But you need a RingBack number for the calls.

With a little dialplan voodoo and pygooglevoice, we'll tell Asterisk to place a click-to-dial call using one of your Google Voice forwarding numbers. Then we'll stuff in the destination U.S. phone number. When you dial GV-678-1234567 from any of your Asterisk phones, Asterisk will connect both your extension and the called party to an Asterisk MeetMe Conference where you can chat as long as you like. The entire procedure is totally transparent both to the caller and the callee. And the sound quality is still great.

To use Asterisk for inbound calls through Google Voice, you can designate a second forwarding number in Google Voice that connects to one or more extensions on your Asterisk system. All you really need for this is any DID, but you'll need separate DIDs to handle inbound and outbound calls. We'd recommend free IPkall and SIPgate DIDs. For outbound calls, we'll point one of your DIDs that's registered with Google Voice to a special Google Voice MeetMe conference line on your PBX. For inbound calls, point the other DID registered with Google Voice to an extension or ring group on your Asterisk server. Since all of these calls are free, the area code of the two DIDs really doesn't matter because you're never going to publish the fact that they exist.

Update: See the comments to this article for a one-DID solution that can handle both inbound and outbound calls.

To get everything working today, there are four steps: (1) configuring two Google Voice forwarding numbers to manage your outbound and inbound calls, (2) configuring FreePBX to route all outbound calls with a GV prefix to your special Google Voice dialplan context, (3) setting up a reserved MeetMe conference to manage your outbound Google Voice calls, and (4) running our install script which adds the dialplan code for Google Voice outbound dialing with your credentials and puts the Python application into place on your server. It sounds more complicated than it is. So hang on to your hat. Here we go!

Getting Two DIDs. Before you can use Google Voice with Asterisk, you'll need a couple of DIDs. As we indicated, we'll use one of the DIDs to handle the GV RingBack process when it places outbound calls. The other DID will be used to route incoming calls from Google Voice to your Asterisk server when people call your GV number. To get started, use the links above to obtain and configure the two DIDs. Then point each of them to an extension on your Asterisk system that can be used to verify your requests for the numbers.

The easiest method for setting these DIDs up is to create SIP URIs for the two DIDs on your Asterisk system. Then point each DID to a separate SIP URI on your server. Route each SIP URI to an Inbound Route in FreePBX where you can manage the destination for that DID's calls.

HINT: The entry in extensions_override_freepbx.conf would look something like this for a SIP URI called ipkall-1:

exten => ipkall-1,1,Goto(from-trunk,${DID},1)

Then you would create an inbound route named ipkall-1 using FreePBX and designate some existing extension on your server as the destination for these inbound calls.

When you set up the SIP forwarding for the DID at ipkall.com, you'd specify the SIP URI as:

ipkall-1@ipaddress_of_your-Asterisk_server

We've previously covered in detail how to do this so read the article if you need a refresher course. To reiterate, the area codes of these DIDs really don't matter because you're never going to give out either number. So use the free sources and save yourself some money. The real trick is you want to use DIDs with unlimited, free inbound calls. Both IPkall and SIPgate provide that functionality at no cost.

Google Voice Setup. Log into your Google Voice account and click Settings, Phones, Add Another Phone. Add the area code and phone number of both DIDs: the RingBack DID for outbound calls and the Destination DID for incoming calls. Remember, you'll need to be sure both DIDs are pointed to extensions on your PBX that you can answer since you have to go through Google's confirmation drill to successfully register each number. After the RingBack DID is confirmed, be sure you uncheck this Google Voice destination. You do not want incoming Google Voice calls routed to this DID because it is going to land in a MeetMe conference on your Asterisk system. We're only setting it up as a destination number in Google Voice so that we can use it for click-to-dial ringbacks.

The RingBack DID will ring whenever you place a GV-routed Outbound Call from any phone on your Asterisk system. Remember, we're using click-to-dial technology to make these calls. You just won't see it. So, once this DID has been set up in Google Voice and you've confirmed that it works, we're going to alter the destination of this DID's inbound route and redirect it to a dedicated MeetMe conference number to manage these calls. Whenever you place an outbound call through Google Voice, pygooglevoice will initiate the click-to-dial process and then our dialplan code will transfer both the caller and the called party to the same dedicated MeetMe conference. When the other party answers, you both can begin talking. The MeetMe conference will be transparent to both parties except you'll get music on hold if either party hangs up.

Integrating Google Voice into Asterisk and FreePBX. This setup lets you place a call through Google Voice from any Asterisk phone by dialing the GV prefix plus a 10-digit number. So, to place a call to President Obama in Washington through Google Voice, you'd dial 48-202-456-1111.

First, open FreePBX with a web browser and choose Setup, Trunks, Add Custom Trunk. Insert the following Custom Dial String on the form and Submit Changes and reload the dialplan:

local/$OUTNUM$@custom-gv

Next, choose Setup, Outbound Routes, Add Route and fill in the following entries on the form:


Route Name: GoogleVoice
Dial Pattern: 48|NXXNXXXXXX
Trunk Seq: local/$OUTNUM$@custom-gv

Next, choose Admin, Setup, Conferences, Add Conference. For the conference number, make up an obscure 5-digit number. Name the conference GV. Leave both PINs blank. For Conference Options, use the following. Once you've completed all of the entries, click Submit Changes and then reload your dialplan.

  • Join Message: None
  • Leader Wait: No
  • Quiet Mode: Yes
  • User Count: No
  • User join/leave: No
  • Music on Hold: Yes
  • Allow Menu: No
  • Record Conference: No

Finally, for the inbound route of the DID that will handle the RingBacks, change the inbound route destination for this DID to the MeetMe conference number you created above.

Save your changes and reload the Asterisk dial plan one more time to complete the setup.

Integrating pygooglevoice. Now we're ready to complete the setup by running our little script which loads pygooglevoice and sets up your dialplan in extensions_custom.conf. You'll need 4 pieces of information to run the script so write them down before you begin:

1. Your Google Voice email address
2. Your Google Voice password
3. Your 11-digit RingBack DID (16781234567)
4. MeetMe Conference Number for Outbound Calls

A word of caution: If you used a gMail address to set up your Google Voice account, it's possible to have different gMail and Google Voice passwords. For this to work, you'll need to enter your gMail password, not your Google Voice password (assuming they're different).

Now log into your Asterisk server as root and issue the following commands:

cd /root
wget http://bestof.nerdvittles.com/applications/gv/install-gv
chmod +x install-gv
./install-gv

Google Voice Speed Dials. For frequently called numbers, you can add speed dials by inserting entries in the [from-internal-custom] context of extensions_custom.conf that look like the example below where 333 is the speed dial number and 6781234567 is the area code and number to call. Be sure to reload your Asterisk dialplan to activate them.

exten => 333,1,Dial(local/6781234567@custom-gv,300)

Congratulations! You now have free U.S. calling on your Asterisk system using Google Voice with no gimmicks and no strings. Enjoy!

If you happen to be running Asterisk 1.6, there's a simpler way to bridge your calls together without using the MeetMe conferencing trick. See this message thread in the PBX in a Flash Forum for details.

Finally, a word of caution. This transparent call design obviously only works for a single call at a time. There are no safeguards to prevent multiple calls, but that may violate the Google Voice terms of service anyway. And, even if Google Voice put the second call through, the end result would be that all four of you (2 callers + 2 destinations) would end up in the same conference. So much for privacy.



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