Posts tagged: twitter

Adventures in Twitterland: You Can’t Make This Stuff Up

Today is Twitter’s Coming Out Party with what could be 2013′s Biggest IPO. By the closing bell today, the U.S. probably will have a couple new billionaires. As one commenter on USA Today’s site noted, “I can’t get into the IPO. I’m too busy tweeting.” Unfortunately, we’re not.

Having just returned from a quick visit to New York earlier this week, we were greeted by the following message when we logged into our Twitter account:

Why is my account suspended? Well, it could be that you’ve violated “The Twitter Rules” or maybe Twitter suspects that your account was hacked or compromised. I’m reminded of the old playground adage: It’s For Me To Know and You to Find Out. Urban Dictionary has an interesting take on what that really means.

Imagine if you will that you’re walking down the street in your favorite town minding your own business when a cop grabs you by the collar and says, “You’re under arrest.” The natural inclination would be to ask why. Rather than tell you, the police officer hands you a copy of the municipal code with the admonition that you can always appeal.

Welcome to The World According to Twitter. Here you are assumed to know what you did wrong. And, if you don’t like the consequences, you can file “an appeal” after reading “The Rules”. All of that, of course, is perfectly fine if you actually broke “The Rules” and know what you did. Joseph Heller couldn’t have made this up. If you’ve read Catch 22, you’ll recall that “the term was introduced by Doc Daneeka, an army psychiatrist who invokes ‘Catch 22′ to explain why any pilot requesting mental evaluation for insanity — hoping to be found not sane enough to fly and thereby escape dangerous missions [during World War II] — demonstrates his own sanity in making the request and thus cannot be declared insane.”

We, of course, use Twitter for fun and to support our open source projects so there’s no financial hardship from Twitter’s antics while we endure “the appellate process.” But, put yourself in the position of a business person with thousands of followers and suppose you actually used Twitter to announce new products and merchandise sales. Don’t!

As you can see from the screenshot above, all of a sudden you have 0 Followers. So your entire business model is basically down the toilet at the sole discretion of Twitter. In case you’re curious, no, we haven’t violated any of Twitter’s rules. We still used to send a couple of tweets a day as we have since opening our account years ago. Has our account been hacked? Obviously not. We still can get into it, and there are no tweets from us offering you a million bucks for managing some African prince’s business affairs.

In becoming a public company today, one would hope this situation will be addressed. But then I’m reminded of our Comcast adventures and some of the horror stories you hear about Facebook, and it’s probably safe to conclude that the Borg was probably right: “Resistance is futile.” We’ve been patiently waiting 2 days for “our appeal” to be processed. We’ll let you know if we ever hear anything further. In the meantime, I’d hold off on that Twitter stock purchase.

If you happen to have a (working) Twitter account, do us and your friends a favor. Send a tweet to your followers about this article by clicking on the link below. Happy Tweeting!

1 p.m. Update. Surprise! Well, we’re back… kinda, sorta. Twitter let us out of jail but kept our pants and car keys. Following = 0, Followers = 0. No call. No email. Not even a tweet. Love means never having to say you’re sorry. Nice!

2:30 p.m. Update. Pants and car keys returned. Thanks a billion, Twitter. You’re the best.

Originally published: Thursday, November 7, 2013

The Perfect Valentine: $149 Android + $25 Virgin Mobile Plan

LG Optimus VJust when AT&T and Verizon thought they’d suckered everyone on the planet into paying $100 a month for 24 months to get a functional cellphone with either an iPhone or Android phone, along comes a breath of fresh air. Close your eyes and try to picture Google’s Nexus One paired with a $25 3G cellphone plan with unlimited data, unlimited messaging and 300 minutes a month. Did we mention NO CONTRACT? Flash support? Nope.1 But tethering is possible for talented geeks and nerds as well. For those that don’t spend their whole life yacking on a telephone, this combination hits the sweet spot. It’s especially appealing for both the older generation who need the security of a cellphone but rarely use it and those under 25 that seldom converse other than in sparkling text messages.

With the addition of the free CSipSimple app from the Android Market, you can place SIP calls through your favorite SIP provider or PBX in a Flash server for little or no cost using either a WiFi or 3G data connection. Or you can use the free OBiTalk for Android app in conjunction with a $49 OBi device we previously reviewed to make free Google Voice calls in the U.S. and Canada.

First, the bad news. It’s not a Nexus One. And now the good news. It’s even better. It’s LG’s new $149 Optimus V for Virgin Mobile. Yes, it weighs an ounce more and is perhaps a few millimeters thicker than a Nexus One, but in return you get Android Froyo 2.2. Aside from that, the phones are virtually identical: beautiful screen, quality feel, 3.2 megapixel camera, Facebook, Twitter, full integration of Google Apps including Google Market, Gmail, Google Voice, Maps, Latitude, Voice-Enabled Navigation with GPS, WiFi, Bluetooth (cell phone and audio pairing finally work reliably in Froyo!), and 3G service on Sprint’s rock-solid nationwide network. The phone is rated at 6 hours talk time and 168 hours standby… and it can be rooted in a couple of minutes if you hurry. The phones went on sale this week at Best Buy, Radio Shack, and other Virgin Mobile retailers. But they won’t last long at least without a patch to close the rooting door. So, yes, it is the Perfect Valentine’s Day gift. Stop reading and start calling until you find one. They’re that good, and they’re available on line as well. Best Buy currently has them for $129.99. Be sure to check out the Comments to this article for late-breaking discounts.

Virgin Mobile actually offers three cellphone plans for the Optimus V. All are contract-free! And all include unlimited messaging, email, data and web services. The only difference is in the cellphone minutes per month. $25 a month gets you 300 minutes. $40 gets you 1200 minutes. And $60 gets you unlimited minutes. The signup process only takes a couple of minutes, and you have the option of recurring billing by credit card only if you choose it. Unlike AT&T and Verizon, international calling is downright reasonable. The big cities in Mexico are 2¢ a minute, most of Europe is 25¢ and other countries are all over the map (literally). Pakistan, for example, is 5¢. So there are no gotchas, at least that we could find.

Once the phone is enabled, you’ll want to hurry over to the Android Central Forum which will walk you through rooting the phone using your favorite Windows machine. The only trick is finding the Windows USB drivers for LG phones. HINT: Look here. Once you get Sun’s JRE and the Android SDK installed, SuperOneClick handles the heavy lifting in a few seconds. Once the phone is rooted, you can download SuperUser, TitaniumBackup, and Barnacle WiFi Tethering from the Google Market. The only trick to Barnacle is to choose Skip wpa_supplicant in Settings. Finally, you’ll want to disable over-the-air (OTA) updates so that the provider doesn’t mess up your perfect phone down the road. Here’s how. Renaming the keys file is all that is required, and the easiest way to do it is using Root Explorer (available in the Google Market for a couple bucks) which is money well spent. Happy Valentine’s Day to all. We’ve listed a few of our favorite Android apps below to get your started. Enjoy!


Originally published: Friday, February 11, 2011


Need help with Asterisk®? Visit the PBX in a Flash Forum or Wiki.
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.


 
New Vitelity Special. Vitelity has generously offered a new discount for PBX in a Flash users. You now can get an almost half-price DID and 60 free minutes from our special Vitelity sign-up link. If you’re seeking the best flexibility in choosing an area code and phone number plus the lowest entry level pricing plus high quality calls, then Vitelity is the hands-down winner. Vitelity provides Tier A DID inbound service in over 3,000 rate centers throughout the US and Canada. And, when you use our special link to sign up, the Nerd Vittles and PBX in a Flash projects get a few shekels down the road while you get an incredible signup deal as well. The going rate for Vitelity’s DID service is $7.95 a month which includes up to 4,000 incoming minutes on two simultaneous channels with terminations priced at 1.45¢ per minute. Not any more! For PBX in a Flash users, here’s a deal you can’t (and shouldn’t) refuse! Sign up now, and you can purchase a Tier A DID with unlimited incoming calls for just $3.99 a month and you get a free hour of outbound calling to test out their call quality. To check availability of local numbers and tiers of service from Vitelity, click here. Do not use this link to order your DIDs, or you won’t get the special pricing! After the free hour of outbound calling, Vitelity’s rate is just 1.44¢ per minute for outbound calls in the U.S. There is a $35 prepay when you sign up. This covers future usage and any balance is fully refundable if you decide to discontinue service with Vitelity.
 


Some Recent Nerd Vittles Articles of Interest…

  1. Incompatible processor precludes Flash. Sorry. []

TweedleD Back From the Dead Using Twitter OAuth

Twitter Direct Messages and SMS Instant Messages are great ways to send yourself important notes that you want to keep track of… privately. Today, we’ll restore TweedleD to the living and let you harness the power of Twitter and SMS to announce every call on your Asterisk® server with the name and number of the caller as well as the DID of the incoming call.

If you’re one of the gazillion handful of folks using one of our Twitter applications, then you awakened to an unpleasant surprise earlier this morning. Neither Tweet2Dial nor TweedleD would connect to Twitter! That meant you could no longer use Twitter to place Google Voice calls, to send Google Voice SMS messages, or to manage your Asterisk server. Nor could you send yourself direct messages when new incoming calls hit your Asterisk server. Unfortunately (for us), the Twitter folks have discontinued use of basic authentication to log into and use Twitter’s API. Instead, you now must use the more secure (and more complicated) OAuth authentication mechanism. Actually, this is a good thing in the grand scheme of things because it means you no longer have to give out your actual Twitter account name and password to anyone. So let’s move on to how to put Humpty back together again.

We’ve actually been wrestling with this a good long while. The basic problem is generating the necessary new credentials for use on servers that are tucked safely behind hardware-based firewalls. Without getting too deep in the weeds, here’s the drill. To use OAuth, you basically need two sets of credentials. First, you need your own (not ours!) application-specific credentials known in the Twitterverse as your consumer key and consumer secret. These are generated by Twitter and normally hide inside your application. They are never made public. You also need an access_token and access_secret. But these can only be obtained once Twitter generates a request_token that is passed back to your application. There’s also a request_token_secret that is used by Twitter to verify that you are who you say you are before the access_token and access_secret are provided. If this sounds complicated, you’d be right. Now add the fact that our particular Twitter apps are sitting behind a firewall on your server, and you can begin to appreciate why OAuth complicates things with apps running on private networks.

So here’s the deal. To use the new OAuth-compatible versions of Tweet2Dial and TweedleD, you’ll need four pieces of information for each of these applications: a consumer_key, consumer_secret, access_token, and access_token_secret. Because the two applications typically use two different Twitter accounts, you cannot interchange these four pieces.

The traditional procedure for getting these four pieces of data works like this. First, you go to the Twitter apps web site and register each application while logged into your Twitter account that will host the application. For each app, you must specify the following. In return, Twitter will provide a consumer_key and consumer_secret for the application.

  • Application Name
  • Description
  • Application Web Site
  • Organization
  • Web Site
  • Application Type
  • Callback URL
  • Default Access Type
  • Use Twitter for Login?

Second, you must create an application on the public web to log into Twitter using your new credentials. This log in process will produce the remaining pieces necessary to generate an access_token and access_token_secret specifically for you. Can you do all of this? Obviously, only you can answer that question, and here’s the best guide we’ve found to walk you through the process. Suffice it to say, unless you are a seasoned programmer, it’s a hairy procedure with lots of opportunities for disaster. But be our guest and try your hand at it.

What’s Plan B? The alternative to Step #2 above is to log into a special web site we’ve created to generate the necessary credentials for you. But this means you have to provide (and trust us not to store or use) your consumer key and consumer secret. You also don’t want someone looking over your shoulder while you’re obtaining the remaining credentials. Unfortunately, without your consumer key and consumer secret, we can’t obtain an access_token and access_token_secret for you. And without those, nothing works.

To get started, you’ll need to register your new application with Twitter. For this to work, the Application Web Site address and Application Callback URL in Step #1 need to point to our web site, not yours. Once you get the secret codes, you can change the web links for your application to any fake address you care to make up. Just don’t delete the Twitter app you’ve created.

If it makes you sleep any better, this isn’t your bank account we’re talking about, it’s a specific Twitter application, one that we happened to write for you. So, if you like Plan B and you’re comfortable with our assurance that none of your confidential keys or passwords are being harvested, continue reading. Otherwise, use your own devices for getting the four necessary credentials. Then you can download the new OAuth-compatible version of TweedleD, and you’re off to the races.

Today we’re going to tackle TweedleD and get it back in operation. In coming weeks, we’ll tackle Tweet2Dial as well.

TweedleD Setup. Let’s begin with TweedleD which lets you send Twitter DMs and SMS alerts to announce every incoming call on your Asterisk server. This tutorial assumes you previously have installed the original version of TweedleD. If not, start there. Now let’s proceed. First, you’ll need to register the application with Twitter.

Step #1 is to use a browser to log into the Twitter account that you plan to use to generate the Direct Messages. If you can’t remember which Twitter account you used to originally set this application up, log into your Asterisk server as root and find the $username entry near the top of nv-twitter.php in the /var/lib/asterisk/agi-bin directory. Your password for this Twitter account will be there as well.

Step #2 is to open a new tab with your browser and visit Twitter apps. Choose the Register a New Application option and fill out the form like this:

  • Application Icon: Your choice
  • Application Name: TweedleD
  • Description: Asterisk Incoming Call Announcer
  • Application Web Site: http://pbxinaflash.com/oauth/index.php
  • Organization: Your Name or Company Name
  • Web Site: http://anything-you-like.com
  • Application Type: Browser
  • Callback URL: http://pbxinaflash.com/oauth/callback.php
  • Default Access Type: Read & Write
  • Use Twitter for Login: Leave unchecked

Click the Save button once you’ve entered all the data and completed the Captcha code. Once your app is registered, call it up and write down your Consumer key and Consumer secret. By the way, if these ever get compromised, you can generate new ones. But it means you’ll have to repeat the rest of this exercise since the other credentials will change as well.

Step #3 is to visit our OAuth Credentials Generator web site using your browser. Now plug in your Consumer key and Consumer secret. Then fill out the Captcha code and click the Submit button. If you got the Captcha code right, you’ll see your entries redisplayed with an option to Login with Twitter. Just click on the link, sign in to Twitter if you’re not already signed in, and click the Allow button when prompted whether to Allow TweedleD access to your new web site. If you get some funky error message from Twitter, then you didn’t enter your Consumer key and secret correctly. Try again. Otherwise, you’ll then get a screen that displays some information about your Twitter account as well as your new Access Token and Secret. Write these down, too.

Access Token: 32438037iO5cYUq4h0BJD4Z6Un5phaZHZ2zJ4P4LQ2t6TX8fpU

Access Secret: PQrhUlM9nnJwIrYCNTF07ai3vlXgMD3uf3qmmWJp6o

Step #4 is to download and install the new TweedleD application. Log into your Asterisk server as root and issue the following commands:

cd /
wget http://bestof.nerdvittles.com/applications/TweedleD2.tgz
tar zxvf TweedleD2.tgz
rm TweedleD2.tgz
cd /var/lib/asterisk/agi-bin
nano -w nv-twitter.php

Step #5 is to configure TweedleD for use using your new Twitter credentials and your SMS email address. You’ll also need to choose whether to activate tweets, SMS messages, or both by setting $tweet and $sms to 1 if you want either or both of them activated.

If you’re activating Twitter, set $tweet=1 and fill in the 4 credentials that you wrote down previously: $consumer_key, $consumer_secret, $access_token, and $access_token_secret. In the $user4msg option, enter the Twitter account name to which the direct messages should be sent.

To activate SMS messaging as well, set $sms=1 and enter your SMS email address in the $smsaddress field using one of the examples provided.

Save the file, and you’re ready to try things out. Just make a call to your Asterisk server and the Twitter message announcing the call should arrive shortly thereafter. For syntax on other Twitter API calls, see the Twitter API Documentation. Enjoy!




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.


 
New Vitelity Special. Vitelity has generously offered a new discount for PBX in a Flash users. You now can get an almost half-price DID and 60 free minutes from our special Vitelity sign-up link. If you’re seeking the best flexibility in choosing an area code and phone number plus the lowest entry level pricing plus high quality calls, then Vitelity is the hands-down winner. Vitelity provides Tier A DID inbound service in over 3,000 rate centers throughout the US and Canada. And, when you use our special link to sign up, the Nerd Vittles and PBX in a Flash projects get a few shekels down the road while you get an incredible signup deal as well. The going rate for Vitelity’s DID service is $7.95 a month which includes up to 4,000 incoming minutes on two simultaneous channels with terminations priced at 1.45¢ per minute. Not any more! For PBX in a Flash users, here’s a deal you can’t (and shouldn’t) refuse! Sign up now, and you can purchase a Tier A DID with unlimited incoming calls for just $3.99 a month and you get a free hour of outbound calling to test out their call quality. To check availability of local numbers and tiers of service from Vitelity, click here. Do not use this link to order your DIDs, or you won’t get the special pricing! After the free hour of outbound calling, Vitelity’s rate is just 1.44¢ per minute for outbound calls in the U.S. There is a $35 prepay when you sign up. This covers future usage and any balance is fully refundable if you decide to discontinue service with Vitelity.
 


Some Recent Nerd Vittles Articles of Interest…

Tweet2Dial: SMS Messaging with Google Voice and Twitter

We continue our quest for convergence today by adding the missing piece to our recent Tweet2Dial application. In addition to free calls to everyone in the U.S. and Canada as well as complete management of your Asterisk® server from Twitter, today's enhancement lets you send SMS messages to any SMS device or cellphone in the U.S. and Canada using simple Twitter messages. And, best of all, Tweet2Dial is free and runs on almost any Asterisk or Linux server as well as every Mac on the planet.

Twitter already provides some basic SMS integration that allows you to use SMS messages to send tweets. You also can opt to receive some Twitter messages via SMS whenever your friends post a new Tweet. But Twitter's SMS functionality is Twitter-centric meaning that both you and your friend must be Twitter users to take advantage of the SMS enhancements. Tweet2Dial adds the missing piece so that you can send SMS messages to anyone with an SMS-capable device in the U.S. and Canada whether or not they have a Twitter account. After all, that's what convergence is all about!

If you've already installed Tweet2Dial, we'll walk you through upgrading your existing setup in this article. If you haven't previously installed Tweet2Dial, then all you need to do is read the updated, original article which now includes coverage of the SMS functionality. Keep in mind that current Twitter API call limitations still limit you to one call or SMS message or Asterisk CLI command per minute. We'll remove this limitation once Twitter expands the hourly API call restriction.

Upgrading Tweet2Dial. For those that already have installed Tweet2Dial, here are the steps to add the SMS functionality. Just log into your server as root and issue the following commands. For Mac users, there is no root account. Just open a Terminal window while logged in with the user account used to set up Tweet2Dial initially and skip the cd /root command below:

cd /root
mv tweet2dial.php tweet2dial2.php
wget http://pbxinaflash.net/source/twitter/tweet2dial.tgz
tar zxvf tweet2dial.tgz
rm tweet2dial.tgz

Now open your old Tweet2Dial application (renamed to tweet2dial2.php) and write down your existing settings. Then edit tweet2dial.php and plug your old settings back in to restore access to your Google Voice account, your Asterisk server (if desired), and your Twitter friends. That's it! You're finished.

Sending SMS Messages with Twitter. To send new SMS messages, you'll use the same scenario outlined in the original article to place free phone calls. Just send a direct message to your secondary Twitter account. Only those that you have authorized as friends can send direct messages to this account so it's as secure as you want it to be. The Twitter Direct Message syntax for an SMS message looks like this where 6781234567 is the 10-digit cellphone number or Google Voice number of the SMS recipient:

SMS:6781234567:Here is a sample SMS message

Any replies to an SMS message which you send using Twitter will be forwarded to the email address that you used to set up your Google Voice account. Enjoy!

Special Thanks. Our tip of the hat again goes to the Pygooglevoice Development Team: JEIhrig, justquick, jacob.feisley, and nagle. Without their pioneering work, there would be no Tweet2Dial, no Orgasmatron V, and no Googlified Messaging for Asterisk. Terrific code! Thank you.

Happy Birthday to Us! Well, today's the Big Day. Today marks the Fifth Birthday for Nerd Vittles. Seems like only yesterday. Thanks for putting up with us all these years! To celebrate the event, Dell has most of their entire server line on sale today for 1/2 price.




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.


 
New Vitelity Special. Vitelity has generously offered a new discount for PBX in a Flash users. You now can get an almost half-price DID and 60 free minutes from our special Vitelity sign-up link. If you're seeking the best flexibility in choosing an area code and phone number plus the lowest entry level pricing plus high quality calls, then Vitelity is the hands-down winner. Vitelity provides Tier A DID inbound service in over 3,000 rate centers throughout the US and Canada. And, when you use our special link to sign up, the Nerd Vittles and PBX in a Flash projects get a few shekels down the road while you get an incredible signup deal as well. The going rate for Vitelity's DID service is $7.95 a month which includes up to 4,000 incoming minutes on two simultaneous channels with terminations priced at 1.45¢ per minute. Not any more! For PBX in a Flash users, here's a deal you can't (and shouldn't) refuse! Sign up now, and you can purchase a Tier A DID with unlimited incoming calls for just $3.99 a month and you get a free hour of outbound calling to test out their call quality. To check availability of local numbers and tiers of service from Vitelity, click here. Do not use this link to order your DIDs, or you won't get the special pricing! After the free hour of outbound calling, Vitelity's rate is just 1.44¢ per minute for outbound calls in the U.S. There is a $35 prepay when you sign up. This covers future usage and any balance is fully refundable if you decide to discontinue service with Vitelity.
 


Some Recent Nerd Vittles Articles of Interest...

Tweet2Dial: Free Google Voice Calling & SMS with Twitter

To celebrate the New Year, it seemed only fitting to bring Google Voice calling out of the cloud and into our favorite social hangout. For our special New Year's project, we're pleased to introduce Tweet2Dial. It lets you use Twitter or your favorite Twitter client to make free outbound calls through Google Voice to anyone in the United States or Canada. Just send a Direct Message to your new Twitter account and, in less than a minute, your phone will ring connecting you to the person's phone number you specified in your Twitter message. In addition, you also can send SMS messages to anyone with an SMS-capable device in the U.S. and Canada. All of this magic is managed on your existing Asterisk® server or almost any Linux server or Mac. There's no Asterisk overhead to process the calls and SMS messages because Asterisk isn't required! But, to start 2010 off on the right foot, we've included a little bonus at the end of this article for all the Asterisk administrators in the house. If you happen to be using an Asterisk server, you now can manage it from Twitter with Tweet2Dial, too.

For those with cellphone plans that let you designate certain numbers for free, unlimited calling (such as Sprint, AT&T, Verizon, and T-Mobile), adding your Google Voice number to your preferred number list will mean that all of your Tweet2Dial-originated cellphone calls to anyone and everyone throughout the U.S. and Canada will now also be totally free with no impact on your bucket of call minutes.

Yes, we know Jajah is working on something similar for Twitter. But you have to be invited to participate in Jajah's beta (we didn't make the cut!), free calls are limited to two minutes, and both parties have to have a Twitter account which doesn't work too well for calling grandma. So why put up with all the limitations and restrictions of Jajah when you can do it yourself?

There's been some tech chatter that the procedure we've outlined below is complicated. If you can paint by number or bake cookies from the back of a Nestle's bag, trust me. You can handle this! Getting a Mac or a Linux server set up to support Tweet2Dial only takes a minute or two. So ignore the trade rags. Some of them can barely read. :-)

If you've already gone through our Google Voice tutorial which enables free Google Voice calling on your Asterisk server, or if you've installed our all-in-one Orgasmatron V build on your Asterisk server, or if you have a Mac or you've built your own Linux server without Asterisk, there's no need to wait for Jajah and no need to limit your calls to two minutes or to those with Twitter accounts! You can call anyone in the United States or Canada right now, talk as long as you like, and do it all for free with Tweet2Dial, Twitter, and Google Voice! If you're a Windows user, check out the Google Voice Dialer for Windows.

Prerequisites. To get started, you can use your Asterisk server configured for Google Voice as we've outlined above. We won't actually be using Asterisk to place the calls, but our previous tutorials get your server properly set up with Google Voice and the latest, awesomest1 pygooglevoice to support Tweet2Dial. Any of the Asterisk aggregations such as PBX in a Flash will work great.

If you don't have a PBX in a Flash server with Google Voice already configured, shame on you! Just kidding. Actually, any recent CentOS or Fedora Linux server will work just as well today. Log into your server as root. Run rpm -q python to make sure you have at least Python 2.4 installed on your system. If not, run: yum update python. Then execute the following commands:

cd /root
yum install python-setuptools
easy_install simplejson
wget http://pygooglevoice.googlecode.com/files/pygooglevoice-0.5.tar.gz
tar zxvf pygooglevoice*
cd pygooglevoice-0.5
python setup.py install

Tweet2Dial also will run just fine on any Mac of recent vintage. We've actually tested it with Snow Leopard. Basically, to get Python and Apache set up properly, you have to enable root access, switch to root user access with su in Terminal, activate PHP support in Apache, turn on Web Sharing in System Preferences->Sharing, run easy_install simplejson as root to install simplejson (the Python Setup Tools already are in place!), using a browser download pygooglevoice to your Downloads folder, untar it as root in Terminal with the same command as above, and then while still logged into Terminal as root, go to the Downloads/pygooglevoice-0.5 folder and run the following command: python setup.py install. The only variations in the Tweet2Dial setup will be the storage location for Tweet2Dial (there is no root folder on a Mac) and the methodology for setting up the crontab entry (HINT: we'll run crontab -e to add a crontab entry since there is no /etc/crontab file). Just follow along using the Mac-specific instructions below for details, and everything will work swimmingly.

To test whether your server is properly configured for Tweet2Dial, log in as root and type: gvoice. You should be prompted for an email address. If so, press Ctrl-C to exit. You're ready to roll. If not, pygooglevoice has not been properly installed on your server.

You'll obviously need a Google Voice account. Request an invite here or just post a brilliant comment below, and one might magically appear in your inbox. Configure your Google Voice account with all the phone numbers from which you want to place outbound calls. One of these numbers will already be the go-between number for Google Voice and your PBX in a Flash server (IPkall or SIPgate) if you've followed our previous tutorials. Now simply add additional numbers that you want to use to place outbound Google Voice calls. This would include numbers such as your cellphone, your vacation home, and your direct-dial office number. You do not need to enable them for ringing when inbound calls arrive on your GV number.

For today's project, you'll also need a new Twitter account even if you already have one. Why? Because you can't send a Direct Message to yourself with Twitter. So we'll use your primary Twitter account to send Direct Messages with dialing instructions to your secondary Twitter account. Then we'll use Tweet2Dial to poll your secondary account and retrieve the dialing instructions to actually place the outbound calls with pygooglevoice through your server. It sounds harder than it actually is. Honest! Assuming you already have Google Voice running on your Asterisk server, you'll be tweeting away in 10 minutes. If you have a current Linux server, add an extra 2 minutes to install pygooglevoice using the steps above.

Usage Considerations. Before someone asks, let's address Question #1. Can others send messages to my Twitter account in order to make outbound calls through my server using Google Voice? And the answer is yes and no. We're going to configure your new secondary Twitter account with Protect My Tweets enabled. This means you have to approve friends and also become their friend before they could send a Direct Message to your secondary Twitter account. So, yes, if you approve, any Twitter user could theoretically place calls using your Twitter secondary account. For the average reader, we wouldn't recommend it for a couple of reasons. Here's why.

Google Voice only lets you link a handful of phone numbers to your GV account. So, for your friends to be able to place calls using your GV credentials, you'd have to forfeit one of your allotted quota of numbers for each person... or their phone would never ring to place the outbound calls. Yours unfortunately would! Remember, Google Voice always places two calls to complete a connection: one to you (using one of the phone numbers defined in your GV account) and one to the person with whom you wish to speak.

The other reason for not opening this up to other callers is that Google Voice limits your account to one outbound call at a time. If others are using Twitter to make calls using your GV credentials, it means you can't. And there's no mechanism for easily identifying when a call already is in progress. So our recommendation is to keep your secondary Twitter account private and set up Following and Follower linkage only with your primary Twitter account. This will mean that Direct Messages to your secondary Twitter account can only originate from your primary Twitter account. You can still place outbound calls to anybody, but others can't!

Having said all of that, we've designed Tweet2Dial so that you can allow others to use your secondary Twitter account to place Google Voice calls using their own GV credentials. This saves them the aggravation of setting all of this up, but it means they have to trust you enough to share their Google Voice credentials. After all, what are friends for? :wink: At the end of this article, we'll walk you through how to do this if you really have the urge. We would hasten to add that the actual processing load on your server is virtually zero so don't be deterred by performance concerns. Pygooglevoice sends the calling instructions to Google Voice, and then your server is completely out of the call loop. We've still limited outbound call setup to one call per minute, but these calls do not have any impact on Asterisk resources and only very minimal impact on your server. The only drawback to hosting Tweet2Dial for your friends is that, if five simultaneous Twitter messages are sitting in the queue, it would mean the last call request won't be processed until about 5 minutes after the Twitter message was sent. But, unless you have a bunch of extremely chatty friends, call request congestion shouldn't be a problem.

One final word of caution. Twitter currently permits a maximum of 150 Twitter API calls per hour per account. There is some good news. Within the next few weeks, this limit will be increased to 1500 per hour, but it hasn't happened yet. This application is designed to poll your secondary Twitter account once a minute to retrieve and then discard your oldest, existing Direct Message. So it uses 120 of your allotted 150 API calls per hour to work its magic. You are well advised NOT to run any third-party Twitter applications with this secondary Twitter account, or you will quickly exceed the current connection limitation. When the API limit is reached, it means none of your pending call requests would be processed until the next hour rolls around... at least until Twitter raises this connection limit. Once Twitter raises the API limit, we may revisit our code and eliminate the current one call per minute limitation. So stay tuned!

Creating A Secondary Twitter Account. First, let's get your secondary Twitter account set up. Go to twitter.com and create a new account with a very secure password! You must enter a different email address than the one used for your primary account. Use one you can actually access! Log into your new account and choose Settings. Scroll down to Protect my tweets and check the box by clicking on it. Save your settings. NOTE: This check box is critically important. It keeps the entire world from being able to access your server! There are other layers in the security model, but this one is VERY IMPORTANT so verify it twice! Now log back into your primary account. Then goto http://twitter.com/SecondaryAccountName and request access. You'll get a message that your request for access has been sent. Log out and back into your secondary account once again. Authorize your primary account name as a Follower. Now log out and back into your Primary Account. We'll use it to send a Direct Message to your secondary account in a few minutes.

Installation and Configuration. To install Tweet2Dial, log into your server as root and issue the following commands:

cd /root
wget http://pbxinaflash.net/source/twitter/tweet2dial.tgz
tar zxvf tweet2dial.tgz
rm tweet2dial.tgz

If you're doing this on a Mac, there is no wget application and no root folder so you'll need to download tweet2dial.tgz with your browser. Save it to your Downloads folder. Then open a Terminal window and execute this command:

tar zxvf Downloads/tweet2dial.tgz

Now let's configure the application:

nano -w tweet2dial.php

At the top of the file, you'll see the following lines:

// Your SECONDARY Twitter account username and password
$username = "TwitterUsername";
$password = "TwitterPassword";

// Authorized Twitter users with corresponding GV credentials go below
$user['twitname'][1]="YourPrimaryTwitterUsername";
$user['gvemail'][1]="YourGoogleVoiceEmailAddress@gmail.com";
$user['gvpass'][1]="YourGoogleVoicePassword";
$user['gvcall'][1]="6781234567";

// *** Leave everything below this line alone. :-)

Begin by entering your secondary Twitter name and password by replacing TwitterUsername and TwitterPassword with your actual credentials. Be careful here. Capitalization matters! If you set up your Twitter username as gvNerdUno, don't enter gvnerduno! Now move down to the four $user entries. The first is your primary Twitter account name. Replace YourPrimaryTwitterUsername with your actual Twitter account name. Again be careful of capitalization! Next, enter the login email address for your Google Voice account replacing YourGoogleVoiceEmailAddress@gmail.com. Next, enter your Google Voice password replacing YourGoogleVoicePassword. Finally, enter one of the 10-digit ringback numbers you've configured in your Google Voice account by replacing 6781234567. Do NOT use the one that's reserved for use by Asterisk! This is the number that will be called by default whenever you place an outbound call with Twitter. You'll have the option of overriding it, but this saves your having to enter both a destination phone number and a callback number each time you wish to place a call. Be sure to preserve the quotes around each of the entries. Once you've double-checked all of your entries for typos, save your changes: Ctrl-X, Y, then Enter.

Tweet2Dial Test Drive. Now that everything is set up, let's place a test call to be sure everything is working. Log into your primary Twitter account. Click on Direct Messages. Choose your secondary Twitter account from the pulldown menu. In the block below Send a Direct Message, enter a 10-digit number in the U.S. or Canada that's different from your default callback number. Then click the Send button. It's that simple! Once Twitter tells you the message has been sent, log into your Asterisk server and execute the following commands.

cd /root
./tweet2dial.php

If you're on a Mac, just open a Terminal window and type ./tweet2dial.php. In either case, you should get a response indicating that your call has been placed, and your default phone number should begin to ring. When you answer it, Google Voice will place a call to the 10-digit number that you entered in your Twitter direct message above.

Now, just for fun, run Tweet2Dial again: ./tweet2dial.php. If everything is working properly, you will see the following message: Nothing to do.

Finally, assuming you have configured another callback number in Google Voice that is close at hand and not your Asterisk callback number, send another Twitter direct message with the following syntax: 8439876543:6781234567 where 8439876543 is the 10-digit number of someone you wish to call and 6781234567 is a 10-digit ringback number already set up in your Google Voice account. Once the message has been sent, run Tweet2Dial again from the command prompt.

When you're sure everything is working reliably, add the following entry to the bottom of /etc/crontab unless you're using a Mac. This will run the application once a minute around the clock looking for incoming Twitter messages:

* * * * * root /root/tweet2dial.php > /dev/null

If you're running this on a Mac, add an entry to your crontab like this. From the Terminal window, run: crontab -e. Once the vi editor opens, type:

* * * * * /users/youracct/tweet2dial.php

Substitute the name of your Mac account for youracct. Then press the Esc key followed by :wq. Check your work by typing: crontab -l. Your entry should look like this:

* * * * * /users/youracct/tweet2dial.php

Sending SMS Messages with Twitter. To send SMS messages using Twitter, you'll use the same scenario outlined above to place free phone calls. Just send a direct message to your secondary Twitter account. Only those that you have authorized as friends can send direct messages to this account so it's as secure as you want it to be. The syntax for an SMS message looks like this where 6781234567 is the cellphone or Google Voice number of the SMS recipient:

SMS:6781234567:Here is a sample SMS message

Any replies to an SMS message which you send using Twitter will be forwarded to the email address that you used to set up your Google Voice account.

For Whiz Kids Only. Now let's say you want to let your spouse use her Twitter account to place calls using her very own Google Voice credentials. First, you need to authorize her as a follower in your secondary Twitter Account. Second, you need to add a new block of code in tweet2dial.php that looks like the following. Place it immediately below the existing $user entries in the file:

$user['twitname'][2]="SpousePrimaryTwitterUsername";
$user['gvemail'][2]="SpouseGoogleVoiceEmailAddress@gmail.com";
$user['gvpass'][2]="SpouseGoogleVoicePassword";
$user['gvcall'][2]="6781234567";

// *** Leave everything below this line alone. :-)

Notice that the only change is this array subset is numbered [2] while the original was numbered [1]. You can add as many as you like so long as you increment this number and provide the credentials for each user. Now you have your own little Jajah-like sandbox, and it's absolutely free.

For Asterisk Administrators Only. Want to manage your Asterisk server from Twitter? There's an app for that. We promised you a New Year's bonus so here it is. First, read our last article which explains how to manage your Asterisk server using email messages and the Asterisk CLI. Now you can do exactly the same thing using Twitter direct messages. The only Twitter user that can do this on your server is the Twitter account name you specified in the #1 $user slot above. So you don't have to worry about your pals trashing your Asterisk server if you give them privileges with Tweet2Dial. The syntax for issuing CLI commands using Tweet2Dial looks like this:

CLI: database show cidname 8437978000

Just be sure Direct Messages from your primary Twitter account begin with CLI in all CAPS followed by a colon, a space, and then the desired CLI command. That's all there is to it. You'll get a confirmation Direct Message in your main Twitter account once the command has been executed assuming you have established Following and Follower linkage between your primary and secondary Twitter accounts. Test sending DMs in both directions to double-check it. And if you've enabled email delivery for Direct Messages in your Twitter configuration, you'll get an email confirmation as well. Because of Twitter's 140 character limitation, some commands such as help don't provide all of the output you normally would receive from the CLI. You'll only get the last line. Aside from that, the CLI functionality is identical to interacting directly with the Asterisk CLI and the email implementation we outlined previously. Here's the CLI response:

Before you can use the CLI interface in Tweet2Dial, you have to enable it. Edit tweet2dial.php and change $CLIenable=false to $CLIenable=true. And, yes, we understand there are some of you that don't trust Twitter to keep your commands secure. Well, first of all, in order to penetrate your Asterisk server, someone would have to send a Twitter Direct Message from your primary Twitter account. So they'd need your password and they'd need to know the syntax for Asterisk CLI commands AND the syntax for sending them via Twitter. But, there's always a Cracker Rapper2 somewhere. Right? So we've also built a password into the system at your server's end so you can sleep more comfortably. The default password is CLI. But feel free to change it to anything you like. Just edit tweet2dial.php and find this line: $CLIpword = "CLI";. Replace CLI (between the quotes only!) with whatever password you'd like. After saving your changes, you'll need to adjust your Twitter messages accordingly. For example, if you changed your password to FooBar, then your future Twitter CLI command syntax would look like this: FooBar: help. Enjoy!

Special Thanks. As Nerd Vittles prepares to celebrate its Fifth Birthday, we want to take a moment to thank those that have made Nerd Vittles and the PBX in a Flash project possible. Without the generous financial support of Vitelity and Google's AdSense program plus the unwavering support of our hosting providers who provide free downloads of PBX in a Flash around the globe, all of what we do would be much more difficult and expensive! It's not too late for you to kick in a nickel or two as well if a fleeting moment of generosity should strike. :wink: There's a Donate button at the top of the page. Finally, we want to thank Digium® for their continuing support of the Asterisk project and their generous contribution of hardware to the PBX in a Flash development team during 2009. Happy New Year everybody!




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.


 
New Vitelity Special. Vitelity has generously offered a new discount for PBX in a Flash users. You now can get an almost half-price DID and 60 free minutes from our special Vitelity sign-up link. If you're seeking the best flexibility in choosing an area code and phone number plus the lowest entry level pricing plus high quality calls, then Vitelity is the hands-down winner. Vitelity provides Tier A DID inbound service in over 3,000 rate centers throughout the US and Canada. And, when you use our special link to sign up, the Nerd Vittles and PBX in a Flash projects get a few shekels down the road while you get an incredible signup deal as well. The going rate for Vitelity's DID service is $7.95 a month which includes up to 4,000 incoming minutes on two simultaneous channels with terminations priced at 1.45¢ per minute. Not any more! For PBX in a Flash users, here's a deal you can't (and shouldn't) refuse! Sign up now, and you can purchase a Tier A DID with unlimited incoming calls for just $3.99 a month and you get a free hour of outbound calling to test out their call quality. To check availability of local numbers and tiers of service from Vitelity, click here. Do not use this link to order your DIDs, or you won't get the special pricing! After the free hour of outbound calling, Vitelity's rate is just 1.44¢ per minute for outbound calls in the U.S. There is a $35 prepay when you sign up. This covers future usage and any balance is fully refundable if you decide to discontinue service with Vitelity.
 


Some Recent Nerd Vittles Articles of Interest...

  1. No nastygrams! We know awesomest is not a 'real' word. Our spell-checker told us. :-) []
  2. For your final New Year's treat, be sure to watch the Cracker Rapper video! []

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

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.


 
New Vitelity Special. Vitelity has generously offered a new discount for PBX in a Flash users. You now can get an almost half-price DID and 60 free minutes from our special Vitelity sign-up link. If you’re seeking the best flexibility in choosing an area code and phone number plus the lowest entry level pricing plus high quality calls, then Vitelity is the hands-down winner. Vitelity provides Tier A DID inbound service in over 3,000 rate centers throughout the US and Canada. And, when you use our special link to sign up, the Nerd Vittles and PBX in a Flash projects get a few shekels down the road while you get an incredible signup deal as well. The going rate for Vitelity’s DID service is $7.95 a month which includes up to 4,000 incoming minutes on two simultaneous channels with terminations priced at 1.45¢ per minute. Not any more! For PBX in a Flash users, here’s a deal you can’t (and shouldn’t) refuse! Sign up now, and you can purchase a Tier A DID with unlimited incoming calls for just $3.99 a month and you get a free hour of outbound calling to test out their call quality. To check availability of local numbers and tiers of service from Vitelity, click here. Do not use this link to order your DIDs, or you won’t get the special pricing! After the free hour of outbound calling, Vitelity’s rate is just 1.44¢ per minute for outbound calls in the U.S. There is a $35 prepay when you sign up. This covers future usage and any balance is fully refundable if you decide to discontinue service with Vitelity.
 


Some Recent Nerd Vittles Articles of Interest…


Ringbinder theme by Themocracy