• Introducing XDA Computing: Discussion zones for Hardware, Software, and more!    Check it out!
  • Fill out your device list and let everyone know which phones you have!    Edit Your Device Inventory

[INFO] VOIP on the Galaxy Nexus

Search This thread

urinsane

Senior Member
Feb 28, 2006
316
105
Maui
Some of us have been discussing VOIP options over in the prepaid thread ( http://forum.xda-developers.com/showthread.php?t=1455014 ) and thought we might as well break it off into it's own thread. While this could probably be a more general Android thread, I thought it best to remain specific for what works on OUR devices, as CPU/software do make a difference.

Let me preface by saying I am still a VOIP newb. I've got the basics down (I think) but I welcome any and all advice or suggestions on things to add. I'm sure I got some things wrong. Obviously there are quite a few variables that come into play, including software, provider, codecs, and connection.

Google Voice Solutions:
GrooveIP: ($5.00)
http://snrblabs.com/snrb/Apps/GrooveIP/FAQ.aspx
MY Comments: not working reliably when off of Wi-Fi.

Review by cyberpyr8 (Verizon Network): http://androidactivist.org/reviews/appreviews/app-review-groove-ip/


Talkatone: (Free) Routes Google Voice through their own servers. Apparently converts to 3 different codecs. See more here:
http://blog.talkatone.com/2011/06/16/talkatone-audio-compression-ftw/
Comments: still testing


SIP Providers:
VOIP.ms: Pay as you go, basically. DID numbers for $1/month, incoming calls $0.01/minute. Outgoing to the US starting at $0.0105/minute. They bill in 6 second intervals. You add funds (minimum $25), and they take them as needed. Supports G711(PCMA), G729a, and GSM codecs.
Comments: My current SIP provider. Interface seems fairly powerful when you get the hang of it. The 2 lower bandwidth codecs (G729a and GSM) seem to be fairly reliable, and G729 seems to be the better quality of the two. My WiFi calls have all been great, with very little lag time. Still testing.

ttabbal adds:
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.

ttabbal adds:
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.


SIP apps:
Built-In SIP: (Free) Codec support is limited; no G729?

CSipSimple: (Free) Integrates into native dialer, lots of codec support. A lot of config options. Supports a ton of codecs. My current choice. NIGHTLY BUILDS HERE: http://nightlies.csipsimple.com/trunk/

Bria: ($8.00) Quite a few options, but then they go and force you to pay even more for things like the G729 codec. Easy interface. I thought I had convinced myself I was getting better quality than CSipSimple, but I think that was related to outside variables. Does not integrate with native dialer.

Sipdroid: (Free) The original. Seems a bit dated now; no G729 support.

Other:
Skype: reported to work well, but is not the cheapest route. I haven't purchased one of their plans to test, but for easy setup it may be the best option. Proprietary codecs?


Terms for noobs: (Thanks ttabbal!)
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.

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.

Asterisk: 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.

Troubleshooting: (ttabbal again!)
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.

UPDATE: New tips from natesilver:
1. Keep-alive.

This pretty much isn't important on wifi because a home router will usually keep the NAT entries long enough to never lose registration. However on 3/4G the cell carrier will usually cut UDP entries very quickly (my provider cuts them as early as 20 seconds. Unfortunately most VOIP providers only use UDP protocol. This means that if you are using the standard ICS VOIP client, you WILL miss some calls without even knowing that you have become unregistered.

There is an easy solution: go with a VOIP provider that supports TCP protocol. Why? Because cell carriers keep TCP connections open much longer. Personally, I'm very happy with VOIP.ms even though they are UDP only. What i did was create a free account at Sip2Sip.info (because they support TCP and allow free internet calls). My VOIP.ms DID is then forwarded via sip uri to my free Sip2Sip account so i can always receive incoming calls while on mobile, for no extra cost than VOIP.ms alone.
The other benefit to this is that now while using CSipSimple, you can change the TCP keep alive interval to a longer time (think 600 s), to allow the phone to be in deep sleep longer and greatly save on battery usage. IMO this if a must if you are using VOIP on a mobile connection for incoming calls.

The other topic is latency.
Even with a very fast wifi or mobile connection, there is noticeable latency introduced by the Android OS when using VOIP. The playback buffer seems to be unnecessarily high so there is a delay from the time the phone receives a word until it is played through the speaker. This makes for a bizarre pause during conversation, especially if two people begin to talk at the same time. Don't believe me? Try an echo test with your VOIP provider. On a good connection, you should hear yourself back essentially at the same time you speak. With stock Android, you will not experience this. There will be a delay. Add even a small bit of network latency and the problem multiplies.
I have a solution for you if you are using CM9 or AOKP or some other twist of these ROMs.
Install the patch from this thread:
http://forum.xda-developers.com/showthread.php?t=1674836

Then to make it even better, use CSipSimple (nightly version) with OPENSL-ES enabled as backend implementation method for audio (somewhere in advanced media settings).
With this setup, latency is reduced to almost nothing which you can verify with another echo test, or just simply from the improved call conversation quality you will experience.
 
Last edited:

urinsane

Senior Member
Feb 28, 2006
316
105
Maui
My 2 main requirements:
- Cheap. Trying to stay under $10/month, with an incoming 808 area code phone number.
- must be reliable enough to make and receive calls in most outdoor locations. Since I'm on an island, coverage is actually decent in most areas, but GrooveIP seems to be a bit too bandwidth intensive. Still testing with Talkatone, seems hit or miss. Low bandwidth codecs for SIP seem to be most reliable (as they should be) but you sometimes sound like a robot.

A few years ago, I had tried out Sipdroid back on my CDMA Hero with poor results, and abandoned my quest fairly quickly as I was on Sprint with plenty of minutes.

My interest renewed with the $30 T-Mobile Prepaid plan that gives 5gb of data but only 100 minutes. I don't need many minutes, but 100 isn't quite going to cut it. I'm still testing and will be updating this post and adding additional info as I try new solutions. I have not yet decided on a single solution.

My requirements are probably very different from most. I'm looking for it to play well with my prepaid ambitions. What I really wanted is to have Google Voice forward to my VOIP number and whatever prepaid number I was using that month. Google Voice is great, but I live in Hawaii, and the 808 area code is not eligible for Google Voice numbers. Can't get a new one, can't port one in.

While in many places this wouldn't be an issue, people take the 808 area code very seriously around here. If you are giving out your number for business reasons, it is a serious disadvantage if you do not have that 808, and you are looked at as an outsider. Stupid? Yes, especially when anyone can just pickup a $20 prepaid phone at Wal-Mart and have one, but it isn't something that will change soon.

My new plan is to use my VOIP number as my main number, and have any calls that go unanswered forward to the prepaid number. (EDIT: Just realized I could have this forward to a Google Voice # with any area code and maintain my 808 illusion... This might work!) VOIP.ms interface allows for this, however you are charged both the incoming rate as well as the outgoing rate for all forwarded calls (about 2.5c per minute total for Hawaii). This is still cheaper than getting seperate forwarding number from somewhere like hostednumbers.com

As always, if anyone has any suggestions, please share.
 
Last edited:

Andie00

Senior Member
Feb 1, 2011
93
21
HCMC & Cali
GVoice and Groove IP user here. I love it! I was using SipDroid with a SIP provider but it wasn't very reliable. Kept missing calls, etc. Never heard of Talkatone untill this thread. It seemed interesting so I looked them up but they display ads. No thank you. For a one time fee of $5 (I paid 2.50 as it's on special often) I recommend Groove. Use it on Wifi and 3G with no issues. I'm in Vietnam calling back home in SoCal.
 

codesplice

Senior Member
Jun 17, 2008
2,678
951
Huntsville, AL, USA
Great info. I've used GrooveIP extensively for about the past year and was over all quite pleased. The only issue I have with it is the lack of support for different (lower bandwidth) codecs. On wifi at my work, GrooveIP seems to really struggle at making calls clearly. That said, GrooveIP is far more configurable than the other straight Google Voice solution (Talkatone) and the extra configuration options are what kept me on GrooveIP for so long.

I've been using Talkatone for about the past week, and the calls have been much better - no more stuttering. Talkatone does display ads, which can be a bit of a turnoff. My other complaints about Talkatone were actually resolved in an update yesterday when they added the option to disable notifications for Google Talk messages and also an option to restrict to wifi. Now that those features are added, I went ahead and purchased a 1-year premium subscription for $20 which eliminates the ads and adds features - like the ability to automatically toggle your Google Voice settings based on your connection to the Talkatone service. It still has a few minor bugs but I'm sure those will be resolved soon.
 

spencer88

Senior Member
Apr 19, 2010
1,676
203
Columbia, SC
I bought GrooveIP when it went on sale a while back for $2 or $2.50. I only used it to make a few calls while on Verizon's 3G, worked rather well. I have talkatone but haven't used it yet but I hear good things about it.
 

Q.Entity

Senior Member
Nov 17, 2010
614
71
Dallas
I have been using Skype for ages. Most of the day my phone is on WiFi and I have the T-Mo 10GB plan so I am not concerned about the amount of data.

Most of the time, I do Skype to Skype so no cost there but I do need to do Skype to phone (mostly mobiles) from US to Europe.

Does anyone knows what gets me better rates than Skype on US to Europe (mobile)?
 

schmoove

Senior Member
Oct 23, 2010
74
27
I am using the build in SIP client in combination with VoipAlot, which has very good rates both to landlines as mobile. I used to use Nimbuzz or Fring in the past in combination with VoipAlot, which also worked fine.
 

Luxferro

Senior Member
Nov 19, 2009
1,510
433
Long Island, NY
I been a GrooVe IP user for a while now. Whenever my phone is connected to wifi at work or home it goes into airplane mode w/ wifi enabled and changes my google voice # to forward to gtalk and use GrooVe IP.

Just downloaded Talkatone to give it a try to see which I like better. I like the fact that GrooVe IP was more integrated into android more (you don't have to use their app to make calls, or view call logs, ect). Hopefully Talkatone follows.
 

BinkXDA

Senior Member
Mar 1, 2012
312
97
In my apartment, cell signal is rather poor for both AT&T and T-Mobile—as such, I can’t use the phone in most places in my apartment. Therefore, I looked into VoIP options and have currently settled on VOIPo (voipo.com) and Internet calling using the stock firmware. This, in total and combined with T-Mobile’s prepaid 30USD/5GB plan gives me unlimited calling for under 40USD a month (though I had to pay VOIPo two years in advance to get this).

I am almost satisfied with this solution, but just barely.

Pros

  • I can call from anywhere in my apartment and call quality is better than cellular.
  • Unlimited minutes with 5GB of data for under 40USD
  • All voicemail comes in via email (but Google Voice does this as well)
  • Lots of call routing options (but I don’t really use these)

Cons

  • VOIPo only has one codec, which requires 80Kbps in both directions, so calls using anything less than a stellar 4G connection are quite poor or impossible (so I often need to make calls—or make the call again—using the 100 minutes available on the T-Mobile plan).
  • VOIPo’s BYOD servers appear to be less reliable than their non-BYOD ones
  • The Internet calling client appears to stop registering with the SIP server at least once a week, so I miss calls.
  • Fairly frequently callers complain of their voices being echoed back to them—and this seems to be more of an issue with the Internet calling client versus VOIPo, or some slight incompatibility between the two
  • I assume due to short NAT timeouts and possible packets loss, I need to configure the Internet calling client to Always Send keep-alive or I miss calls when on 3/4G—and I assume this also negatively affects battery life.
  • VOIPo does not do text messaging—so I have to make calls with one number and text with another

All said though, sadly it seems this stuff is still bleeding edge, even today (even though my legacy Nokia E51 does VoIP/SIP better than Google’s finest), and does not Just Work.
 
Last edited:
  • Like
Reactions: Nxxx and NCRoadster

NCRoadster

Senior Member
Mar 14, 2012
230
37
Great thread. I'm on Verizon with only 50 minutes and unlimited data. Total is $50 a month.

I was using skype, but I am going to give voipalot a try.

Edit: Looks like voipalot does not update their ios and android apps very frequently. They also have pretty bad reviews. I guess I will look for another SIP provider.

Edit2: I decided to sign up for callcentric. Just added $5. Will report back.
 
Last edited:

ttabbal

Senior Member
Jul 1, 2009
2,076
723
Samsung Galaxy S21 Ultra
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 ----------

Can you give a quick run down on why setting up Asterisk is beneficial in this situation? I've been looking into it and don't really see a need unless you have multiple extensions going, but the geek in me really wants to find a reason to set one up!


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 ----------

I been a GrooVe IP user for a while now. Whenever my phone is connected to wifi at work or home it goes into airplane mode w/ wifi enabled and changes my google voice # to forward to gtalk and use GrooVe IP.


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.
 

urinsane

Senior Member
Feb 28, 2006
316
105
Maui
Wow. Awesome post, thanks. I will steal some of this for the OP with credit to you if you don't mind.

Should have reserved a couple more posts! : )

Sent from my SPH-D710 using xda premium
 

molesarecoming

Inactive Recognized Developer
Feb 12, 2012
7,532
27,173
Berlin
i got myself a flat for internet only, 10 euro plus 20 for nexus and thats that. for calling i use voip/sip and it's pretty nice actually. i pay almost nothing, a couple of cents for long calls, even on mobile networks. like months ago i once paid 10 euro to intervoip, the provider im using right now, and i still have most of it left - its crazy that i learned of this so late, years and years i paid craploads of money for nothing, silly vodafone stole like 50 euro each month just for calling. the prices they are asking for are almost criminal compared to voip, i pay 90% less now, yet the quality through 3g, hspa and wifi is perfectly alright.

as a client i used csipsimple and since i couldnt get it to work anymore i use mobileVOIP. not the best app but it does the job, has call integration and i can see how much my calls cost and how much money i have left, which is nice.
 
Last edited:

NCRoadster

Senior Member
Mar 14, 2012
230
37
First I want to say that my google voice # is my main phone number. I ported my # to google voice a few years ago, and it has been working great.

After looking for a SIP provider, I signed up for Callcentric.

I am using the built in SIP, and setting up the account was very easy. I just had to enter the username, password, and server. Callcentric has a tutorial when you sign up that is very helpful.

Did a few test call and it works great. Call quality was pretty good over LTE.

My issues:
-My outgoing # is some random callcentric phone number. I tried to set it up so that it shows my google voice # to people I call, but was not able to do this.

-It's easy to have Google Voice forward calls to my callcentric number, but there is a monthly fee for this from callcentric. It's only $2, so it might be worth it to some people. Other SIP providers might not charge to receive calls though.


So my biggest problem is the caller ID not showing my Google voice # to people I call. If anyone knows of a fix for this, it would be great.

In the meantime, I decided to purchase SIPdroid, and it works quite well. The integration with Google Voice is great.
 

Luxferro

Senior Member
Nov 19, 2009
1,510
433
Long Island, NY
@ttabbal

I'm using a tasker/local plugin called locale Google voice plugin. I didn't even realize it was dead till you mentioned it.

Sent from my Galaxy Nexus using Tapatalk 2 Beta-5

edit: if you want the app let me know. I'll host it somewhere for ya. It's not like the creator is losing money if they took it off the market.
edit2: just found out what happened to it https://groups.google.com/a/googleproductforums.com/forum/#!topic/voice/yGB1btViZi4

Thank you for contacting me. I am working hard to restore the listing. Google disabled it because I did not make it clear enough that the software is not affiliated with Google. But the Market team is known to be slow to respond to emails. Will keep you updated. I might have to release it under a different name/package name.

Toby
Steelgirder Developement -
Website
 
Last edited:

molesarecoming

Inactive Recognized Developer
Feb 12, 2012
7,532
27,173
Berlin
So my biggest problem is the caller ID not showing my Google voice # to people I call. If anyone knows of a fix for this, it would be great.

i know once i tried to figure it out in csipsimple and it wouldnt do, but i overlooked a field for it in my account details on the webpage where i bought the service. it worked fine after i filled in my number there.
 

urinsane

Senior Member
Feb 28, 2006
316
105
Maui
i know once i tried to figure it out in csipsimple and it wouldnt do, but i overlooked a field for it in my account details on the webpage where i bought the service. it worked fine after i filled in my number there.

voip.ms also lets you set outgoing caller id through their settings. I think you can actually spoof any number you want in there... kinda crazy.
 

Top Liked Posts

  • There are no posts matching your filters.
  • 8
    Some of us have been discussing VOIP options over in the prepaid thread ( http://forum.xda-developers.com/showthread.php?t=1455014 ) and thought we might as well break it off into it's own thread. While this could probably be a more general Android thread, I thought it best to remain specific for what works on OUR devices, as CPU/software do make a difference.

    Let me preface by saying I am still a VOIP newb. I've got the basics down (I think) but I welcome any and all advice or suggestions on things to add. I'm sure I got some things wrong. Obviously there are quite a few variables that come into play, including software, provider, codecs, and connection.

    Google Voice Solutions:
    GrooveIP: ($5.00)
    http://snrblabs.com/snrb/Apps/GrooveIP/FAQ.aspx
    MY Comments: not working reliably when off of Wi-Fi.

    Review by cyberpyr8 (Verizon Network): http://androidactivist.org/reviews/appreviews/app-review-groove-ip/


    Talkatone: (Free) Routes Google Voice through their own servers. Apparently converts to 3 different codecs. See more here:
    http://blog.talkatone.com/2011/06/16/talkatone-audio-compression-ftw/
    Comments: still testing


    SIP Providers:
    VOIP.ms: Pay as you go, basically. DID numbers for $1/month, incoming calls $0.01/minute. Outgoing to the US starting at $0.0105/minute. They bill in 6 second intervals. You add funds (minimum $25), and they take them as needed. Supports G711(PCMA), G729a, and GSM codecs.
    Comments: My current SIP provider. Interface seems fairly powerful when you get the hang of it. The 2 lower bandwidth codecs (G729a and GSM) seem to be fairly reliable, and G729 seems to be the better quality of the two. My WiFi calls have all been great, with very little lag time. Still testing.

    ttabbal adds:
    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.

    ttabbal adds:
    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.


    SIP apps:
    Built-In SIP: (Free) Codec support is limited; no G729?

    CSipSimple: (Free) Integrates into native dialer, lots of codec support. A lot of config options. Supports a ton of codecs. My current choice. NIGHTLY BUILDS HERE: http://nightlies.csipsimple.com/trunk/

    Bria: ($8.00) Quite a few options, but then they go and force you to pay even more for things like the G729 codec. Easy interface. I thought I had convinced myself I was getting better quality than CSipSimple, but I think that was related to outside variables. Does not integrate with native dialer.

    Sipdroid: (Free) The original. Seems a bit dated now; no G729 support.

    Other:
    Skype: reported to work well, but is not the cheapest route. I haven't purchased one of their plans to test, but for easy setup it may be the best option. Proprietary codecs?


    Terms for noobs: (Thanks ttabbal!)
    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.

    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.

    Asterisk: 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.

    Troubleshooting: (ttabbal again!)
    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.

    UPDATE: New tips from natesilver:
    1. Keep-alive.

    This pretty much isn't important on wifi because a home router will usually keep the NAT entries long enough to never lose registration. However on 3/4G the cell carrier will usually cut UDP entries very quickly (my provider cuts them as early as 20 seconds. Unfortunately most VOIP providers only use UDP protocol. This means that if you are using the standard ICS VOIP client, you WILL miss some calls without even knowing that you have become unregistered.

    There is an easy solution: go with a VOIP provider that supports TCP protocol. Why? Because cell carriers keep TCP connections open much longer. Personally, I'm very happy with VOIP.ms even though they are UDP only. What i did was create a free account at Sip2Sip.info (because they support TCP and allow free internet calls). My VOIP.ms DID is then forwarded via sip uri to my free Sip2Sip account so i can always receive incoming calls while on mobile, for no extra cost than VOIP.ms alone.
    The other benefit to this is that now while using CSipSimple, you can change the TCP keep alive interval to a longer time (think 600 s), to allow the phone to be in deep sleep longer and greatly save on battery usage. IMO this if a must if you are using VOIP on a mobile connection for incoming calls.

    The other topic is latency.
    Even with a very fast wifi or mobile connection, there is noticeable latency introduced by the Android OS when using VOIP. The playback buffer seems to be unnecessarily high so there is a delay from the time the phone receives a word until it is played through the speaker. This makes for a bizarre pause during conversation, especially if two people begin to talk at the same time. Don't believe me? Try an echo test with your VOIP provider. On a good connection, you should hear yourself back essentially at the same time you speak. With stock Android, you will not experience this. There will be a delay. Add even a small bit of network latency and the problem multiplies.
    I have a solution for you if you are using CM9 or AOKP or some other twist of these ROMs.
    Install the patch from this thread:
    http://forum.xda-developers.com/showthread.php?t=1674836

    Then to make it even better, use CSipSimple (nightly version) with OPENSL-ES enabled as backend implementation method for audio (somewhere in advanced media settings).
    With this setup, latency is reduced to almost nothing which you can verify with another echo test, or just simply from the improved call conversation quality you will experience.
    5
    some tips:

    This is a great thread. Thanks for reuniting this info all in one place!

    I've been using VOIP exclusively both for mobile and for landline for the past 18 months. Two very important things haven't yet been discussed in this thread.

    1. Keep-alive.

    This pretty much isn't important on wifi because a home router will usually keep the NAT entries long enough to never lose registration. However on 3/4G the cell carrier will usually cut UDP entries very quickly (my provider cuts them as early as 20 seconds. Unfortunately most VOIP providers only use UDP protocol. This means that if you are using the standard ICS VOIP client, you WILL miss some calls without even knowing that you have become unregistered.

    There is an easy solution: go with a VOIP provider that supports TCP protocol. Why? Because cell carriers keep TCP connections open much longer. Personally, I'm very happy with VOIP.ms even though they are UDP only. What i did was create a free account at Sip2Sip.info (because they support TCP and allow free internet calls). My VOIP.ms DID is then forwarded via sip uri to my free Sip2Sip account so i can always receive incoming calls while on mobile, for no extra cost than VOIP.ms alone.
    The other benefit to this is that now while using CSipSimple, you can change the TCP keep alive interval to a longer time (think 600 s), to allow the phone to be in deep sleep longer and greatly save on battery usage. IMO this if a must if you are using VOIP on a mobile connection for incoming calls.

    The other topic is latency.
    Even with a very fast wifi or mobile connection, there is noticeable latency introduced by the Android OS when using VOIP. The playback buffer seems to be unnecessarily high so there is a delay from the time the phone receives a word until it is played through the speaker. This makes for a bizarre pause during conversation, especially if two people begin to talk at the same time. Don't believe me? Try an echo test with your VOIP provider. On a good connection, you should hear yourself back essentially at the same time you speak. With stock Android, you will not experience this. There will be a delay. Add even a small bit of network latency and the problem multiplies.
    I have a solution for you if you are using CM9 or AOKP or some other twist of these ROMs.
    Install the patch from this thread:
    http://forum.xda-developers.com/showthread.php?t=1674836

    Then to make it even better, use CSipSimple (nightly version) with OPENSL-ES enabled as backend implementation method for audio (somewhere in advanced media settings).
    With this setup, latency is reduced to almost nothing which you can verify with another echo test, or just simply from the improved call conversation quality you will experience.

    Hope this helps some people.
    Keep the good info coming!

    Nate.
    4
    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 ----------

    Can you give a quick run down on why setting up Asterisk is beneficial in this situation? I've been looking into it and don't really see a need unless you have multiple extensions going, but the geek in me really wants to find a reason to set one up!


    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 ----------

    I been a GrooVe IP user for a while now. Whenever my phone is connected to wifi at work or home it goes into airplane mode w/ wifi enabled and changes my google voice # to forward to gtalk and use GrooVe IP.


    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.
    3
    My setup consist of
    Google voice.
    Google voice call back.
    Sipgate using the built in sip client.(all incoming calls to sipgate are free)
    T-Mobile $30 5gb plan.
    tasker beta to turn off cell radio when in Wi-Fi.
    Wi-Fi high performance app
    Router qos settings along with some bandwidth control and high priority to my GNEX Mac address= crystal clear better then cellular calls while at home.

    I use my Google voice #100%....I have my Google voice # fwd. To my sipgate and my T-Mobile #...when in Wi-Fi my cell radio is off so all calls automatically get fwd to sipgate which then ring my phone...no Wi-Fi... calls over hspa+ in Houston are good for me considering I consistently get 3-8 down and 1-3 on the upstream. If I can provided further details just ask. Thx.

    Big thx to codesplice for the tasker settings and Wi-Fi high performance app recommendation.

    Sent from my Galaxy Nexus using xda premium
    2
    My 2 main requirements:
    - Cheap. Trying to stay under $10/month, with an incoming 808 area code phone number.
    - must be reliable enough to make and receive calls in most outdoor locations. Since I'm on an island, coverage is actually decent in most areas, but GrooveIP seems to be a bit too bandwidth intensive. Still testing with Talkatone, seems hit or miss. Low bandwidth codecs for SIP seem to be most reliable (as they should be) but you sometimes sound like a robot.

    A few years ago, I had tried out Sipdroid back on my CDMA Hero with poor results, and abandoned my quest fairly quickly as I was on Sprint with plenty of minutes.

    My interest renewed with the $30 T-Mobile Prepaid plan that gives 5gb of data but only 100 minutes. I don't need many minutes, but 100 isn't quite going to cut it. I'm still testing and will be updating this post and adding additional info as I try new solutions. I have not yet decided on a single solution.

    My requirements are probably very different from most. I'm looking for it to play well with my prepaid ambitions. What I really wanted is to have Google Voice forward to my VOIP number and whatever prepaid number I was using that month. Google Voice is great, but I live in Hawaii, and the 808 area code is not eligible for Google Voice numbers. Can't get a new one, can't port one in.

    While in many places this wouldn't be an issue, people take the 808 area code very seriously around here. If you are giving out your number for business reasons, it is a serious disadvantage if you do not have that 808, and you are looked at as an outsider. Stupid? Yes, especially when anyone can just pickup a $20 prepaid phone at Wal-Mart and have one, but it isn't something that will change soon.

    My new plan is to use my VOIP number as my main number, and have any calls that go unanswered forward to the prepaid number. (EDIT: Just realized I could have this forward to a Google Voice # with any area code and maintain my 808 illusion... This might work!) VOIP.ms interface allows for this, however you are charged both the incoming rate as well as the outgoing rate for all forwarded calls (about 2.5c per minute total for Hawaii). This is still cheaper than getting seperate forwarding number from somewhere like hostednumbers.com

    As always, if anyone has any suggestions, please share.