[Samsung Galaxy Nexus] ttabbal:
I was wondering if I was the only one interested in this. :D

Apps:

I'm currently using a nightly build of CSipSimple. It has some advanced settings in "expert" mode that let you tune things like the frequency of keep-alive packets. It also seems better than the others at realizing it's lost the registration and re-connecting.

I also tried SIPDroid, built-in SIP client, 3CX, and one other one I can't remember. All had some issue or another that made me go back to CSipSimple.

Services:

I tried PBXes, it works ok, but it's just Asterisk re-directing to Google Voice. Not bad for what it is, and it's free, so that's worth something.

Anveo: I like the options, but the site is a little hard to get used to. It's also nearly impossible to get it to work reliably with Android directly. They are a good option for DIDs and general VOIP service though, if you have another service you can route Android calls to/from. DIDs are cheap here, US numbers seem to go about $2/mo with unlimited inbound calls. E911 is the cheapest I've found at $0.80/mo. Call quality seems quite good, though codec selection is somewhat limited. The call routing editor seems pretty cool. Flowchart looking design app for choosing what to do with calls. FAX is also an option for you business users. US calls are 1 cent per minute.

Callcentric: They are a well known somewhat premium provider. I put $5 on them just as a backup route. They cost a little more, I think 1.5 cents/min. The gnex registers up to them fine, and calls in and out work fine. I've only used them a few times for testing, but call quality is good. Codec selection is in between. Enough options to cover most tastes though.

Terms for noobs:

DID: A phone number people on a regular phone can call. You can also direct Google Voice to call this number. If you have a free inbound call DID like Anveo, it's a decent option for GV integration. Most providers allow you to link a DID to various PBX type services and route calls in various ways. Or you can just send all the calls direct to your VOIP device.

PBX: Private Branch Exchange. Basically, your own mini phone company. You can receive calls, route them to various extensions (most any VOIP device), handle voicemail, transfer calls around, hold music, all sorts of crap most people here probably don't need. :D

Trunk: A connection for inbound and/or outbound calls. Usually used to link a server like Asterisk to a provider for calls to/from the phone network.

What I'm doing now:

I am trying to set up a replacement for all our services. So I want some PBX type features. The various providers love to charge by the phone and such, so I decided to set up my own Asterisk server with FreePBX to configure it. And I thought it would be funny to be able to transfer calls to my wife's cell and such. I set up the above providers as "Trunks" and my gnex and a softphone as extensions to test calling and such. So far, it's working pretty good. I had trouble getting the Asterisk Google Voice stuff to work reliably, and others online have reported it as well. So I'm just using PBXes to deal with that right now. For our home line, I'll probably pick up an Obi 100 and bridge a new GV account to it and connect it to the Asterisk server. The Obi has a regular phone port so the house cordless phone setup will just go on the way it always has.

Issues:

NAT. NAT sucks. It will cause pain and suffering depending on the type of NAT you have. My office network is using Symmetric NAT, which is near impossible to use SIP with. So I set up OpenVPN on my gnex and just leave it running all the time. It doesn't use as much battery as I feared it would after tuning some settings. The big win was setting "keepalive 60 120" in the server config file. Comparing graphs using the Battery Monitor Widget, I'm about the same standby drain I was getting before. But now SIP works all the time, as there's no NAT in the way. :)

Wifi on the gnex.... When the screen is off it seems to go into some low-power state that doesn't save much power and causes little connection glitches. So even putting the phone to my head to talk would turn off the screen, then the VOIP call would get all choppy. Telling the app to leave the screen on in calls fixed it right up. I ended up trying Franco's kernel, as he has an option to disable the wifi power save stuff. It's working much better now. I've seen threads about this causing slow downloads when trying to download stuff like Gameloft game data as well. Though others say they don't see it. No idea, but it caused me lots of trouble and it's an easy fix, so I'm posting it. :D

---------- Post added at 02:27 PM ---------- Previous post was at 02:20 PM ----------

One thing Asterisk will give you is the ability to use a different codec on the phone->server link than the one GV uses. So your server will transcode for you. A free PBXes account will do that too. Asterisk is really more useful if you want multiple extensions and providers. You can then do all kinds of crazy stuff with calls.

---------- Post added at 03:05 PM ---------- Previous post was at 02:27 PM ----------

How are you changing the GV settings? I looked around a bit, but the only references I could find to plugins for Tasker/Locale were dead.