Unfortunately, the majority of these services are specific to the US, so if you're outside those borders I'm afraid you're on your own.
Be sure to check the FAQ if you have a question not answered in this post!
My set up relies heavily upon Google Voice for call forwarding, texting, voicemail, and VoIP calls via (Talkatone, GrooveIP, or (lately) SipDroid+PBXes.org) when connected to Wifi. I use T-Mobile's $30 Monthly 4G plan with 100 minutes, unlimited texts, and 5GB of data at "4G" speeds. I make use of a few highly-customized Tasker profiles to automatically enable Airplane Mode when I'm connected to one of my preferred Wifi Access Points; this conserves battery and forces incoming calls to ring my VoIP softphone.
Some things you should know about this set up (and prepaid in general):
+ It's cheap! Full smartphone service (with a guaranteed 5GB of high-speed data) for only $30 per month.
+ Freedom from the contract model! You have no commitment to your carrier. You could hop carriers every month if you wanted to.
+ No surprise fees! What you pay up front is what your service costs per month. There won't be any surprises or overage charges.
- No roaming on prepaid. If you are outside your carrier's coverage area, you have no service. Under some circumstances you may be able to make voice calls while roaming, but I don't think it's a guarantee. Much better to plan on not having it. You will never have data roaming while on prepaid.
- No freebies. 100 minutes means 100 minutes. You get no free nights and weekends or free mobile-to-mobile calls. If you exceed your monthly allotment of minutes, you can't make calls. Keep an extra balance on your account so that you can make calls beyond 100 minutes at $0.10 per minute.
- No priority customer service. You still get service (and really, my customer service on T-Mobile prepaid has been better than what I got on AT&T postpaid), but it will likely be an outsourced call center rather than one in the US.
- No extra features. Most prepaid plans don't allow fun features like conditional call forwarding, which is what Google Voice uses to intercept your voicemail. You can get around this, but it won't be pretty.
- No MMS with Google Voice. Google Voice doesn't currently support multimedia messages; use email instead.
This really is a great option, but it's not for everyone. Understanding the limitations up front will help prevent you from feeling disappointed later.
Still with me? Then let's dive in. Again, this is just my set up. Feel free to adapt it to suit your own needs.
Get a GSM
Get one direct from Google for only ~$349 - with no contracts or hidden fees. This is a fantastic deal on an amazing phone, and its pentaband radio will allow it to be used on ANY GSM carrier - you no longer have to choose whether you want to be stuck on AT&T's 3G frequencies or T-Mobile's 3G frequencies. This makes the next step even easier.
And while $349 up front may sound like a lot of money, keep in mind that you can save up to $50 per month by moving to a prepaid plan (I am!); you could make up the cost of the phone in just 8 months! So, really, you could buy the newest Nexus device each year without putting yourself in a hole - pretty tempting, eh?
There are, of course, other fantastic Android phones out there, but the list of pentaband-capable phones is tragically much smaller. If you'd like, you can view the other options of this category here, where I have created a filtered search on gsmarena.com for phones running the Android OS and with "HSDPA 850 / 900 / 1700 / 1900 / 2100" bands available.
Ditch the contract.
Quit overpaying for your wireless service with a carrier who forces you to be loyal. Get a prepaid plan. I've been on T-Mobile's $30/mo 100 minute / Unlimited Text / Unlimited (to 5GB) Data plan since February and I love it. No usage fees, no surcharges, no unknowns. You pay up front, and that's all you spend for a month. And if you decide after a month that the plan you chose isn't quite right, you are free to change to a different plan - or even a different carrier - with very little effort. THAT, my friends, is the beauty of an unlocked pentaband GSM phone.
If you decide to go with this $30 T-Mobile Prepaid thing, there are a few things you should be aware of. Firstly, it is a web-only exclusive. You can't go into a T-Mobile store and sign up on this plan. It's also for new activations only. You're on prepaid, so nothing's to stop you from just activating it as a new line (that's actually what I did after using the $70 plan for a month), just be aware that if you're an existing T-Mobile customer you may not be able to keep your number in order to qualify for this plan. Still with me? Then purchase the SIM Card and Activation Kit directly from T-Mobile for (currently) $.99 with free shipping. You need both the card and the activation kit.
scoobdude suggested www.PrepaidReviews.com as a great resource for researching and selecting the right prepaid provider. I highly recommend you check it out to see what's best for you.
Use Google Voice.
If you don't have a Voice account, sign up at voice.google.com. If you do have a Voice account, sign in at voice.google.com. Voice gives you a single phone number that can ring any number of other phones, as well as free text messaging, voicemail transcripts, and a number of other slick features. Once you have your Google Voice number, give that one out to all your friends and family. That one phone number will follow you as you hop carriers, get new devices, or even move to a different area. You'll never need to change your number again (unless you want to), and this makes the carrier-assigned phone number completely irrelevant. I wouldn't recognize my phone's "real" number if I saw it, and that's perfectly okay.
You're really much better off here in the long-run if you can go all-in with Google Voice. Trying to embrace both your carrier number and your GV number will only end in frustration - particularly on prepaid. If you haven't been using Google Voice and you don't want to force your friends and family to learn a new phone number for you, look into the possibility of porting your current carrier number to Google Voice. You can learn more about this option here.
Set up Google Voice.
You'll need to follow the steps in Google Voice to add a new forwarding number (the number associated with your new wireless plan). Go ahead and tick the checkboxes to forward calls both to your Google Chat (this is the VoIP backend used for making calls from within Gmail; we'll use it later for VoIP calls on your phone!), your new prepaid phone number, and any other phone numbers you might want to use with Google Voice. If you don't see the Google Chat option, try making a call from Gmail in your web browser to initiate that voice interface. This would also be a good time to go ahead and install the Google Voice app. You'll use this app for text messaging via Google Voice, configuring your phone to use Google Voice for all outgoing calls, and viewing your voicemail transcripts. When you get to the part about setting up voicemail, though, skip it - most prepaid carriers don't allow for "conditional call forwarding", which is what Google would use to intercept missed calls. Read on for how to get around this...
Disable carrier voicemail.
Skip this step if you don't intend to go all-in with Google Voice.
Because T-Mobile Prepaid doesn't support the conditional call forwarding that would normally be used to replace your carrier's voicemail with Google Voice voicemail, GV will not be able to intercept calls made to your carrier number. Without any additional configuration, calls made to your Google Voice number will fall back to the GV voicemail after a specific amount of time - call it the number of seconds required for 5 rings. This can get messy if your carrier voicemail kicks in before that time has elapsed - callers will hear the first part of your carrier's voicemail prompt, and then GV will take over. You may end up with parts of voicemails left in multiple places. To avoid this unpleasantness, you can get T-Mobile to disable the voicemail service for your line.
You'll have to call T-Mobile support for this (dial 611 from your mobile phone), and ask them (politely) to please disable the voicemail service on your line. They'll probably confirm with you about fifteen times that this means people won't be able to leave you voicemails, just keep confirming that is what you want. You're not going to hand out your carrier-provided phone number anyway, are you? No, you're not.
Once your carrier's voicemail service is disabled, unanswered calls to your Google Voice number will be sent to Google Voice voicemail (and optionally transcribed for you) after the caller hears five rings. Rejecting/ignoring calls will have the same behavior - the caller will hear five rings, followed by your Google Voice voicemail prompt. The added upside to this is that the caller won't have any idea that his call is being rejected - they'll just think you didn't answer.
Disabling your carrier voicemail means that any unanswered calls to your carrier number (the one associated with your SIM card) will never go to voicemail - they will only ring indefinitely. Only disable your carrier voicemail if you intend to fully rely upon Google Voice, and don't intend to receive any calls on your carrier number. If you want to use both numbers, you should probably leave your carrier voicemail enabled and let your callers deal with the messiness that can occur. Make your choice.
You're now up and running with cheaper prepaid smartphone service and Google Voice. You can stop here if you want; what follows is completely optional - and can actually get quite complicated. If, however, you're (1) technically adept, (2) not afraid of a challenge, and (3) either have poor cellular reception where you live/work or need many more than the allotted minutes and are okay with the inherent drawbacks and unreliability of VoIP service, you can read on to learn more:
Set up VoIP.
Using a VoIP option to make and receive calls using data can help stretch your 100-minute allotment. There are two main apps that most people use for VoIP with their Google account (there are other options if you want to use another dedicated/real SIP provider, but using the Google Chat interface is by far the easiest): GrooveIP ($4.99) and Talkatone (free). I prefer the GrooveIP application, as its integration with the stock dialer is superb, the application seems to be more reliable, and it can be easily configured to work over either wifi and 3G/4G or just over wifi. There is also a free version available which sacrifices native dialer integration, calls over mobile data, proximity sensor support, and the ability to change the default Google Chat sign-in status message. The drawback to GrooveIP is that it is limited to using the only voice-encoding codec that Google Chat has available, which may introduce some stuttering over a slow network. Talkatone uses its own proxy server to handle the connection to your phone, which allows for more efficient codecs. The app isn't as polished as GrooveIP but it may help to eliminate stuttering and other issues when used over a poor connection. Whichever app you decide to use, I recommend that you look through the settings and choose the option to only use the app for handling calls when connected to wifi.
I've recently come upon yet another easy-to-configure option, and one that seems to be working (for me) even better than either GrooveIP or Talkatone: SipDroid (free!) in combination with its native support for a Google Voice trunk via PBXes.org. Once launched, SipDroid presents an option at the bottom of the screen to use "New PBX linked to my Google Voice". Select that option, enter your account details (or, better yet, use an application-specific password - your Google account is configured for two-step authentication, right?), and you automatically get a PBXes.org account created (with the same login credentials) and configured in SipDroid. (If you're using an application-specific password, you should be sure to write it down for now - you'll need it to log in and configure your account at PBXes.org the first time. I'd suggest you then change the password on your PBXes account to make it easier to log in later.) That's it - you can now make and receive free VoIP calls using Google Voice via the SipDroid application. Configure SipDroid to only work over Wifi (Menu > Settings > SIP Account > Check "Use WLAN", uncheck all others) and to be the preferred call handler (Menu > Settings > Call Options > Sipdroid, when available) and it will seamlessly integrate with the stock dialer to intercept outgoing call intents.
This SipDroid+PBXes option has offered me the greatest combination of reliability, sound quality, and battery performance of any other VoIP options I've tried - AND it is still fairly easy to set up. jgrinst1 pointed out that PBXes.org gives free account users 2000 minutes to play with each month. If you need more, you really shouldn't be on the T-Mobile 100 minute plan
Important Notes about PBXes.org: User bigdoug2005 has pointed out that using PBXes.org as described here effectively intercepts all incoming calls to your GoogleTalk interface, which means that your computer will never receive any incoming calls. This should only be an issue if you often receive calls directly via GoogleTalk/GmailChat on your computer; it will not have any impact on placing calls from your computer. Additionally, it has been mentioned that incoming calls only ring the PBXes line for 15 seconds before showing as a missed call - even while the caller still hears ringing. I'm not aware of any fix for this. These issues aren't deal-breakers for me, so I will continue to use PBXes (for the reasons mentioned above). You've been warned!
I've placed a quick overview comparison of these three primary VoIP options in the FAQ post
Automatically toggle Airplane Mode when connected to wifi.
This is getting into a bit more advanced stuff. Feel free to skip this section if you don't feel up for it - you can still use your cheap prepaid phone service without issue. The following just automates some of the tasks for you.
Important Note for Android 4.2+: With the release of Android 4.2, Google changed how applications are able to access Android's Airplane Mode setting - that is, they can't. AutoAP (which as of now hasn't been updated since January 2012) WILL NOT work for this purpose. Tasker can still be used, but you will have to incorporate the free SecureSettings plugin to manage Airplane Mode. Install the plugin, launch the application and follow the steps to install the Helper, and then replace all following references to "Net -> Airplane Mode" with "Plugin -> Secure Settings -> Configuration (edit) -> Helper Action -> Airplane Mode". The same goes for the Airplane Radios setting.
If this whole Tasker thing seems to complicated for you...
Don't worry! There's another option that seems to do the same job without all the hassle. martonikaj spotted a free app in the Play Store called AutoAP which seems to accomplish the same thing. I haven't used it, but it seems to be much easier to configure. I still recommend the Tasker approach since you can use Tasker to automate so many more features and settings on your phone in addition to just this prepaid setup (I also use it for automatically overclocking when I fire up a game, and underclocking the rest of the time), but AutoAP is a great alternative if you're really only interested in automating this one setting.
Using an application like Tasker , you can automatically put your phone into Airplane Mode whenever you have a working Wifi connection - without disabling that wifi interface. This has two main advantages. First, it prevents your phone from ringing twice each time you receive a call - otherwise, your phone would receive the call both via the VoIP application and the native Phone application. Not a biggie, but it is kind of annoying. Second, enabling just the Wifi interface will stretch your battery life significantly if you spend the majority of your day within range of a Wifi network.
And now things get fun (and complicated). From the Tasker Profiles screen, tap the "+" button to create a new profile. Name it something useful, like "GVoice Airplane Toggle," and when prompted for the Context (the thing that will trigger this profile) select State --> Net --> Wifi Connected. Tap the checkmark icon at the bottom of the Wifi Connected window to save this Context.
You'll now be prompted to create a Task (the thing that will happen when the profile is triggered). Don't worry about naming it, but do configure it as illustrated in the following screenshot (tapping the "+" button to add a new action):
A brief description of each item:
1) HTTP Get - Net --> HTTP Get, with "Server:Port" set to "www.google.com". Essentially, this will try to load the specified page in the background. If it fails, it will return the HTTP Response Code (variable "%HTTPR") with the value "-1".
2) If %HTTPR != -1 - Task --> If. Tap the "label" icon and scroll down to select the variable name "HTTP Response Code" (or just enter "%HTTPR" into the first text box). Tap the button between the text fields to select the Operator, and choose "Maths: Isn't Equal To", and enter "-1" as the value to test for in the next text field. This conditional statement will only process the following actions if the HTTP Response Code is NOT -1; that is, only if the Internet connection is working.
3) Airplane Radios - Net --> Airplane Radios, with at least "Cell" checked. This will select which interfaces to disable when Airplane Mode is activated. I don't use Bluetooth, so I disable it as well. I do use NFC so I leave that interface enabled. Make your choices according to how you operate; the key is that "Cell" is checked and "Wifi" is not checked.
4) Variable Set - Variable --> Variable Set, where Variable Name is "%GVAM" (Google Voice Airplane Mode) and Value is 1. This is really just a placeholder which can be used to indicate that the Profile is active.
5) Airplane Mode - Net --> Airplane Mode, with "On" selected. I hope this one is pretty self-explanatory.
6) Else - Task --> Else. Now we will choose what should happen if the HTTP Response Code is -1; that is, if the Internet connection currently is not working.
7) Wait - Task --> Wait. Choose how long you want to wait between checking for Internet connectivity. Make sure that the time specified here is longer than the time specified as the "Timeout" for the "HTTP Get" operation, which defaults to 15 seconds. Tasker will essentially pause for this time before moving to the next action.
8) Goto Action Number 1 - Task --> Goto, select "Action Number" as the Type and choose Number 1. This will create a loop; if the HTTP Get action is not successful (and there is no connection to the Internet), wait the number of seconds specified in Action 6 and then try HTTP Get operation again.
9) End If - Task --> End If. This tells Tasker that our conditional operations have ended. Once you get to here, hit the green checkmark button to save your Task.
Back at the Tasker Profiles screen, you should see your GVoice Airplane Toggle profile listed. Tap the name once to expand the profile (so that you can see some of your task described on the right), long-press on the task (which starts with "HTTP Get..."), and select "Add Exit Task. This is the action that will be performed when the Context is no longer satisfied - when you are no longer connected to a Wifi network. This Task just needs two very simple actions - press the "+" button to add an action, and then choose Net --> Airplane Mode --> Set Off. Press the "+" again, choose Variable --> Variable Clear and select our %GVAM variable that we defined earlier. Clearing this gives the system an easy way to check and see if our Profile is active.
I added another Profile which will prevent the phone from automatically going into Airplane Mode if I'm currently on a call:
Context: Call Any, *
Enter Task: Tasker --> Profile Status. Name: GVoice Airplane Toggle (you can pick it by pressing the magnifying glass icon). Set: Off. Tick the "If" checkbox, and use it to test for "%GVAM isn't set".
Checking for that variable will keep Tasker from disabling the GVoice Airplane Toggle profile when you are on a call using GrooveIP, which integrates with the native dialer.
Exit Task: Tasker --> Profile Status. Name: GVoice Airplane Toggle. Set: On.
Optionally, Luxferro figured out a clean way to adjust the setup so that Airplane Mode is only toggled when you are connected to specified Wifi Access Points. I know that some public Wifi APs restrict traffic that isn't HTTP (web) traffic, so limiting the Airplane Mode toggle to networks you know will play nice with Talkatone or GrooveIP will help prevent you from missing calls.
You'll need to create a new Profile to check the currently-connected SSID against a list of known good ones. I call mine "SSID Check":
Profile: SSID Check Context: Wifi Connected *,*,* Enter Task: 1) Variable Clear: %SSID_M 2) Variable Split: %WIFII 3) For: Variable: %temp; Items: HomeSSID,WorkSSID,GoodSSID 4) If: %temp ~ %WIFII4 5) Variable Set: %SSID_M To 1 6) End If 7) End For Exit Task: 1) Variable Clear: %SSID_M
I then modified my GVoice Airplane Toggle profile context to just check for "Variable Value: %SSID_M Is Set".
A few other tricks I use...
Get the most out of your data.
Onavo Extend is a handy free application for ICS that can help you squeeze every last bit out of your mobile data allowance. It works by creating a VPN connection to Onavo's servers that is automatically activated when you are connected to mobile data, which then compresses HTTP traffic - without noticeably impacting speed. This is similar to the way that the Opera Mini browser is able to minimize data usage, and it really works! In the past 10 days, Onavo Extend has saved me just under 900MB. Stretch that out over the monthly cycle and it can really pay off.
That said... I have seen some issues with certain web sites and web-based apps (noticeably the XDA app) when using this VPN. It's not quite a perfect solution, but may be worth trying out if you end up on a data plan with a lower cap.
Monitor your usage.
T-Mobile recently updated their My Account application, and it actually doesn't suck like it used to. It includes a handy pair of widgets too, for independently tracking your data and minutes usage at configurable intervals along with all the other handy account management functions. It's easy to use, easy to configure, and also FREE. If you're on one of T-Mobile's plans, I highly recommend you check out this app.
If you're not on T-Mobile, give Prepaid Widget a try.
Update: Give this a try even if you are on T-Mobile - it looks like they recently fixed their USSC short codes that were preventing this application from working on their network!
Save Even More on Refills
CallingMart no longer offers discounted T-Mobile refills. Try http://www.refillmobi.net/ instead.
So there you have it, my current (and fantastic!) set up. I know it's a bit disjointed - let me know if you have any questions or need further clarification. I would like to update and modify this post to be a solid guide - let me know what I need to do to improve it!
Be sure to check the FAQ if you have a question not answered in this post!
At any rate, I hope this has been at least a little bit helpful. You can thank me if it is