I've noticed that the Nexus 4 is unusable for VoIP calls due to no echo cancellation, and no background noise filtering (using the second microphone). This issue occurs for all VoIP calls, no matter the client. Some clients attempt to fix this with software filtering, etc, but none do a very good job.
Please star the following issue on the Android bug tracker to bring this to Google's attention. https://code.google.com/p/android/issues/detail?id=41626 The following comment provides more details on the issue:
SIP is unusable on the Nexus 4 because the device doesn't provide an AcousticEchoCanceler[1], AutomaticGainControl[2] or NoiseSuppressor[3]. Additionally, the VOICE_COMMUNICATION[4] audio source designed for VoIP applications returns the same audio as if the application asked for raw microphone data, which is completely unusable for VoIP calls.
The reason cell calls sound good is because the cellular phone takes advantage of the second microphone on the device to perform background noise cancellation and presumably has a hardware chip for echo cancellation. Why these necessary items are not exposed via the APIs listed below on Google's flagship phone is a mystery to me.
Also, the reason SIP is still pretty good on the Galaxy Nexus is because it provides implementations for the AcousticEchoCanceler, AutomaticGainControl and NoiseSuppressor. So even though it doesn't have a second microphone, it does some processing on the audio (via hardware or software) to make it usable for a call. The Nexus 4 provides none of this.
[1] http://developer.android.com/reference/android/media/audiofx/AcousticEchoCanceler.html
[2] http://developer.android.com/reference/android/media/audiofx/AutomaticGainControl.html
[3] http://developer.android.com/reference/android/media/audiofx/NoiseSuppressor.html
[4] http://developer.android.com/refere...Recorder.AudioSource.html#VOICE_COMMUNICATION
Click to expand...
Click to collapse
Have other people noticed this issue. I've noticed it with the stock SIP client, sipdroid, csipsimple, and Talkatone.
I have only used GrooVe IP, and it works fine with stock settings.
I use sipdroid and it works well. No complaints.
Sent from my Nexus 4 using xda app-developers app
Try talkatone. Works well most of the time for me.
Sent from my Nexus 4 using xda premium
While indeed it is an issue, I'm seeing good enough results with sipdroid using gsm codec. Did run into major issues recently because newer cm nightlies changed mcast filtering / ARP. Manually revert that and its fine again. At the least, I've struggled with sip calls with many phones in the past and this is the smoothest experience yet (never had the gnex).
Note I used to use speex for its obvious benefits over gsm but gsm seems to work fine for me and I figure it may be less CPU intensive
Sent from my Nexus 4 using xda app-developers app
Try making a call outside, or with background noise. When I make a call while walking down the street, or in a windy location, the background noise is quite loud for the other person. I've tried several different clients and configurations, and all of them have this issue. The problem is that the phone is not filtering out background noise using the second microphone, and software can only attempt to make this better.
Slightly old thread here, sorry, but I'm wondering if anyone has tried using the built-in VOIP functionality. I currently have a T989 but am considering Mako, and I always had better results using CM10's built-in VOIP than with GrooveIP (i.e. people would complain a whole lot about static and echo when I used GrooveIP). Can anyone comment on this?
I agree. Tried all voip apps from market: groove, talkatone, spare phone, vonage, Skype. Terrible results. I did find one that is working great though (knock on wood): EverVoice. Tried it over the last few days and haven't had any problems on wifi and T-Mobile 4g.
Sent from my Nexus 7 using xda app-developers app
sec6 said:
I agree. Tried all voip apps from market: groove, talkatone, spare phone, vonage, Skype. Terrible results. I did find one that is working great though (knock on wood): EverVoice. Tried it over the last few days and haven't had any problems on wifi and T-Mobile 4g.
Sent from my Nexus 7 using xda app-developers app
Click to expand...
Click to collapse
Edit: Spoke too soon. EverVoice is unreliable also. Decided to just ditch google voice and add prepaid minutes to tmobile 30 dollar prepaid unlimited plan.
Pandemic187 said:
Slightly old thread here, sorry, but I'm wondering if anyone has tried using the built-in VOIP functionality. I currently have a T989 but am considering Mako, and I always had better results using CM10's built-in VOIP than with GrooveIP (i.e. people would complain a whole lot about static and echo when I used GrooveIP). Can anyone comment on this?
Click to expand...
Click to collapse
Built in voip also echos for me on the Nexus 4. I wondering if regular voice calls go through a different chip or something that does echo cancellation. Is it possible that this chip isn't available for voip?
I am using the built in SIP client with Callcentric. I was using SipSorcery, but I had "no audio" issues on HSPA. Callcentric is NYC based (as am I) so the latency is much better, and echo is reduced as well. My only suggestion is find a SIP server with the lowest ping / least hops.
Skype was excellent on my Nexus S, but has a lot of issues on my N4, so I scrapped it.
For those of you who want the best quality out of your $30 smartphone plan, I made a 12-part video tutorial showing how to do it.
http://www.youtube.com/watch?v=u9DzN1Pu6-Q&list=PLE_de-PBwrTSUMm-Y48aiOOHt_YyT69t0
It's much better than GrooveIP, Vonage, Talkatone, Pbxes.org, and everything else, especially those with the "one big green button" solution.
This method gives you HD Voice (G.722 codec), bettery battery life, and much better options for logging/blocking/recording. You can even set up hold music. Yup, I said hold music.
It used to be difficult to set up until I made it as clear as the nose on your face in the video tutorial (with actual commentary instead of techno music).
Spread the word if you do it and it works out for you. I believe everyone deserves high quality and limitless VoIP WiFi/4g calling.
HowDoIVoIP said:
For those of you who want the best quality out of your $30 smartphone plan, I made a 12-part video tutorial showing how to do it.
http://www.youtube.com/watch?v=u9DzN1Pu6-Q&list=PLE_de-PBwrTSUMm-Y48aiOOHt_YyT69t0
It's much better than GrooveIP, Vonage, Talkatone, Pbxes.org, and everything else, especially those with the "one big green button" solution.
This method gives you HD Voice (G.722 codec), bettery battery life, and much better options for logging/blocking/recording. You can even set up hold music. Yup, I said hold music.
It used to be difficult to set up until I made it as clear as the nose on your face in the video tutorial (with actual commentary instead of techno music).
Spread the word if you do it and it works out for you. I believe everyone deserves high quality and limitless VoIP WiFi/4g calling.
Click to expand...
Click to collapse
I did this method....works very good except for an echo....
I fixed the echo(over 3g) on the nEXUS 4 doing this:
Csimple has an option to enable software control or volume instead of the android OS/hardware.....enable it...I suspect that fixed it combined with the following:
Echo cancellation(never worked until ti checked the above....works great now) in Csimple.
Faux kernel or something compatible with his software for fixing audio gain.
Faux sounds and Faux speakers app. I chose the quality preset plus my own sleight modifications and also the voice setting for speakers.
Echo was annihilated.....I also tried voice audio detection but I didn't like it...
I posted this in the PIAF thread since I used that method but this will help you guys as well.
Nexus 4 SIP echo fix - It's pretty bad for many users but this solved it 100% for me
It worked for me and I tested numerous different setting and configurations along with measuring my latency to ensure it works. YMMV but it's easy to try. At first I thought it was a Latency issue since echo didn't occur over wifi but with ping times lower than 60ms I still got echo over 3g without this method.
I'm using the silk codec(Silk 24 wifi/Silk 12 or 16 over 3g/4g); YMMV with other codecs.
*Before starting*
Root your phone, flash radio .27 or .33 if your on T-mobile or in Canada: We want to enable Nexus 4g! 3g is usually fine but 4g tends to have significantly lower latency(3G: 50-70ms versus 4g: 20-40ms). Sometimes my 3g speed was fine but latency sucks(100-250+ms)....3g has enough speed for VoIP but any latency issues/spikes/jumps will ruin a call.
This is a good guide to follow: Hippowise"s guide
For the first few steps plus a audio fix some users encountered with the radio downgrade; there are 2 scripts you can run via any terminal emulator app scripter(I used this $Scripter). The actual Script to be run can be found on XDA in the nexus 4 LTE thread(download or save them as txt files). The XML file I suggest editing your self(I just replaced all instances of epc.t-mobile with fast.t-mobile for T-mo users).
If said "scripting...wut?" just follow Hippowise's guide to the tee. Scripting is just faster/easier.
It took a few days for my 4g/LTE to kick in so be patient; It's worth the trouble!
**Now to the guide**
First, get the Faux kernel for Nexus 4 or use another kernel that has applied his patch.
2nd, get his apps from the Play store(they cost money but worth it): Faux Speakers and Faux Sound: Configure them for "voice" and "quality" respectively(you can adjust on your own from there, I upped the gain a bit).
3rd, Use Csipsimple and enable "Software volume control" instead of the default android/os/hardware based volume/gain control. I wonder if this bypasses Faux and puts volume control solely in the hands of Csipsimple. I would do 1-3 steps anyway because it fixes the SQ issues in general with the nexus 4.
4th. Enable Echo cancellation; until I did the previous steps, echo cancelation didn't work at all: YMMV.
I choose Echo mode Webrtc becuase Speex echo cancellation didn't work for me. If your codecs are different the other choices or auto might work better. Experiement.
5th: *Optional*
Noise Cancelation: Worked so-so....didn't need so I turned off
Voice Detection: I didn't like it but experiement.
Compact SIP packets: I use it, optional
STUN: I turned it on, I don't think it will hurt.
Audio troubleshooting in the Csip menu has tons of options to mess with. If all else fails, read some guides and experiment. I didn't need to chance anything here but some of it looks promising and has some fixes for specific models like the galaxy.
7th: Latency
Get Speedtest app from the play store and test your speed. In some areas over 3g I would get decent down/up speeds but godawful latency (300ms+ ). If your 3g latency consistently sucks, do the 4g fix for the nexus; Much better latency and I always get 4g in most places on T-mobile.....rural areas might be screwed on getting 4g although I noticed my 3g speeds increased overall after the fix.
8th
Finished; report back in the thread and tell me if it helped!! And if anybody knows a good I.T. position open for a VoIP office/callcenter; let me know cause I'm quitting mine.
Sorry for my ignorance. But all those SIP methods fix all VoIP calls? (Viber, Facebook Messenger, etc).
I just want to fix the terrible echo I am exporting to others Viber users.
Sent from my Nexus 4 using Tapatalk 4 Beta
thesebastian said:
Sorry for my ignorance. But all those SIP methods fix all VoIP calls? (Viber, Facebook Messenger, etc).
I just want to fix the terrible echo I am exporting to others Viber users.
Sent from my Nexus 4 using Tapatalk 4 Beta
Click to expand...
Click to collapse
bump
detdett said:
bump
Click to expand...
Click to collapse
Seems fixed, at least, from the N4's end.
https://code.google.com/p/android/issues/detail?id=42978#c16
raz123 said:
Seems fixed, at least, from the N4's end.
https://code.google.com/p/android/issues/detail?id=42978#c16
Click to expand...
Click to collapse
Nope. Tried to use it on fongo but it didn't work.
Update. Fongo released a new beta today and it seems like the echo problem is gone...
Sent from my Nexus 4 using Tapatalk 4
I tried different voip apps including built-in voip client with CM 10.2. Best sound quality and no echos I've got with CSipSimple with echo reduction enabled.
swimma said:
I tried different voip apps including built-in voip client with CM 10.2. Best sound quality and no echos I've got with CSipSimple with echo reduction enabled.
Click to expand...
Click to collapse
Which cm 10.2 build are you on
Hey guys
When I tried to make an outgoing call today, people couldn't hear me. I can hear them but they can't hear me. The incoming calls work fine but not the outgoing calls. I also tried with free wifi calling software and it was not working too.
Finally, I found the fix for the problem. There is a software problem with "OK Google" which mute any outgoing calls you make.
The only way to fix it is to go to your Google setting and completely TURN OFF "OK Google" service.
I like to use Ok Google sometime so is there any way to make it work together?
I am sure a lot of people have this issue too but they never realize it until they make the call.
Has it been confirmed that it's OK Google command that's causing the call issue?
The call issue has been noted and documented on the zte forum, but I wasn't aware of anyone bringing up Google Now as the culprit.
warofhero said:
Hey guys
When I tried to make an outgoing call today, people couldn't hear me. I can hear them but they can't hear me. The incoming calls work fine but not the outgoing calls. I also tried with free wifi calling software and it was not working too.
Finally, I found the fix for the problem. There is a software problem with "OK Google" which mute any outgoing calls you make.
The only way to fix it is to go to your Google setting and completely TURN OFF "OK Google" service.
I like to use Ok Google sometime so is there any way to make it work together?
I am sure a lot of people have this issue too but they never realize it until they make the call.
Click to expand...
Click to collapse