I'd say use PBX in a Flash (Asterisk+FreePBX+Extras), follow guide in my signature to install on your VPS. For getting a DID phone number you can use Anveo (or Anveo Direct, may be cheaper). They support SMS. And for Android VoIP client try Zoiper. It works great for me and they recently added...