yashsingh1/xdaforums huggingface dataset:
[Samsung Galaxy Nexus] codesplice:
If you contact T-Mobile customer service, you may be able to have them assign you a new number since you are receiving an excessive number of unwanted calls.

Unless you intend to use VoIP only, you will still need to rely upon that carrier number for standard voice calls.
[Samsung Galaxy Nexus] :
I'll try giving them a call... thanks for the advice.

And I would LOVE to go all voip, but I only have 1 or 2 bars of E signal everywhere I go :(
[Samsung Galaxy Nexus] codesplice:
Yeah, that's not really a realistic option for most folks. Best bet is definitely to first try to get a new number.
[Samsung Galaxy Nexus] muyoso:
I keep getting texts in Spanish that these people I don't know have posted to my Facebook wall.
[Samsung Galaxy Nexus] tom1l21:
Well I followed this guide to a T and i get the dreaded "your call could not be completed" message when making outbound calls. Incoming calls ring and go to voicemail but my phone never receives any calls. I even logged into the desktop site and made sure the password for my google voice account was correct. I have also tried checking "forward calls to google chat" in google voice (not sure if that needs to be checked or not) and still no calls being made. Anyone figure this out?

EDIT: SO I FIGURED IT OUT, sorta.

After you follow all the steps, you have to go back into the pbxes.org site and change extension password to your gmail password. This only worked after I created my account and after I disabled Google two step authentication. When I used sip droid and had 2-step on, I never received a prompt for it. Does anyone know how to get this working with 2-step enabled?
[Samsung Galaxy Nexus] haley_joel_osteen:
Yes - this absolutely has to be checked for the incoming calls to be forwarded to PBXes/Sipdroid (that's why it is checked in the screenshot in the top post).

I never had to disable 2-step to get mine working, I would recommend that you double check each step to see if you missed anything. There is also an informative post a few pages back that shows exactly which passwords in PBXes/Sipdroid have to match (numbered #1 - #4), you might want to check that.
[Samsung Galaxy Nexus] tom1l21:
Yeah I just re-enabled 2 step and have no issues. One question, is there any benefit to using the Sipdroid app vs the native dialer integration? For me, the native dialer is working great, and I hate the ugly interface of Sipdroid. I only used Sipdroid to setup the pbx account info. Thanks.
[Samsung Galaxy Nexus] haley_joel_osteen:
If I understand you correctly, you're saying that you just want to place calls using the native dialer with its GV integration? This will work fine, but it will bypass PBXes and use a portion of your 100 monthly minutes. As I understand it (and someone please correct me if I'm wrong), you have to use Sipdroid in order to connect with PBXes and make a VOIP call (over Wi-Fi, HSPA+, 3G, etc.).

I just have my Sipdroid set to ask me everything if I want to use it. That way I can begin a call in the native dialer, then choose Siproid or phone cell depending on the connection I have at that time.
[Samsung Galaxy Nexus] tom1l21:
I am able to place calls with the native dialer using SIP and pbxes.org. This is what it looks like .

If you go into the dialer, you can go to the internet calling option and configure it to work with SIP by entering in your user name, password, and server (in this case, pbxes.org).

I just re-enabled 2 step and after a few minutes, it borked my internet calling. I just turned it back off, reconfigured my account, and now it's working again. For some reason, 2-step is getting in the way of things and I don't know how to bypass it. I guess I'll just have to leave it off until I can figure it out.

And all of this uses exactly 0 minutes from my plan since it states its an "internet call" in green. I have even checked on my tmobile account and it hasn't used any minutes.
[Samsung Galaxy Nexus] thor79:
I took me a few tries of resetting up my pbxes account to get it working properly while still having 2 factor auth enabled (I'm using an app specific password).

The fact that you say you can use the native dialer by using internet calling with pbxes is interesting...I'm wondering if this doesn't have some affect on call quality. I'd like to do this as the damn Sipdroid client doesn't let me answer calls 90% of the time. I receive a call, but then I sit there swiping my finger trying to answer it...but it doesn't register the full swipe and I miss 90% of my calls. I know the phone is registering the swipe as I have the developer option "show touches" enabled and can clearly see the dot under my finger...so it must be sipdroid being buggy with touch tracking. I'm going to give the native option a try and report back.

Edit: I tried this...but it required me to disable airplane mode...from the Tasker profiles I setup. The first time I tried it, it seemed to work...it went via internet calling. But since then what I get when I try to make a call is "Calling via Google Voice"...and no "Internet call" in green.

After some fiddling...it's Google Voice overriding the prompt asking if you want to make a phone call or internet call since Google voice is setup to be used for all calls it ignores whatever you set in the internet calling setting...thus sending your outbound calls over google voice and using up minutes. By setting "Making calls" under google voice settings to "ask every time I make a call"...then setting the internet calling to "whenever a data connection is available" you just have to choose between using google voice (uses minutes) and not using google voice (does not use minutes and displays "internet call" in green). When NOT using google voice you can also have airplane mode enabled. Also both ways still register your google voice number as the caller id number. Call Quality doesn't seem to be impacted at all...so this seems to be a valid option for those who prefer the native dialer.
[Samsung Galaxy Nexus] tom1l21:
Yeah I'll have to do some more digging as to why two step doesn't work (it appears to mess with the extension password or something on pbxes.org even after I change it to my gmail password). Anyways, stock dialer works like a champ and I think that option should be included in this tutorial since it works much better than Sipdroid.

Here is the guide I followed for it.
[Samsung Galaxy Nexus] thor79:
See my added comments on my last post...figured out how to make it clear when I want to use internet calling and when I don't.

You have to use an app specific password for pbxes if you want to use 2 factor...it doesn't work with your standard password as that is protected by 2 factor authentication (the 2nd factor being the Google Auth app on your phone)...and it's impossible for pbxes to use that. There are 2 places you have to enter the app specific password in the pbxes account:

Extension - under device options (make sure to select the SipDroid extension it created for you (though I suppose you could rename this now that you aren't using it))

GTalk Trunk - under Account

When you change the password on the Extension you'll need to APPLY it as warned when the page refreshes...otherwise it won't go through.

Your general password for the account (under Personal Data) can be different but needs to be the same as the password you enter into the internet calling account on your phone.

edit: that guide doesn't mention anything about changing the port and protocol used for pbxes in the internet account dialog...you need to do that since they use 5061 (though for me 5060 also worked as I forgot to change it)...and more importantly TCP for the protocol. I would think that wouldn't work without that...unless it works either way and they just setup sipdroid to use that specific port and protocol when registering a new account on pbxes.
[Samsung Galaxy Nexus] tom1l21:
I'm not sure sip droid does it automatically, but my port is 5060 ( I didn't change it from the default one) and the protocol is UDP and it works great.

I'll try your advice on getting passed 2 step, Thx!

Edit: from what I've read, UDP is better than TCP for voip.
[Samsung Galaxy Nexus] codesplice:
TCP is better for the registration/listening connection as it makes sure no calls are missed. Using UDP for this connection could (and likely will) result in missed calls as it is much more difficult (and harder on the battery) to maintain the connection with the SIP server.

UDP is pretty much universally used for the actual voice transport as it requires much lower network overhead. Streaming any media over TCP will generally provide a poorer experience than using UDP.

otherwise, good info posted here today. I'll take another look in the morning (long day, about to pass out) and add some additional remarks. Thanks all for keeping the discussion going!
[Samsung Galaxy Nexus] tom1l21:
Awesome, glad I could help! So TCP is better in that I won't miss as many calls, but I'll have more connection/QoS issues in the call than I would with UDP? So there's kind of a tradeoff? Also, thank you again for this wonderful writeup!
[Samsung Galaxy Nexus] codesplice:
Unless I'm mistaken (no, never!), UDP will pretty much always be used by every VoIP service for the actual voice/call transport. As you alluded to, UDP allows for better streaming with dropped packets as the transmission is not interrupted. If a packet is dropped, it just gets left behind in order that the stream can continue smoothly. There may be a moment of sound that doesn't get through, but it won't bring the whole transmission to a halt. UDP is like the honey badger in that it just doesn't give a fsck.

If you have the option (as with PBXes) you should choose to use TCP as the registration/listening transport - pretty much for all the reasons we wouldn't want to use it for the voice transport. TCP is able to maintain a connection (a socket) much better because it is by nature a reliable transport. If you send a packet via TCP you can rest assured that the network will do absolutely everything it can to make sure that packet reaches its destination. TCP is like a Marine, no man gets left behind and all that. This has two huge bonuses for us: fewer keepalive packets are needed to keep the client and server in sync (since the established socket remains open even when data isn't actively flowing) which decreases the battery hit, and you are far less likely to miss the packets that may be signalling an incoming call.

It really is a no brainer. If you've got the option, use TCP for the registration/listening connection.

Okay, that was a novel. I'm going to bed for real now. Have a good one.
[Samsung Galaxy Nexus] tom1l21:
That definitely makes more sense, thank you for explaining. Do you have a PayPal account or something for donations? Putting this guide together has saved me a ton and wouldn't mind giving recognition where its due.
[Samsung Galaxy Nexus] haley_joel_osteen:
You can do what I did - if you're purchasing your T-Mobile refill cards from CallingMart (which will save you money anyway), you can put codepslice's email as your referral source and he'll get some benefit that way. (His email is in one of the screenshots in the OP.)
[Samsung Galaxy Nexus] austriker27:
So I set this up on my G2, seemed pretty straight forward and it shows as connected. I am interested in codesplice's opinion:

can you see any negatives to doing this?

Also I noticed in the 'how to' post it says "At this time you should also disable call forwarding to your mobile number to prevent conflicts with Internet Calling." , did you also do this tom?

Also should we set the phone settings for voicemail to go to google voice? or I guess that is irrelevant because we are using the google voice number, not the tmobile (prepaid) number eh
[Samsung Galaxy Nexus] codesplice:
I'm glad to help out, but I don't need any donations. It doesn't cost me anything to provide the information I have, and being able to give back to the community is reward enough. I do appreciate the thought though!
[Samsung Galaxy Nexus] codesplice:
The only issue I had when I tried using the native SIP solution was having to manually choose how the call should be placed. I'm a pretty big fan of automation (hence all that complicated Tasked nonsense) and it irked me that I couldn't automate the Google Voice outbound call setting. I just want to dial a number, hit send, and then be connected. I don't need any additional prompts in my way - but that's just me.

The other thing I noticed was that SipDroid seemed to keep a more reliable connection... but I may not have set the native SIP to use TCP port 5061.

I think that how to was written from a VoIP-only standpoint. Unless you will ALWAYS be reachable via VoIP, you will probably want calls to reach your carrier number at some point. I would recommend either using the Tasker-powered airplane mode function (or AutoAP) or the Locale Google Voice Settings plugin to automatically manage the forwarding settings. This should make sure you are always reachable while preventing annoying duplicate incoming calls.

Yup, those voicemail settings don't apply for calls made to your GV number.
[Samsung Galaxy Nexus] tom1l21:
I'm using my phone purely as VOIP, so I set my native dialer to always make internet calls when available; there is a setting in the stock dialer for this codesplice, not sure if you saw it or you simply use both VOIP and minutes and didn't like choosing, but I digress....

I've encountered a couple things so far using the native dialer integration:

1. There is no call waiting. When someone calls me while I'm in a call, it will simply ring on their end and go to my voicemail. I actually hate call wating and find it annoying, so this is actually okay for me.

2. When someone calls you, you cannot call them back by clicking on their number in the recent call log. It will always give some weird "can't connect" or other error in addition to adding some weird IP address after their number. You have to either click on their name from your contact list and call them, or manually dial out their number. I'm not sure why this is, any ideas?

3. When someone calls me, I will get ringing relatively quickly (within 1-2 secs), but after about 10, it will hang up and go to voicemail. Is there any way to extend this time, perhaps in the pbxes.org site?

4. Any way to change/improve codec support with native dialer through pbxes.org, or is that strictly a Sipdroid thing?

5. Any other improvement that I can make to the call/connection/quality through the pbxes.org site?

Just trying to optimize my VOIP only experience, so far I'm loving it!
[Samsung Galaxy Nexus] krazykeyur:
I'm with Simple Mobile now (for this month atleast.. gotta love Google Voice!) but while I was doing voip, I found the native SIP to be lacking in just one category.. choosing codecs.

The only workaround to that I found was not free. That workaround was using voip.ms to make the calls. Calls with voip.ms are 1 cent per minute for US calls, .5 cents per minute for Canadian calls (Voip.ms is Canadian company.. eh!)

Within voip.ms settings, I can make the calls use GSM codec only.. which is only about 50kbps-60kbps total (inbound voice + outbound voice + overhead headers).

But with this option, you gotta pay! 5 bucks for 500 minutes within US.

I would choose CSipSimple over native SIP.. and native SIP over the rest. Just my opinion :)
[Samsung Galaxy Nexus] austriker27:
Looks like another key disadvantage is the stock dialer does not let you call with airplane mode engaged even though I have the internet calling setup through it and just received a call. I didnt even get to the part about additional prompts, it just wont dial with airplane mode engaged..

Also the caller noticed some pretty apparent feedback/echo that seemed to decrescendo each time he talked. Not impossible to conversate with such but it was shirley (and dont call me shirley) annoying for him. Has anyone else had this issue?
[Samsung Galaxy Nexus] tom1l21:
The caller on my end did not notice any echo and said I sounded like a normal call (on HSPA). Also, I can make calls in airplane mode provided I'm connected to WiFi. All with the native dialer.
[Samsung Galaxy Nexus] thor79:
As I stated previously...it is Google Voice blocking the call if you have it setup to use google voice for all calls. Set Google Voice to prompt you every time you make a call...then when you make a call and choose "without Google Voice" it will make a true internet call even when you have airplane mode enabled (it will display a green "Internet Call" in the dialer when you are making a true internet call (and it will not use minutes)). When you don't have it enabled you can still choose to make an internet call...or you can use Google Voice as normal...though Google Voice will eat through your minutes of course...as it uses your cell provider's voice network for the call. That's why you can't enable Airplane mode while relying Google Voice to place your calls.

Your Google Voice number will be the caller ID number either way...at least that's what my second google voice registered when I called it via my phone both ways (with and without GV)

I prefer picking and choosing when I place an internet call and when to place a regular call...I don't really want the possibility of accidentally placing a voice call because the wifi signal just happen to drop just before I made the call.

One thing I ran into today was an inability to place a call to my bank, it just kept ringing like no one was there. It had a strange ringer that sounded something closer to a european ringer rather than the typical American ringer. I tried calling my second GV account and it went through just fine. I finally gave up and turned off airplane mode an placed a call using my minutes...fortunately the call didn't take long. It might have been a poor connection or something...as while trying to call I got several timeout messages. This was all on my work's wifi around lunch time...so there may have been heavier traffic than usual. I received a call earlier that morning via VOIP just fine and the call quality was perfect. The guy calling me gave no indication that it was any different from a regular call.

Just talked to my dad via voip on my home network...he said it sounded like a normal call...so I'd say the native dialer works just fine. Oh and I got the same ringer when calling him...so must just be how the voip ringer sounds....I figured it would be the same as a normal phone call.
[Samsung Galaxy Nexus] austriker27:
Good to hear the quality is there, I definitely want to get this working if I can.

So weird. Internet calling was working, but the other person was getting mad echo. So I tried to switch to sipdroid and now nothing works.

I get what you are saying but google voice does not prompt me each time..

I have all my pbxes info entered correctly in the stock dialer. (it says "receiving calls"). And I have "Use Internet calling" to "for all calls when data network is available". Also google voice is set to ask me everytime I call, however it does not. I click on the phone icon to dial from the stock dialer and it goes straight to the dialing screen with "internet call" in green. Then after about 10 seconds it says "no response, timed out". Any ideas? I tried to reset everything in the stock dialer, and even reset my pbxes gmail specific password. I would like to use the stock dialer but it seems in my vain attempt I may have ruined everything.

at google.com/voice, do we want it check or unchecked to forward calls to our prepaid mobile? I tried both ways and it didnt help, right now its unchecked..
[Samsung Galaxy Nexus] codesplice:
Like thor79 said, if Google Voice is set to handle all calls it will prevent you from making calls using the stock dialer when Airplane Mode is enabled. GV must be set to "ask every time". I don't have the patience for all those prompts though, so that's a big reason why I don't use the stock SIP support.

It sounds like you have two issues here. First, Google Voice isn't prompting as it should; second, outgoing VoIP calls aren't working. For the first issue, you might try clearing the Google Voice application data and setting it back up. Especially if you've been hopping ROMs and restoring from Titanium Backup sometimes the settings can get stuck.

For the second issue, I'm guessing it's some nature of authentication mismatch. There was a post a few pages back that mentioned explicitly which passwords have to match. If I remember correctly, the PBXes GTALK trunk password must match your Google application-specific password, while the PBXes Sipdroid trunk password should match the password specified in your SIP client.

Also make sure that you have the correct username configured (username-XXX, where XXX is the extension number) and the correct port specified (TCP port 5061).

This has absolutely zero impact on the handling of VoIP calls. As long as GV is set to forward calls to Google Talk you should be good to go on the VoIP aspect. The choice on whether or not you want GV to forward calls to your mobile number is entirely up to you. Personally, I like to have calls forwarded to my mobile number so I can still receive calls when VoIP isn't available. If you absolutely don't want to use any of your minutes though you should disable that forwarding.
[Samsung Galaxy Nexus] gthing:
I can't seem to get sipdroid to work reliably.

I tried both the WiFi High Performance Widget as well as one called Advanced Wifi Lock Free but Wifi still sleeps when the screen is off, causing sipdroid to disconnect. I also tried enabling the tasker profile, but wifi will disconnect, causing it to come out of airplane mode, then a call will come in, the screen comes on, wifi reconnects, and it goes back into airplane mode.

If I just leave it be, then both ringers will come up, but not in any sort of predictable way. The sipdroid one will ring for a second or two, then hangup and the stock dialer will kick in.

I guess I should mention I went with the sipdroid+pbxes method.

Any idea how I could make this a bit more reliable? I only care about voip working on wifi and as far as I understand sipdroid should take over if it's available. Maybe I've done something wrong in my setup?

(I also noticed you can change ring times at pbxes.org now - beyond 15 seconds, but it still seems to be really short. Is 15 seconds still the limit?)
[Samsung Galaxy Nexus] haley_joel_osteen:
You are experiencing the exact same issues I've run into. I spent hours trying to resolve it, only to learn that it's most likely due to Wi-Fi issues with JB. Apparently there is an issue for Wi-Fi on certain GNexes that came with ICS and then did the OTA upgrade to JB. Very frustrating.

This thread at XDA is discussing the issue:

http://xdaforums.com/showthread.php?t=1769908

And there is a bug report at code.google.com regarding the issue:

http://code.google.com/p/android/issues/detail?id=34942

If you look in post #43 at code.google, they are asking people to submit a bug report, please do so if possible.
[Samsung Galaxy Nexus] rafa3L:
Great idea. I just used his email for the referral. 5% off at callingmart for t-mobile thru 9/3 using coupon code B2S125.