I know many will have different setups for this, but what I use is a combination of Flynumber.com for my online number forwarded to VOIP and then one of a few pay-as-you-go VOIP providers to handle the service. Personally, I'm using VoipVoip and Just Voip, although I've had issues recently with VoipVoip and some numbers - never figured it out, just switched to JustVoip.
As far as Android goes, I have them integrated into my Nexus 5 by default with a simple SIP switch on a homescreen, however as MrsBarn's Moto G does not support SIP in the dialler (strangely) I had to get them installed with CSipSimple and it works just fine.