Related
I recently jumped from a Captivate to an Epic 4g, of course that means AT&T to Sprint, but I didn't want to sell my Captivate I love it so...
I decided it was time to manufacture an @home landline. A couple hours of fiddling have resulted in my ability to use Google Voice for free inbound and outbound on a phone with no cell service, all just over wifi. I didn't know where to stick this... so here it is.
I found this method a little bit easier than using PBXes.org as honestly I didn't find an updated guide to setting up such a thing, and I wasn't following those guides very well anyways, but wanted a project that I could grind out in an evening.
Have an Android phone without current cell service? Or just have a geek gnawing on your insides? Follow along.
Step 1, Install Google Voice, Google Voice Call Back, and Sipdroid on your Android phone, reset the phone.
Step 2, Sign up at sip2sip.info for a SIP number.
Step 3 Register that sip info (found in your email now) at www.ipkall.com, also enter that same info into your Sipdroid app in the sip account settings on said phone.
Mandatory! Test call the number ipkall assigned you from another phone, your SipDroid should ring, answer it and verify. This way if the number is not valid in Google Voice, ipkall will assign you a new number the next time you signup. If you don't test call, you will get assigned the same number, over and over.
Step 4 (possible tedium) Find a number available from ipkall that isn't already sitting registered but expired in Google Voice, this may require registering and deleting your account at IPKall multiple times to get a valid number for use at Google Voice.
Note: Ipkall gives you only Washington state numbers, I recommend the (206) area codes as I tried 12 of the (425) area codes all of which failed as they had previously been registered in Google Voice. Don't worry about what state this number is in, this number is just a go-between, you will in the end be using your Google Voice number.
Step 5 Register the inbound only washington state number ipkall assigns (the one you found that works) into google voice so that it is your forwarding number.
Test call Google Voice number, your SipDroid should ring.
Step 6 Make sure Google Voice app is used for all outbound calls on your phone, I can't guarantee this is needed, but theres no point in not having this assigned as the phone is otherwise dead to the world.
Step 7 Make sure that Google Voice Call Back is intercepting all calls.
Outbound test call... call someone who cares.
The way Call Back works in this fun little project is GVCB will intercept all calls made, call you back from your google voice number... which in turn is forwarding to your ipkall number which is forwarding to your SIP number which will cause SIPdroid to ring your phone, then when you answer the "call back," it will immediately ring the number you dialed. All free, but perhaps a bit tedious for the average phone user. This circumvents the need for a mobile number associated with the phone being used.
Awesome! this is what I need! Pbxes doesn't seem to want to let me register, and I have almost zero signal at my new place. So, I got to step 3, tried calling the number and i get a recording telling me that my call can't be completed due to network error, error #101. Not sure what that means...
edit-nevermind, bad setup. Now I've got it to ring sipdroid, but I can't hear anything. Trying to verify the number with GV, but this lack of audio is troubling.
did you reboot the phone after getting sipdroid installed?
Also try playing around with the audio codecs, limiting it to a couple at a time to see which will work. I had the same problem at first but after one of these things the audio came in clear as a bell and havent had a problem since.
sevenvt said:
did you reboot the phone after getting sipdroid installed?
Also try playing around with the audio codecs, limiting it to a couple at a time to see which will work. I had the same problem at first but after one of these things the audio came in clear as a bell and havent had a problem since.
Click to expand...
Click to collapse
alright, i'll try rebooting and different codecs. Only problem now is that I don't have a second phone to test it with, so i'll be waiting until Monday to use the work phone.
thanks! great thread
Yes, the 2nd phone makes this process easier, otherwise you can't complete the test calls to the ipkall phone number, and you also can't test any changes or audio. I popped half a headset each on either side of my head one plugged into each phone and tested my setup that way, muting either phone and making sure audio was getting through to the opposite ear.
Edit: I also found that if i was testing the phone side by side with the phone used to call it, I had to practically yell to get my voice to register on my sipdroid. After muting the other phone, sound worked perfectly.
I am having trouble getting my Sipdroid to dial out. I have not had any issues with receiving calls either through the IPKall issued number, or through Google Voice redirected to the IPKall number.
Whenever I try to dial out using either IPKall or Google Voice it attempts to make the call and immediately ends.
Nevermind, I now realize the need/use of Google Voice Callback. Everything seems to be working just dandy now. Thanks!
Well, tried all of the different codecs, some don't allow the call to connect, but in the end, none of them allowed me to have audio either incoming or outgoing, so I guess this isn't going to work for me....can anyone that has this working, possibly with Cognition, give me their EXACT settings?
call options i have "sipdroid only"
audio video I have all gains to medium (no audio if i increase or decrease any of these)
I have pcma pcmu and bv16 codecs enabled over wlan only, others disabled.
Wifi is set to never sleep and sipdroid itself is not allowed control over power.
All other settings are stock.
Again, I noticed that if the one of the lines was not muted, my sipdroid didn't give me audio back, but would still feed my test line audio.
So I call my googlevoice, I pickup, I talk into sipdroid and hear my voice on the test phone, I talk into testphone (without sipdroid muted) and I get no audio. I mute sipdroid and talk into test phone and sipdroid picks it up just fine. Same in reverse muting.
sevenvt said:
call options i have "sipdroid only"
audio video I have all gains to medium (no audio if i increase or decrease any of these)
I have pcma pcmu and bv16 codecs enabled over wlan only, others disabled.
Wifi is set to never sleep and sipdroid itself is not allowed control over power.
All other settings are stock.
Again, I noticed that if the one of the lines was not muted, my sipdroid didn't give me audio back, but would still feed my test line audio.
So I call my googlevoice, I pickup, I talk into sipdroid and hear my voice on the test phone, I talk into testphone (without sipdroid muted) and I get no audio. I mute sipdroid and talk into test phone and sipdroid picks it up just fine. Same in reverse muting.
Click to expand...
Click to collapse
Thanks for the info! I tried your settings, still no audio. Really annoyed. Oh well.
Trying calling 3333 on SipDroid. That will connect to sip2sip's audio test. If you do not hear any audio then there is something wrong with your settings to sip2sip.
Shouko said:
Trying calling 3333 on SipDroid. That will connect to sip2sip's audio test. If you do not hear any audio then there is something wrong with your settings to sip2sip.
Click to expand...
Click to collapse
Tried, no audio. What should I have for settings? here's what's there now-
server - proxy.sipthor.net
Domain - sip2sip.info
username or caller ID - not entered
port - 5060
protocol - udp
and then I've only checked off "Use WLAN".
I've tried TCP for the protocol, but then the program never logs in, dot just stays yellow.
These are the same settings I have except of course with my username
One thing we haven't considered is your port handling on whatever router you have going on or firewalls.
Authorization Username
<sip2sip2 phone number>
Server or Proxy
proxy.sipthor.net
Domain
sip2sip.info
Port
5060
Protocol
UDP
Use WLAN
These were the settings I used for SipDroid. If it still does not work, you can try CSipSimple.
Shouko said:
Authorization Username
<sip2sip2 phone number>
Server or Proxy
proxy.sipthor.net
Domain
sip2sip.info
Port
5060
Protocol
UDP
Use WLAN
These were the settings I used for SipDroid. If it still does not work, you can try CSipSimple.
Click to expand...
Click to collapse
OK...so, CSsipsimple is nice, i like the interface more than Sipdroid, but it too lacks audio. Could this be a network problem? I've yet to try this on my home router, since I have no phone to test it with there. I guess I could test it over 3g?
edit- yep! 3g works...annoying. guess I can go ahead and set the rest up, and hope that I can get it to work at home. Called my GV number, Csipsimple rang, so it's routing correctly, I heard myself on both ends. Confused as to how GV call back works, and if I really need it.
ryboto said:
OK...so, CSsipsimple is nice, i like the interface more than Sipdroid, but it too lacks audio. Could this be a network problem? I've yet to try this on my home router, since I have no phone to test it with there. I guess I could test it over 3g?
Click to expand...
Click to collapse
If you are using a public or work wifi, most likely some ports will be blocked.
ryboto said:
edit- yep! 3g works...annoying. guess I can go ahead and set the rest up, and hope that I can get it to work at home. Called my GV number, Csipsimple rang, so it's routing correctly, I heard myself on both ends. Confused as to how GV call back works, and if I really need it.
Click to expand...
Click to collapse
IPKall only allows incoming calls. So you would need to use Google Voice Callback to make outgoing calls. GVCB uses Google Voice to call your IPKall number. Then when you pickup (free incoming), GV will connect you to the number you want to call. When you configure GVBC, you need to set your callback number to your IPKall number.
Shouko said:
If you are using a public or work wifi, most likely some ports will be blocked.
IPKall only allows incoming calls. So you would need to use Google Voice Callback to make outgoing calls. GVCB uses Google Voice to call your IPKall number. Then when you pickup (free incoming), GV will connect you to the number you want to call. When you configure GVBC, you need to set your callback number to your IPKall number.
Click to expand...
Click to collapse
Yea, I figured out how it worked, made some calls. There's a HUGE delay though, possibly around 1-1.5 seconds, and apparently my audio breaks up. I made some calls over wifi at home when this happened. Also, CSipsimple has trouble registering my SIP randomly, whereas Sipdroid always connects. I just need this to be a little more reliable. There's no way I can have a conversation with that much delay.
has anyone tried this over or virgin mobile? does this work over cell internet? because an optimus or intercept with this for $25 month with unlimited internet would be awesome. even better if you can get a modded epic or fascinate on virgin mobile. maybe the speeds would suck but it beats what i am paying right now.
even better, metro pcs has lte in my area (seriously, they beat verizon and att to that wtf?) and a phone that is like a galaxy s with a crappy screen and camera on it. still should be fast and cheap, just need a way to get around paying for talk minutes.
Hi All! This is my first guide/thread so be kind. I was looking for a way to conserve money... I am on boost prepaid and it gets quite expensive when talking, or sending a few txt messages. I found there is a way to activate unconditional call forwarding which, now unfortunately does use up minutes, once activated (*72XXXXXXXXXX for boost) calls are automatically forwarded to a google voice number, and can be deactivated (*720 on boost). There maybe many ways to call forward depending on your carrier; http://en.wikipedia.org/wiki/Call_forwarding... EDIT: now boost is charging me for forwarded calls, so I just call back with groove... the automation is still helpful though:
I think I have finally found the easiest most reliable method; you will need to enter your forwarding codes if you aren't on boost:
Needed items:
Android phone on carrier of your choice. Or you can use a tablet for wifi only calls, if your tablet doesn't have a mic, then try using a bluetooth headset.. maybe even a usb dongle if there is no bluetooth, but usb is available
Google voice (from market), and a google voice account (to send free SMS messages)
Groove IP ($4.99 one time in market to make/receive free voip calls)
LLama app (free, but we need this test version: http://www.mediafire.com/?qp5dfbqsc8ci88g) This version of LLama includes permission to dial #s, this is needed for forwarding #s, so don't use the one from the market.
In theory, groove IP can work over 3g, but in reality it doesn't for me. A short call to someone on the same cell network works at times, but calling anywhere else results in a choppy frustrating mess... therefore this guide assumes groove only works for you over wifi.
1) Get your apps installed.
2) Open Google voice, login, choose never use google voice to make calls, I had to skip the part where it asks you to setup voicemail because this requires conditional call forwarding (rings phone first then forwards to voicemail) which my carrier doesn't support. Your miles may vary here, but I recommend skipping this for now. When responding to, or sending text messages check the box 'always perform this action' and choose voice. Ask the people who txt you to now txt your google voice number. They will figure this out if you always respond to their messages via the google voice app.
3) Connect to wifi, run Groove IP, and login. Groove can be tricky to get working perfectly, but with some tweaks it works great for me. Here's my grooveIP settings:
uncheck 3g/4g calling, check accept calls on answer, under native dialer options-built in dialer preference- choose wifi only, under native dialer-exclusion numbers, enter your forwarding and 'disable' forwarding codes (dependent on carrier) separated by commas. Under audio/echo settings lower your mic gain, mine is set at -8, but yours may be different. Under miscellaneous check autostart and enter your default area code for easier dialing. Now verify calls are working by dialing the google voice test number: 9093900003. This will echo back everything you say so listen for echos/distortion, then make adjustments necessary. Use the 'troubleshooting' section under settings as a last resort, as you *should* be able to get everything working better if it is working at all at this point... tested on an evo 3d and an evo shift.
4) Run the LLama app. This will take the longest to configure of the three, click through the app and read the little one time dialogue boxes. This is a great free app, so if you find it useful, please donate some money to the developer. The configuration here may take some tweaking depending on your personal lifestyle, but I will share my current configuration(s):
a) Under Areas, I have Home, work, etc, anyplace there is a reliable wifi connection. Locations are based on cell towers and will need to be 'learned'
b) Under events: I deleted all the defaults and created:
* 'Near Hotspot': At 'locations' home, work, friends, family, school, etc (fill these in with your wifi enabled locations), delay for 4 minutes cancelling delayed if false, then turn on wifi.
* 'Wifi connected' When wifi is connected to <Any Wifi network> run Groove IP, run shortcut 'Forward' (direct dial to contact 'Forward' - *72XXXXXXXXXX), queue another event; wait one minute, disable mobile data (optional)
* 'Wifi Disconnected' When the phone is disconnected from <Any Wifi network> delay for one minute and enable mobile data
(disabling/enabling mobile data are optional but help conserve battery)
* 'Away from hotspot': When the phone disconnects from <Any Wifi network> delay for 2 minutes cancelling delayed if false, then disable Wifi, run a direct dial shortcut 'unforward' (*720), then run an android intent com.gvoip.STOP_GROOVE_IP. For this intent, choose custom, broadcast for the intent send mode, the package name is 'com.gvoip', and the action is 'com.gvoip.STOP_GROOVE_IP', leave everything else blank. This is needed because simply killing groove IP will result in it restarting automatically.
c) leave profile tab alone for now
d) troubleshoot to work out glitches... you can use the little clock icon in LLama to see history and what triggered last events
This does take some initial configuration/tweaking, but once everything works, it's just awesome. Now whenever I'm nearby a wifi hotspot I don't have to pay for minutes when making calls, and SMS through google voice is free always. Best of all, everything happens automatically so you don't forget about connecting wifi, forwarding/unforwarding, or starting/stopping groove IP. Remember to hit thanks if this helps you lower your phone bill.
**Edit**
This guide may still be helpful for a quite a few people, but unfortunately Boost is now using minutes on forwarded inbound connections... which sucks, because they weren't for about 2 months, and nothing changed. What you can do though, is leave out the forwarding aspect of this automation sequence. When people call, just don't answer and call them back right away via groove, or sms from google voice, this way you will still be able to conserve your minutes while on wifi. You still must use minutes both calling and receiving a call while driving or in motion, and google voice is always free for sms.
Terrific guide. Very detailed, thanks button pressed. Quickie question: If I begin a call on WiFi, but wander away from the hotspot coverage, it will drop correct?
Happy Thanksgiving!
Hey KidFromBigD, like your logo, I am a fellow boilermaker
To answer your question: you would drop the call if you were to disconnect from wifi or leave the area. This is why it's important to stay in range of the wifi hotspot, make sure there is no interference by doing a scan initially and setting your router to a channel not occupied. Also make sure transmission or your other torrent client isn't running full throttle, otherwise voice will sound all garbled. In terms of QoS voip should be prioritized, but I don't think all home routers treat groove with priority.
q-killer said:
Hey KidFromBigD, like your logo, I am a fellow boilermaker
Click to expand...
Click to collapse
Wow, since I installed llama, I've been obsessed with making it work for me. Truly haven't even scratched the surface of what this thing can do. Of course your original post described how to make VoIP calls with Groove, but running out of minutes hasn't been a problem for me. This is why I like the forums: You never know what you'll see and how you can improve your smartphone experience with a simple app.
PS: Earned my BSEE from Purdue in 1992.
You could port your number to google voice to get around forwarding
I am using GrooveIP and Llama as well, I ported my number to google voice and i have all calls go to 'chat'. when I am on Wifi, I will receive calls, but when I have data turned off (when I am not on wifi I usually do) it goes to voice mail. The fact that Google Voice is involved is transparent to people calling me. I don't think you have anything to lose if you port your number to google voice, because then it can follow you across any carrier, sim card or phone.
If I am expecting an important call I will forward to both my mobile number (sim card number) and to chat. So I can pick up if I need to.
This is not perfect but it saves a ton of minutes.
I would like to have llama change my GV to forward calls only to chat during wifi connections, and then forward to my mobile number when not on wifi. anyone know how to do this?
Thanks for the tutorial
Hey guys,
About Groove IP. How on Earth do I program it so that calls to my TMO number will automatically be forwarded to my Google Voice number? I can make outbound calls using Groove IP with no issues as I just access and call via the app directly. But it seems to me incoming calls just go straight to my phone. I don't use minutes too often, but I'd like to save my monthly 100 minute allotment if possible!
In case anyone asks, yes, I have call-forwarding set to Google Chat and I've unchecked the box next to my cell #.
Check your individual contacts and group settings
If I am reading your post correctly, it sounds like you pretty much have the basic settings correct. Groove IP works via Google Talk so it is important that you have added Google Talk as a "phone" on the "Phones" tab in the Google Voice setup via their web interface. It sounds like you have done that though. Since you do not want calls to your GV number to forward to your cell phones number, you need to ensure that you have unchecked the box next to your cell phone entry on that same "Phones" setup page (if you leave the receive text messages and voicemail notification boxes checked, those two things will still work even if you have unchecked the phone for voice forwarding). Once again, it sounds like you have already done this.
I have found that if both Google Talk and the cell phone number are set to forward, the cell phone number will always start ringing before Groove IP starts ringing. Groove IP usually starts ringing around the 3rd ring of the cell phone number. If you are answering your phone on the first few rings, you may not know if Groove IP is really ringings through or not. This does not solve the problem of why your cell phone number is ringing if you have forwarding to it shut off but you might want to do a test call to your GV number and let it ring while watching the display on your cell. If it is ringing through to your cell's number, a screen displaying the caller ID and options to answer the stock dialer should appear. If Groove IP is properly forwaarding to Goole Talk, the the Groove IP screen should come up over the stock caller ID screen somewhere around or after the third ring of your actual cell phone number. If Groove IP does eventually forward through then you know that the Google Talk forwarding is working and you then just need to solve the cell phone forwarding issue. If Groove IP does not forward via Google Talk, there are several things you need to check.....
Groove IP works by default over WiFi but can also use your 3G/4G network if you are not connected to WiFi. That ability is not enabled by default though so you need to go into the Groove IP settings on your cell phone and check the box allowing 3G/4G calling. This sounds like a pretty obvious thing to setup properly but you would be surprised at just how many people overlook that setting.
If that is setup properly and Groove IP is still not ringing through to your cell phone via Google Talk, then you will need to go into the Google Voice settings via the Google Voice webpage and check the settings for your "Groups" (if you have contacts assigned to groups). All of the groups have individual settings for what phones the contacts assigned to that group will ring on. These settings will override the settings on the "Phones" tab in the main settings panel. If Google Talk is not checked for you groups, that will be a problem. You may also want to uncheck your cell phone in the group settings.
You will also need to check how you have each contact setup. If you click on the checkbox next to a contacts name the far right panel will display the information entered for that contact. At the bottom of this there is a link you can click to "Edit Google Voice Settings". Clicking that link will take you to the individual GV settings for that contact. If you have your contacts assigned to groups, then ideally each contact within this individual settings display should be getting their settings from their group assignment. There is a setting at the very top of this page Where you can choose the group you want to use the settings from for that contact. The individual contact will then get thier settings from the group. This can be overriden though and the individual contact settings will override both the group and main settings in Google Voice. Under these individual contact settings there is an area where it lists what to do "When this contact calls you" If it is using the group settings to determine what phones to forward to it will say "Use "Group Name" Phones" in this area and there will also be an edit link next to that. If you click on the edit link, individual entries and checkboxes for the phones you have setup in GV will appear. If the contact(s) has not been assigned to a group then these entries and the boxes to chose them will be there by default. If you do have groups assigned, chosing these individual entries will override the group settings for the phones to ring on. How you want to gio about setting all of that up is really up to you. Groups, no groups or groups for everyone but a few important contacts also have individual phone settings that override their group membership? It does not really matter as long as you have ensured that Google Talk is properly setup in these areas and that your cell phone is not set to forward to its number.
If all of this is properly setup then Groove IP should ring on your cell phone. If your cells number is still forwarding even though it is unchecked throughout the Google Voice settings, try temporarily deleting your cell phone for the Google Voice settings altoghther. Then go ahead and call your GV number and ensure the Google Talk is ringing through to Groove IP on your call. If all of this works, then go ahead and add your cell phone back to the list of phones in Google Voice. You will probably have to ensure the it is not checked by default in the group and contact settings after adding it back.
If your cell number is still ringing through and Groove IP is not ringing (and you are not attached to WiFi), look at your cell phone to see what type of data connection you currently have. If you are currently in a bad area for reception you may not have a 3G or 4G connection. It might say 1G in your notification area. Groove IP needs either WiFi, 3G or 4G and if you do not have any of those currently connected, Groove IP will not work. The Groove IP icon in the notifiaction area will be red instead of green if you do not have a good enough connection for Groove IP to work.
If all of that is good though and all of your settings have been verified as correct and it still does not work, then I have no idea what might be causing the problem. If that is the case you may want to send an e-mail to the Grrove IP developers to see if there are any known issues with your cell phone or if they have any other suggestions.
USCanthony said:
Answer
Click to expand...
Click to collapse
I've e-mailed the developers. Someone on a different forum has told me that the answer is no, GrooveIP can only receive calls made to GV #s.
I mis-understood what you were asking. You can make your gv number ring on your cell but if your cell number is dialed you cannot make that number utilize GGroove IP. The trick is to only give out your gv number and to those people that already have your cell number, just tell them to utilize your gv number from now on.
The best solution I've found to save minutes using the same setup is to let the call go to voicemail and then call the person back...may not be the best, but it works.
jdmarano said:
The best solution I've found to save minutes using the same setup is to let the call go to voicemail and then call the person back...may not be the best, but it works.
Click to expand...
Click to collapse
Yeah, I've been doing that on and off. Only problem is both Groove IP and Skype (wasted $10 just to test the damn thing out!) are both spotty and too unpredictable.
zeth006 said:
Yeah, I've been doing that on and off. Only problem is both Groove IP and Skype (wasted $10 just to test the damn thing out!) are both spotty and too unpredictable.
Click to expand...
Click to collapse
i know this is an old forum
but what i also use is the Vonage app...when Groove is being crappy i let it go to voicemail and call back using the Vonage app...it works for me
Preface
This guide only deals with VoIP calling over wifi. You can experiment with calling over a data connection as well; just make sure to use only the speex or GSM codecs. I have had pretty good success with VoHSPA calls with T-Mobile. However, this would require manually switching call forwarding to the cell number on and off. I am looking into creating an app to automate this (as well as combine features of all the accessory apps used in this guide). However, I have limited programming experience and no Android experience yet, so it's a long term project.
Apps
Sipdroid
https://play.google.com/store/apps/details?id=org.sipdroid.sipua
Google Voice
https://play.google.com/store/apps/details?id=com.google.android.apps.googlevoice
Y5 - Battery Saver
https://play.google.com/store/apps/details?id=pl.polidea.y5
Plane Mode Tweaker
https://play.google.com/store/apps/details?id=com.wordpress.chislonchow.airplanemodetweak
AutoAir
https://play.google.com/store/apps/details?id=Com.YangSoft.AutoAir
GV SMS Integration Free
https://play.google.com/store/apps/details?id=com.mdrtools.apps.gvintegration.free
Guide
Free VoIP is a great addition to plans with low airtime minutes, such as T-Mobile's contract-free $30 100 minute, 5GB 4G plan. An activation kit can be purchased for $0.99 shipped from http://prepaid-phones.t-mobile.com/prepaid-phone/T-Mobile-Prepaid-SIM-Activation-Kit.
This guide assumes that your primary number is with Google Voice, http://www.google.com/voice. You can port your number from one of the major carriers (Verizon, AT&T, T-Mobile, Sprint) to Google Voice for $20. Do note that porting your number will terminate service with your provider, and you will be responsible for any ETF. If your number is currently with an MVNO or other carrier, you should be able to use a prepaid T-Mobile account as the middleman. Simply pick up an extra kit (if you will be using the T-Mobile $30 plan) to use for the number porting. Kits come with an initial value of $3.34, more than enough for the process.
If you are not attached to your current number enough to spend the $20 port fee, you can pick a new number when signing up for Google Voice. You can specify desired characters or numbers, and it will attempt to find a match.
Once you have created an account, add your cell number and enable call forwarding from your Google Voice number. Most prepaid accounts, including the $30 T-Mobile one, do not allow call forwarding, so you will not be able to "Activate Google voicemail on this phone." However, this shouldn't be an issue since people shouldn't be calling your cell number directly anyway.
Also enable call forwarding to Google chat. This is critical for receiving VoIP calls. It may be necessary to first place a call within GMail to ensure that Google chat calling works as it should.
Now it's time to download and setup the apps listed above.
Sipdroid
When first starting Sipdroid, you will find a button on the bottom of the screen to create a new account with PBXes.com linked to your Google Voice account. Use the same password as used with your Google Voice account. After signing up with Sipdroid, you have a week or so to login to the pbxes.com website and fill out some personal information. This must be completed, or your account will be deleted.
As far as configuring Sipdroid itself, you may want to go into Audio/Video and adjust Earpiece Gain to Highest. Adjust as necessary if echo is a problem.
Under Audio Codecs, set G722, PCMA, PCMU, GSM, and BV16 to Never. Speex is the only codec we want to use due to its ability to compensate for packet loss and jitter and its low bandwidth consumption. However, it can be quite CPU intensive, and if you have a slower phone, GSM may be a better option. Experiment with the two and find what works best for you. Snapdragon and faster CPUs will have no problems with speex.
Under Wireless, you can experiment with the Control Wi-Fi Power option. It may save you some battery life, but disable it if it cause otherwise slow wifi or disconnects. If not using this setting, you will need to set Android to keep the wireless connection on all the time. You can access this from Android's Wi-Fi settings page, where it lists the wireless connections. Hit the menu button and choose Advanced. Change Keep Wi-Fi on during sleep to Always.
Enable Bluetooh (experimental) if you will be using a bluetooth headset to make VoIP calls.
Finally, in PBXes Features, enable Improve Audio. In the event packet loss / jitter is detected, all data will be transmitted/received twice, effectively decreasing packet loss considerably (ideally).
Google Voice
Setup should be fairly straight forward. You may run into issues setting up call forwarding for voicemail, but this shouldn't be an issue. Set it to Use Google Voice to make all calls. This way, all non-VoIP outgoing calls will still have your Google Voice caller id.
This will also be the app you use for text messaging. Unfortunately, Google Voice is still working on implementing MMS. As of now, receiving MMS messages from certain providers is functional, although they will be sent to your email.
Y5 - Battery Saver
This app remembers wifi APs that you have associated with and switches wifi on when you are in the area. When out of area, it will be disable wifi. It requires both the cell radio and wireless to be connected to determine location. Therefore, airplane mode must not be enabled during this step.
The only setup required is to enable the app. It will then run in the background automatically.
Plane Mode Tweaker
Enabling airplane mode on most phones will disable the cell radio, wifi, and bluetooth. While in Airplane Mode, wifi is allowed to be re-enabled, while bluetooth usually is not. Make the appropriate changes with this app to prevent wifi/bt from turning off when entering airplane mode, and to allow wifi/bt.
AutoAir
AutoAir polls the wireless state in the background. When connected, it enables airplane mode; when the connection is lost, it disables airplane mode. Hit the power button in the app to enable initially. Set it to Start Service on system up and Start Service on application start up. To disable the icon in the notification bar, uncheck Show message on status bar. This serves to save battery by disabling the cell radio and to prevent double ringing, since Google Voice is forwarding to both your cell number and Sipdroid.
GV SMS Integration Free
While not related to VoIP, a lot of users would prefer the native SMS client over the GV app for text messages. Google Voice can forward texts, but it will obviously be encapsulated in a forwarded message from a shortcode instead of the actual sender's number. Not exactly clean by any means, but it is the only solution when in an area without data (i.e. roaming). Otherwise, this app will work alongside the GV app to offer seamless integration with the native SMS app (or GoSMS). You must enter your credentials in the app again for it to be able to send messages. Upon enabling integration, the phone will reboot. There looks to be three types of integration: standard, root user, and airplane mode. I've only used root user, which seems to work just fine in airplane mode.
Since I never use my cell number for texting, I have it set to send all text messages via Google Voice account. It does have the option to allow replying to texts from the number it was received from, which can be useful. There's some warning about hiding the notification bar, but I haven't had any issues yet.
Going after strictly GV SMS integration, and nothing else, I've disabled the send/receive text signatures, turning the screen on when there's a new notification, and showing popups when there's a new text.
Be sure to disable text notifications in the Google Voice app.
Do note the warning when you first enable integration-- if you decide to uninstall the app, DISABLE INTEGRATION FIRST.
That should be it! When you are home, the phone should automatically switch wifi on, connect to Google Voice (PBXes to be accurate), and enable airplane mode to disable the cell radio. Incoming calls should ring through Sipdroid. Outgoing calls are made through the native dialer as usual, and will be intercepted by Sipdroid.
When you leave home and lose wifi, airplane mode will be disabled, re-enabling the cell radio, and wifi should be disabled (saving battery by not constantly searching for APs). Inbound calls will be forward to your cell number, ringing through the native dialer. Calls made with the native dialer will dial through Google Voice (still uses airtime) and allow your Google Voice caller id to be shown.
Messaging is not a problem in airplane mode since you will be using the Google Voice app (and GV SMS Integration). The only downside is that a data connection is required for messaging while on the go. You can enable forwarding messages to your cell number if this is an issue.
Notes
It would have been nice to use the native SIP client, but it simply lacks too many features. Even over a strong wifi connection, a high(er) bandwidth codec like PCMA/PCMU may not be feasible, because of the lack of packet loss/jitter compensation. Many people prefer CSIPSimple over Sipdroid, but it does not play nicely with the Google Voice app, and does not support PBXes' proprietary features.
The main advantage of using the Sipdroid/PBXes combo over GrooVeIP is the ability to use speex/GSM codecs. GrooVeIP connects directly to Google Voice, which only supports PCMA/PCMU.
If you want to experiment with other SIP clients, do make sure to connect using TCP. UDP is a battery pig.
I've experimented with a few Android phones and have to say that some of the lower end ones are simply plagued with call quality issues, especially with regards to echo. Other issues may involve wifi quality with the screen off, so play with those settings as necessary.
Some phones have issues maintaining a wifi connection. Check for any ROMs that may address this issue. The plus side is that AutoAir will disable airplane mode if the wifi connection is lost, so there shouldn't be any missed calls. Specific to HTC Sense, there is a bug (feature) that causes the wifi connection to be dropped between midnight and 7am. The app SmartSync Disabler attempts to address this issue: https://play.google.com/store/apps/details?id=com.j4n87.smartsyncdisabler.
I am using this setup with good success on an HTC Sensation running ICS. I'm at the end of my current billing period and haven't even used half of my allotted minutes. In comparison, I've clocked over 500 minutes over VoIP.
I hope this guide saves you some minutes and battery life.
How overall is the voice quality?
It's fine for the most part. Speex has good provisions to handle mild packet loss and jitter. Over wireless, you should have no issues. I make a decent amount of calls over T-Mobile's HSPA as well, and I've found that as long as you aren't moving too quickly (in a car for example), call clarify / delay is completely fine.
Just tried setting it up. Everytime I try to dial from sipdroid, I get "unfortunately sipdroid has stopped" message. Any suggestions?
What phone are you using? Have you tried using the native dialer? I only use Sipdroid itself to make SIP calls.
Just wanted to chime in and say thank you! I followed the instructions as they pertain to my situation (SGS3, Sprint, unlimited data plan) and I've tested VOIP calling and it works great. Called my brother, and we were both immediately shocked by how good the call quality was. Only thing I did different was not install Y5 battery saver. The SGS3 (or maybe all Sprint smartphones?) has a built in function (Settings--under Wireless and networks, More Settings -- Mobile Networks -- Automatic Connections -- enable Sprint automatic connection) that seems to serve this feature.
Anyway, thanks!
Anyone else have trouble sliding up the box to answer an incoming call? Sometimes I slide it up, but it doesn't stay up, it slides back down so I can't answer. Or it has trouble sliding to begin with.
Awesome guide by the way! Thanks for sharing.
EDIT: Happens on Galaxy Nexus GSM running AOKP JELLY BEAN BUILD 5 and Galaxy S I9000 running Slim Bean 2.9
sk8erfrombham said:
Anyone else have trouble sliding up the box to answer an incoming call? Sometimes I slide it up, but it doesn't stay up, it slides back down so I can't answer. Or it has trouble sliding to begin with.
Awesome guide by the way! Thanks for sharing.
EDIT: Happens on Galaxy Nexus GSM running AOKP JELLY BEAN BUILD 5 and Galaxy S I9000 running Slim Bean 2.9
Click to expand...
Click to collapse
Yeah, I've had this problem in the past. Not sure exactly what the deal was with it. I haven't really had that problem too much lately though, and don't think it's caused me to miss a call. I think I've been giving it an extra second before I swipe it up and it seems to be fine.
I might explore other SIP apps again. Everyone likes csipsimple, but it seems to go into a loop when dialing out if used with the Google Voice app. I believe it does support speex and ilbc though, which would be nice.
Sipdroid supposedly has some proprietary support with pbxes in that it can initialize a redundant stream for purposes of mitigating packet loss / jitter.
Hey ziddey, I've heard that Google has removed the ability for third party apps to toggle airplane mode in Jelly Bean 4.2. Will this cause double ringing if AutoAir won't work? Do you know of any workarounds?
Thanks for posting this incredibly helpful tutorial. I've been using tmo's $30 plan with a GNex for awhile now. First I used GrooveIP, then pbxes+sipdroid. But, I never played around with the codecs, and speex is so much better than the default. I'm having a much better calling experience now. Thank you very much for sharing.
sk8erfrombham said:
Hey ziddey, I've heard that Google has removed the ability for third party apps to toggle airplane mode in Jelly Bean 4.2. Will this cause double ringing if AutoAir won't work? Do you know of any workarounds?
Click to expand...
Click to collapse
If Airplane mode can't be triggered, then double ringing will occur . I've stalled out on my project to make an AIO app a while ago, and am not sure what's possible now-- if there's something that can toggle the radio itself instead of triggering airplane mode.
Back in the day, I emailed Talkatone requesting that they add automatic toggling of the cell number on Google Voice when connected to Talkatone's server. In response, they added the feature, but made it available only for the premium subscription tier. But it does work. My research into GV hasn't gotten me far enough to see if there's an API I can call, or if they're manipulating the website/URL directly (imagine it's the former..). Once Talkatone sees that the client has disconnected / timed out, it will again re-enable forwarding to the cell number.
quarksurfer said:
Thanks for posting this incredibly helpful tutorial. I've been using tmo's $30 plan with a GNex for awhile now. First I used GrooveIP, then pbxes+sipdroid. But, I never played around with the codecs, and speex is so much better than the default. I'm having a much better calling experience now. Thank you very much for sharing.
Click to expand...
Click to collapse
You are very welcome! I hope it works out for you. I've been logging a lot of pbxes minutes recently and have found call quality to be inconsistent. Of course, a lot of that may have to do with wireless signal issues on my end. I would be running my own pbx server full time for personal use, but given the costs of electricity in my area, I don't have a 24/7 box anymore Maybe a Raspberry Pi is in my future.. I need something with low power consumption.
If you are ever looking to experiment, there are other sip clients available, and ilbc is another good codec to try. I believe pbxes.com supports it as well.
Does anyone know the phone number you can call to test echo? I think it plays your voice back on a delay or something...
I've seen it in the forums here but I can't find it after searching for a while.
Google for sip echo test
Use sipdroid or whatever sip client you're using to dial it.
[email protected] should work.
Trying this
I'll be trying this configuration out in the next week. I'm very curious to hear from others about how well it does for them. I'm new to the android platform, but have wanted to save the minutes and use voip as much as possible. It took a lot of searching to find this thread, and then a couple of days getting used to my new phone to have it set up.
I did note a strange loop (flashing screen) because in seeking out this guide I had had csipsimple installed (and grooveip) and Voice+ (Google Voice callback) and that caused trouble with outgoing calls. I've got it sorted out now, and it looks like it's all working.
Thanks for the well written guide!
---------- Post added at 03:51 AM ---------- Previous post was at 03:23 AM ----------
It does look like this guide might not work completely well with the airplane mode API change in 4.2. There's another thread that suggests the secure settings plugin for Tasker (paid) or running Llama - Location Profiles on a rooted phone.
Tomcat23 said:
It does look like this guide might not work completely well with the airplane mode API change in 4.2. There's another thread that suggests the secure settings plugin for Tasker (paid) or running Llama - Location Profiles on a rooted phone.
Click to expand...
Click to collapse
Bummmmmer. I'll be on the N4 boat soon enough and depend on this solution to keep under 100 minutes of actual airtime a month.
I'm switching nexus phones from the galaxy nexus to the nexus 4. Sipdroid is working great on the galaxy nexus thanks in part to this tutorial. When I boot up the N4 I sign into google voice, then I open sipdroid and put in my username and password, but I get a red dot and a "registration failed (401 Unauthorized)" error. I'm still able to open sipdroid on the gNex and it works fine.
I'm thinking of deleting my pbxes account, and then uninstalling/reinstalling sipdroid on the N4 and just setting up a brand new account.
Anyone have any thoughts? Thanks for any ideas,
k
---------- Post added at 07:54 PM ---------- Previous post was at 07:17 PM ----------
Dang. So I deleted my pbxes account, but when I try to create a new account with sipdroid, it says 'myname' trunk is already in use. I guess I should have deleted that trunk, then deleted my account. But, I can't log in to pbxes.org anymore. So, I feel stuck.
to answer my own question, in case anyone searches. You just have to wait a few hours (3-4) for me, and then you can create a new account because that old trunk gets deleted.
GV SMS Integration Free
https://play.google.com/store/apps/details?id=com.mdrtools.apps.gvintegration.free
GV SMS Integration Free
While not related to VoIP, a lot of users would prefer the native SMS client over the GV app for text messages. Google Voice can forward texts, but it will obviously be encapsulated in a forwarded message from a shortcode instead of the actual sender's number. Not exactly clean by any means, but it is the only solution when in an area without data (i.e. roaming). Otherwise, this app will work alongside the GV app to offer seamless integration with the native SMS app (or GoSMS). You must enter your credentials in the app again for it to be able to send messages. Upon enabling integration, the phone will reboot. There looks to be three types of integration: standard, root user, and airplane mode. I've only used root user, which seems to work just fine in airplane mode.
Since I never use my cell number for texting, I have it set to send all text messages via Google Voice account. It does have the option to allow replying to texts from the number it was received from, which can be useful. There's some warning about hiding the notification bar, but I haven't had any issues yet.
Going after strictly GV SMS integration, and nothing else, I've disabled the send/receive text signatures, turning the screen on when there's a new notification, and showing popups when there's a new text.
Be sure to disable text notifications in the Google Voice app.
Do note the warning when you first enable integration-- if you decide to uninstall the app, DISABLE INTEGRATION FIRST.
ziddey said:
GV SMS Integration Free
Going after strictly GV SMS integration, and nothing else, I've disabled the send/receive text signatures, turning the screen on when there's a new notification, and showing popups when there's a new text.
Be sure to disable text notifications in the Google Voice app.
Click to expand...
Click to collapse
ok
errorcod3 said:
I'm using the same exact setup as you -- I don't even know my phone number with my carrier... But, I am having a problem with GV SMS Integration. I'm a recent iPhone transplant and I switched to a Google Nexus 4 running 4.2.1.
Again, my setup is exactly the same, but I'm not getting notified for new text messages. When I open the native text message app I have new messages, I'm just not getting notified. I have turn screen on and show popups -- and I get nothing. I also have text notifications disabled in the GV app. Any ideas?
Click to expand...
Click to collapse
Do you get notified of new messages that are sent to your cell number?
Since GV SMS Integration essentially backdoors the native app, it sounds like something changed in the code with JB. Seeing how the app hasn't been updated in a while and the website is non-existent, let's hope for an update soon.
In the meantime, I'm imagining that it might work fine with GoSMS on JB if that app is okay by your standards..
Have you found an automated airplane mode toggler that works with JB? I understand AutoAir is not compatible.
My fiancée and I got ourselves a pair of Nexus 5's a couple of weeks ago, switched from Verizon to the T-Mo $30 100/Unlimited/5GB(Unlimited) plan and are now happily saving over $100 a month in the process. Yay us!
However, I've been struggling with VOIP with varying degrees of success. I've spent a considerable amount of time researching and configuring and tweaking, and I'd like to share my findings, as well as get some feedback on some things I may have missed.
One of the first things I tried was the Google Voice/PBXes/CSipSimple method, which produced terrible call quality. Everything from echo to background noise. No matter what I did (and believe me, I tried everything I could find) the call quality was just terrible. Changing the mic source, enabling mode audio API, changing the SIP audio mode, changing codecs, nothing really helped. Battery life was great, but the call quality was pretty much unusable. I could hear myself echoing, the other party could hear their own voice echoing, and/or there'd be too much background noise, or I'd be too quiet, etc.
Next, I tried Talkatone (paid for premium). Connection problems galore! I'd have several "lag fests" over WiFi (never tried it on LTE) even when I was sitting right at the router. Everything would cut out for about 30-45 seconds and then resume as if nothing happened, and this occurred 2-3 times over the course of a 10-15 minute call. Yes, I ruled out a connection/router issue. Battery life was "OK" but it wasn't as good as it was with CSipSimple.
I then tried GrooveIP (paid). Lots of echo here. Again, no setting or combination of settings really seemed to get rid of it. Tried as I might, the echo was always there. Battery life was on par with Talkatone.
Next, I decided I'd go a different direction and tried Skype. The voice quality was much improved, with no echo, but complaints of background noise, especially while on speakerphone. This has been passable, though not "ideal" (I know, VOIP isn't perfect). The big issue with Skype has been the absurd battery drain. A 30 minute call drained my battery by almost 20% and Skype was topping the charts by a long shot on the battery usage.
I know there are other options out there such as Viber, but I've not seen a whole lot out of them in terms of reviews, etc. I may just end up trying Viber and seeing how it pans out, but the options are starting to run out.
I know part of the problem is the same one the Nexus 4 had with the microphone(s) but, I'd like to think I just might be overlooking something. If anyone feels they've "solved the problem" please share your settings, as I'm sure I'm not the only one who feels as though they're banging their head against a wall here.
Fenuxx said:
I know there are other options out there such as Viber, but I've not seen a whole lot out of them in terms of reviews, etc. I may just end up trying Viber and seeing how it pans out, but the options are starting to run out.
I know part of the problem is the same one the Nexus 4 had with the microphone(s) but, I'd like to think I just might be overlooking something. If anyone feels they've "solved the problem" please share your settings, as I'm sure I'm not the only one who feels as though they're banging their head against a wall here.
Click to expand...
Click to collapse
Viber works well for me and I only hear a slight echo if I'm talking with Nexus 4 users. Give it a shot. Tango might be worth a try, too. Good luck.
Well, I believe Csipsimple is the best voip client available. So, you'll most likely want to go back to your first solution, but replace pbxes with Callcentric, voip.ms or another voip provider. I've tried everything you did as well (plus a few more options) and with the exception of Skype, found the quality to be unacceptable. What I'm suggesting won't be free, but the cost is extremely low. Actually, voip.ms could be a very good solution for you. You would establish and fund one "account", but set up separate "sub-accounts" for yourself and your fiance. If you wanted to use GV exclusively, you could then purchase a couple of DIDs and set up GV to forward to them. I use an app on my phone called Groove Forwarder that changes my GV forwarding settings based on my data connection. If I'm on LTE, etc..., it forwards to my T-Mobile number. When I'm connected to Wi-Fi though, it switches to my Flowroute (another voip provider) number. Also fwiw, you can use voip over LTE if you want. Being in a moving vehicle set up that way will cause issues however.
adrman said:
Well, I believe Csipsimple is the best voip client available. So, you'll most likely want to go back to your first solution, but replace pbxes with Callcentric, voip.ms or another voip provider. I've tried everything you did as well (plus a few more options) and with the exception of Skype, found the quality to be unacceptable. What I'm suggesting won't be free, but the cost is extremely low. Actually, voip.ms could be a very good solution for you. You would establish and fund one "account", but set up separate "sub-accounts" for yourself and your fiance. If you wanted to use GV exclusively, you could then purchase a couple of DIDs and set up GV to forward to them. I use an app on my phone called Groove Forwarder that changes my GV forwarding settings based on my data connection. If I'm on LTE, etc..., it forwards to my T-Mobile number. When I'm connected to Wi-Fi though, it switches to my Flowroute (another voip provider) number. Also fwiw, you can use voip over LTE if you want. Being in a moving vehicle set up that way will cause issues however.
Click to expand...
Click to collapse
Yeah, I also tried the Callcentric+PBXes route for the iLBC codec, which didn't seem to help. I'm not entirely convinced it's the PBX provider that's at fault, as I don't have these weird audio issues with CSipSimple+PBXes/Callcentric on my "home phone" (separate Google Voice account) which is an old DROID Incredible 2. Voice quality there is fine.
I did look into voip.ms, but when I signed up (late at night), they forced a "manual authentication" on me (why, I don't know) and I needed to contact support. I tried logging in the following morning, only to be greeted with a message about my IP address not being whiteflagged and not being authorized to access the account. Being that my IP address is dynamic, I don't think I want to constantly fight that battle about "approving" my IP address whenever it changes.
Create a ticket with voip.ms support to inquire. I've only good things to say about their response times and help.
Does anyone have bluetooth headsets working with csipsimple? On my nexus 5 I've yet to find a sip phone that works correctly with a headset.
Fenuxx said:
I then tried GrooveIP (paid). Lots of echo here. Again, no setting or combination of settings really seemed to get rid of it. Tried as I might, the echo was always there. Battery life was on par with Talkatone.
Click to expand...
Click to collapse
groove and google voice gave me no echo when calling a landline from my wifi connection. i think this has to be your internet access that would be messing this up. . .or maybe it's just bad for voip to voip calls
I can personally attest to voip.ms + csipsimple + g729 codec ($10 dollars in the playstore) reliability as a voip setup for my Nexus 5. My set up is basically that GV forwards to my voip.ms DID which rings directly to my Nexus 5's csipsimple app. In the event that im not registered in csipsimple (e.g. lose connection, servers go down, etc) I have failover set up w/ voip.ms to ring to my real tmobile phone number. I have zero issues with call quality or echo and I have had full conversations with people on the phone even while driving. I also used this guys tip when first setting up, these may or may not change a thing but Ive had my csipsimple configured with these settings since day 1 also.
1. Go to settings
2. Click the menu button -> Expert Mode
3. Go to “media” -> select echo mode and choose WebRTC (probably already chosen)
4. In “media” go to “Audio troubleshooting” -> “Mic source” -> Voice call
5. in “Audio troubleshooting” -> “Audio implementation” -> Java
I use flowroute + csimpsimple (G729). Call quality is excellent and low latency on WiFi and LTE, and not bad over HSPA/HSPA+.
My main issue at the moment is bluetooth. I cannot get it to work with the bluetooth in my car (only bluetooth I have). I can get incoming audio OK, but it appears to be using the phone microphone for outgoing audio instead of the car microphone and it's very garbled and noisy.
There was a software issue in 4.2 regarding inline mic gain, 4.2.2 fixed it. GroovIP free worked fine for me after the update. There is only a few months left of google voice as they are shutting it down on May 15, 2014.
I have been using Viber for over two years. Works perfectly fine. Try it.
Sent from my Nexus 5 using Tapatalk