24 June 2011

How to Roll-Your-Own with VoIP for Massive Phone Savings

Here's something else that's worked well for us and friends to whom I've emailed the details.  90% savings is something everybody seems to like.

Our home phone service is now about $7 a month total for two lines vs. ~$35 for Pacific Bell for each line.  We just weren't getting $70+ worth of usage out of the two landlines. But going all-cell wouldn't have worked for us for a variety of reasons (not least being the lack of emergency-call traceability for cell calls).  Meanwhile prepackaged Voice over Internet Protocol (VoIP) services from PacBell, Comcast and Vonage wouldn't have saved much, and they necessitated purchase or rental of adapters locked to their service.  (UPDATE: See Summary Comparison: Landline vs. Alternatives and Is the Landline Doomed?)

Instead, I chose a far geekier solution, based on the services of www.voip.ms, that saves the equivalent of four six-packs of my favorite hoppy IPA each month... per line.  Voice quality, domestically and to Europe, is great.  We kept our standard phones-- no computer is necessary. But you can use free VoIP apps on your smartphone, laptop, iPad or iPod Touch, too, anywhere you have good Internet access or even 3G.  Our monthly cost breakdown for two lines of excellent, reliable service is now:
  • Home line ported from PacBell, $1.49
  • Other line from voip.ms' big pool of local numbers on their website: $0.99 
  • Optional e911 service: $1.50
  • Usage: $0.01-0.016/minute for domestic & European calls using the highest call-quality option
  • We also pay the $0.008/call to have our phones display the name of the caller. 
  • State taxes: $0.00
  • Local taxes: $0.00
  • Federal taxes: $0.00
  • Bureaucratic boondoggles: $0.00
  • Redistribution: $0.00
  • Fees, impositions, assessments, Universal Access for those-less-fortunate (who somehow all seem to have cell phones anyway): $0.00

Here's How:

This is the Golden Age of VoIP wholesalers with pay-as-you-go pricing, and also of cost-effective hardware adapters for your old phones.

In my research, two VoIP providers emerged as particularly promising: CallCentric and voip.ms. Both offer free signups, affordable landline-number porting, and great per-minute rates.  I chose voip.ms based on its user reviews, rich feature-set and international presence. Its setup process is browser-based. Provisioning using a temporary number in my neighborhood took a few minutes.  The only caveat is that voip.ms' setup pages can be intimidating, as VoIP is a bit of an acronym-fest. But the learning curve is fairly shallow and quick.

If you have a solid WiFi connection and a good router, you can try it yourself in minutes with an iPhone, Android phone or computer:
  1.  Set up an account at https://www.voip.ms /signup.php ...note, signup is free, but voip.ms works on a prepayment methodology.  You will establish your account with $25 in funds from any credit card.  As you whittle down your balance with usage, you'll receive an email when replenishment is needed.
  2.  Now get yourself a phone number-- a Direct Inward Dialing (DID) number in VoIP-speak.  Go to the "Order DIDs" page, https://www.voip.ms/m/dids.php  ...getting a number will set you back a whopping one-time $0.50 and then $0.99/month plus usage for the per-minute plan that's appropriate for most people.  (You can port a landline later if you want.  It takes a little time and costs about $20, and the ported line is $1.49/month.)
  3. You'll have some options to choose.  Generally it's best to select the voip.ms server that's geographically closest to you.  (If you want to get geeky, do some ping tests.)  Select SIP/IAX as the routing option for now.  (SIP stands for Session Initiation Protocol and is the most-used open standard specification for softphones, IP phones, etc.)
  4. Now set up a subaccount to play with.  This is like an extension.  Go to the Sub-Accounts menu, https://www.voip.ms/m/subaccount.php and select "Create Sub-Account."  Give the subaccount a name in the "Username" field (it'll be something like 12345_yourchoice, where 12345 is your voip.ms account number).  Set a password.  Since I'll be documenting using the 3CXphone app on an iPhone below, click on Advanced Options and select the g.711u and gsm codecs-- these are the sound-encoding algorithms supported by that app.
Done.  You now have a new phone number.

There are a variety of SIP-compliant softphone apps available for iPhones, Android phones and computers.  The two I like best are Whistle Phone (iOS, Windows, Mac) and especially 3CXphone (iOS, Windows, Android), which has deeper technical options and worked best for me when I was traveling in Europe.  Plus, 3CX is headquartered in Cyprus, a country dear to my heart.  Both work over WiFi and also 3G in most places.  Here's how to set up the 3CXphone app for iPhone, iPad and iPod Touch:
  • Download and install the app.
  • When you open it for the first time, you'll need to set some settings.  Recommended settings are shown at the left.  Note that some of them are blank. 
  • The User and ID fields should match the subaccount username you chose.
  • Note the server and proxy server fields should generally be the servers in voip.ms' arsenal closest to you.  They don't have to be the same ones you chose when you set up your account, and you can change them when you travel.  (Voip.ms lets subaccounts call each other entirely for free if they're on the same server.)  Incidentally, my calls to the U.S. from London were fine even though I left things set to the Los Angeles server.
  • The "Record Calls" option might not be legal depending on where you call to or from.  Best to leave it turned off.  (It only seemed to record my side of the conversation anyway.)
  • Multitask Mode allows 3CXphone to keep running when you open another app or sleep the phone.  Handy-- that means you can receive calls, and calls continue if you hit the Home button.  There's a modest hit to your battery life.
  • Bluetooth is supported; just be sure your headset is paired and operating before starting the app.

Done.  Now you can make calls!

To receive calls on this line you just created, go back to the voip.ms website, select "Manage DIDs" from the DID Numbers menu, and select this subaccount in the Routing field.  Save.  Done.  Now you can receive calls.

For your former landlines:

For our home phones, after some research I ordered an unlocked Linksys PAP2T-NA analog telephone adapter from Amazon for $49 with free shipping. This is a gizmo about the size of a pack of cards which plugs into my WiFi router and then into any conventional phone (or dead wall jack) and can be used with any VoIP provider. It's easy to set up; voip.ms has configuration tips on its website.  (UPDATE: "Mango", a frequent poster on VoIP forums and obviously knowledgeable, has his own configuration tips here, and concise reviews on the PAP2T-NA and other inexpensive adapters here.) (UPDATE: the -NA stands for "North America."  There are other models for other locales, for example -EU for Europe.  Near as I can tell, the power plug is the difference.) (UPDATE: See comment #3 for this post; the OBi100 adaptor, also available from Amazon, seems like a great alternative to the PAP2T, and easier to set up.  FURTHER UPDATE: I've now had the chance to use and review the OBi100 adaptor.  It's great, and indeed easy to set up.  See my report here.)

Then we started voip.ms on the process of porting our landline number over, as we wanted to keep it. This took about ten days and was painless, with progress emails along the way. In fact, whenever I had a question regarding any aspect of the service, voip.ms provided snappy support. I could not be more impressed with them as a company or with the quality of their service so far. Kudos also to AT&T/Pacific Bell for their cooperation and the nice good-bye note they sent at the conclusion of the port.

While we waited, we played with the temporary number from voip.ms.  Once the porting was complete, I switched the routing so our ported number rang the PAP2T's subaccount, then sauntered out to the patch panel on the wall of our house and unplugged the PacBell phone line. After verifying that there was no signal on the home lines, I plugged the little Linksys into an unused home-phone jack. Voila: it now provides phone service to every jack in the house.

Bottom line:
  • The change is transparent to anyone who might use our phones.
  • We can set up conference calls with any number of participants.
  • You can get fancy with voip.ms' routing menu.  We now have an Interactive Voice Response (IVR) set up on voip.ms so incoming callers get a voice menu: 1 rings the home phones, 2 takes a voicemail, and--get this--3 gives an international dial-tone, password protected, so we can call Europe from anywhere for cheap just by dialing home. I had a lot of fun setting up my incoming-call greeting: "Thanks for your call. Friends, family and people with whom we do business, press 1. For voicemail, press 2. For an international dialtone, press 3. Telemarketers and robo-callers, we have a specific digit for you." ...Forcing callers to press 1 to ring the home line blocked 8-12 annoying robocallers daily during the runup to the November election.
  • Connecting the Cisco/Linksys PAP2-T adapter
    that lets you use old-timey standard phones is easy.
    Photo courtesy Amazon
  • There's a sophisticated voicemail system which has a wonderful option to speak the caller's phone number clearly. Voicemails are also emailed to us in the form of .wav attachments which play crisply on our computers, iPhones and iPad. Very handy, and a free service.
  • There are many options and features, including 800 numbers.
  • The savings are massive, each and every month.

If you have a solid Internet connection at your home or office and a decent router, cut the cord! (If your service is DSL, work with your phone company prior to the porting process to ensure your Internet remains in-service, and be sure all signal is absent from any wiring to which you connect the PAP2.)


Great router for residential or business use, with an excellent firewall and quality-of-service (QoS) engine for good VoIP performance: D-Link DIR-655: http://www.amazon.com/s/ref=nb_sb_noss?url=search-alias%3Daps&field-keywords=d-link+dir-655

Apple's routers are superb: http://store.apple.com/us/browse/home/shop_mac/mac_accessories/airport_wireless

Note: The highest-quality VoIP option (g.711u) consumes about 80-90kbps of bandwidth including overhead.  Info: http://en.wikipedia.org/wiki/G.711#G.711_.CE.BC-Law

Visualware.com provides a spectacular free online tester, optimized to evaluate your Internet connection specifically for VoIP: http://myspeed.visualware.com/indexvoip.php

21 June 2011

How to keep things secure in your Dropbox or other cloud storage

I'm a huge fan of Dropbox and other cloud services.  It's just incredibly convenient to be able to access my stuff from all my machines.

But security and privacy remain problematic: If your stuff is stored on someone else's machine, who else can access it?  The question has been in the news lately.  Expect more such stories as adoption of cloud technologies accelerates.

Yet by far the largest risk to your data is loss from hardware failure, theft or physical disaster.  Aside from the convenience factor, storing things in your Dropbox means it's locally copied to all your machines as well as safely backed-up (and versioned!) in the cloud.  For those reasons, I keep all my current work in my Dropbox.  Securely!

Here's How:

I use Macs most often lately, and this tip leverages some truly keen capabilities of OS X.  (I am unaware if Windows 7 offers similar functionality combined with similar ease and baked-in speed, but there are third-party tools like TrueCrypt which can attempt something kinda/sorta parallel, but not as easy or automagical, and not as swift in execution.)

Disclaimer: a patient Bad Guy could probably hack any encryption, and it probably serves as a minor inconvenience at best to any of several three-letter agencies.  But, I suspect that should I be of sufficient interest to such folks that they'd be groping my digital giblets rather than just fondling my carbon-based ones at airports, encryption strategy would be the least of my worries.

  • Open Disk Utility.  (It's in your Applications | Utilities folder, or just go to Spotlight and type "disk utility.")
  • Click the New Image button.
  • A form will pop up.  Fill it out as follows.  You're creating a sparse bundle disk image-- a virtual disk divided into small files (more backup- and Dropbox-friendly than a monolithic disk image would be).  Give both the image and the virtual disk that will appear on mounting it sensible names (via the "Save As" and "Name" fields, respectively).  Choose the size as-desired.  Select Mac OS Extended (journaled) as the format and a single Apple Partition Map as the partition.  Choose 256-bit encryption if you're uber-paranoid, or consider the faster 128-bit.  Select a size that's adequate but not obese for your purposes.
  • Click the Create button.  You'll be prompted to enter a password.  Do so (twice) and be sure to UNCHECK the "Remember password in my keychain" so you'll be prompted for the passcode each time you mount the disk.  You want that behavior.
  • Click OK.  The disk will mount and appear on your desktop, and Dropbox will begin uploading it to its servers (and then down to any of your other linked computers).
  • Now do whatever you want to do.  Put stuff in the disk as usual. 
  • Here's the automagical part: you can make aliases to any item that's inside and put the alias wherever you want-- on your desktop, for example.  Clicking on such an alias will automagically resolve to the encrypted disk, and you'll be prompted for its password if it isn't already mounted.  Changes you make will automagically be stored in the encrypted disk.  You can, of course, mount the virtual disk manually by double-clicking on the sparsebundle in your Dropbox.  But you don't need to.
  • Using this strategy, at no time does unencrypted information get transmitted (Dropbox connections are themselves encrypted) or stored on Dropbox.
  • When you're done, "eject" the virtual disk (or, this will happen automatically when you shut down).  It is now unopenable and its contents unreadable by anyone lacking the password.

 You can now access your encrypted disk from any OS X Mac!  (To-date, encrypted disk images aren't supported by iOS... hope that changes.)

You can, of course, do the same thing without putting the sparsebundle in your Dropbox.  For example, I have a VMWare Fusion virtual machine with sensitive content installed on a 25GB encrypted sparsebundle on my external Firewire disk.  Thanks to OS X's deep integration of this functionality, it runs like a hose.

(Don't have Dropbox yet?  Get it at http://db.tt/Me4yRjt and I get a little space bonus... [grin].)