krunal09 / csipsimple

Automatically exported from code.google.com/p/csipsimple
0 stars 0 forks source link

No Audio on Samsung Vibrant SGH-T959 #255

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
What steps will reproduce the problem?
1. Making a Call

What is the expected output? What do you see instead?
I can place calls, the other party can hear me, but I can not hear them.

What version of the product are you using? On what operating system?
CSipSimple_0.00-13-02.apk 
OS Android 2.1

Please provide any additional information below.
Using TMobile Samsung Galaxy S Vibrant, US model,. Using over WiFi.
My VoIP Sevice provide is Inphonex.

Original issue reported on code.google.com by danbor...@gmail.com on 1 Oct 2010 at 7:53

GoogleCodeExporter commented 9 years ago
There is mainly two possible causes on this kind of issues :
* The variant of this Samsung i9000 has another audio implementation than the 
one I tested on Galaxy S -and that work. However samsung as such an awful audio 
implementation on this series... that I would not be so much astonished.
* Something goes wrong with the network and/or configuration. 

To test if it's the first point, you should maybe try to enable/disable speaker 
and hold/resume call and see how things goes if nothing is observed, probably 
something with the second point.
So, if the second one, maybe setting a stun server could help :
Go on setting Settings > Network - Tick Use Stun and fill a stun server on the 
field bellow. You can use whatever stun server you want it's not necessarily 
linked to your provider. See http://www.voip-info.org/wiki/view/STUN Public 
Stun server section. 
If it doesn't work, you can also try to use ICE.
If none of this tests helps, you should maybe ensure that there is no firewall 
between your device and the other party ( or your router doesn't route things).

And finally, you could send me logs (see on the wiki, there is a page about 
HowToCollectLogs), so that I can maybe understand more what is happening.

What would be really interesting for me too is whether you tried with another 
android sip phone with the same configuration and the same remote party.

Original comment by r3gis...@gmail.com on 1 Oct 2010 at 9:38

GoogleCodeExporter commented 9 years ago
After following your instructions, it is now working.
I Had to add a STUN server and turn ICE on. I can hear with no problem now,
however the voice quality incoming and outgoing was OK, little choppy, even 
after activating the options to prevent that on the settings menu, I guess it 
is because of the low bitrate codec, my Voip Phone Service(Inphonex) supports 
only 3 codecs available on csipsimple, PCMU, PCMA and ilibc. 

Iphonex Supports: G711, G729, G726, G723, ILIBC, GSM,
So it would be nice to see some of the higher bitrate codecs that will work 
with my service provider in future versions of csipsimple.

Thank you for your support.

Original comment by danbor...@gmail.com on 1 Oct 2010 at 11:38

GoogleCodeExporter commented 9 years ago
Great
Well csipsimple already support a lot of codecs. You can configure their 
priorities in settings, media, codecs
Pcmu =g711
Pcma = g711a
There is also ilbc, gsm, speex,g722...
I have something that work with g729, but I don't want to publish it now due to 
licensing issues I have with this codec. G726 is planned but will not improve 
things in your situation.
I get some really good results with ilbc. But you have to ensure that it I is 
actually the codec chosen on the sip negotiation. So while in call use the i 
button to see what is the current codec. You can try to disable some codecs in 
settings if your server always choose pcmu/a. Long click on a codec to do so.

Original comment by r3gis...@gmail.com on 2 Oct 2010 at 6:50

GoogleCodeExporter commented 9 years ago
I missed GSM on the csipsimple codec list, and actually GSM worked best of all, 
but for some reason, GSM and ILIBC does not work when I make calls to Brazil, 
it works when I make local calls in USA. only PCMA and PCMU works calling 
Brazil, but the quality is terrible.

Thank you.

Original comment by danbor...@gmail.com on 3 Oct 2010 at 1:51

GoogleCodeExporter commented 9 years ago
If GSM & iLBC doesn't work for call to Brazil, two cause are possible :

* The remote party actually support gsm & iLBC, but prefer pcmu. If so, you can 
try to disable pcmu/pcma from the codec list (long click & Deactivate on a 
codec row). 
If it's actually unsupported by the remote party, you'll see call "Connecting" 
and will directly hangup, since codec negotiation has failed. If it succeed, 
you are probably having a call that use a codec within the non disabled codec 
list :).

* The remote party or your gateway server (if it's a pstn call) doesn't support 
these codecs. If so nothing, unfortunately, can be done in CSipSimple to help. 
However, if you get a bad sound quality (I mean choppy sound) with G711, it 
mean that your network (or more precisely the network between you and the 
remote party), is not good enough. It's confirmed by the fact using GSM makes 
things better on local : GSM use a lower bandwidth than G711. 
On a good network CSipSimple provide a good call quality (tested and validated 
by many people here ;) ). I guess that with your and your remote party network 
you'll not find any sip application that make the call quality good enough.
If you are interested in codec stuff, you can read this 
http://www.speex.org/comparison/ comparison. CPU usage is not shown on this 
table, but with your galaxy i9000, will not has a big impact.

Original comment by r3gis...@gmail.com on 3 Oct 2010 at 8:25

GoogleCodeExporter commented 9 years ago
I'm testing csipsimple using my galaxy s i9000 (original firmware).
First I couldn't hear the other party at all, but the other party hear me 
perfectly.
When starting a call, I could see a speaker symbol with a crossing line, at the 
top (like a no sound symbol).
After enabling STUN, I started hearing the other party! BUT... the "no audio" 
symbol still appears.

r3gis, sorry for my beginner question ... but could you explain me why should I 
enable STUN to get it working?

CSipSimple is the fist app working "almost" perfectly! Congratulation for the 
amazing work!

Original comment by fles...@gmail.com on 4 Oct 2010 at 3:07

GoogleCodeExporter commented 9 years ago
As for the "no sound" icon, it just mean that the ringer mode is now muted. 
It's to avoid GSM phone ringing while you are in a SIP call and avoid to 
destroy your ear ;).

You need stun because you are probably under a NATed network (with some routers 
between you and your server/the remote party).
STUN is a service that allow your SIP client to know its public IP and so allow 
your remote contact or server to send you audio packets. If it's not activated, 
it's possible that you (your sip client) announce a IP that is unreachable by 
the remote party... So the remote party will try to send you packet to an IP 
that it can't reach... and this packets will be lost in the network :)

So under certain network configuration -usually with 3G when data is carried by 
your carrier- stun or Turn or ICE are needed.

Original comment by r3gis...@gmail.com on 4 Oct 2010 at 3:41

GoogleCodeExporter commented 9 years ago
Now I got it! :) Thanks.
I forgot I was using wifi!

I've got to agree with you, samsung did a poor job with the audio/mic 
system in the i9000 (it's a shame because the rest of the phone is very 
good).
One thing I noticed is that the other party can't hear me the way I hear 
them. I can hear well, but when I talk, my voice get there broken. When they 
talk they get a horrible echo too. It doesn't happen only with csipsimple, it 
happens with all others voip apps.
I think it's because the poor mic i9000 has. It's too sensitive and too 
loud... I really don't know.
I will have to wait for froyo 2.2 update to see if samsung will fix this 
system.

Until there... I don't know what I can do to have a good voip app running 
in this phone. You're are the one who is getting close, but I think samsung is 
not colaborating with you! :)

Original comment by fles...@gmail.com on 4 Oct 2010 at 5:25

GoogleCodeExporter commented 9 years ago
For echo issue you should read issue 259. There is good settings that should 
help a little bit.

That's now included as default parameter in 0.00-13-04 but will not erase your 
existing settings if you have csipsimple already installed. So you can either 
uninstall and reinstall version -13-04 or set settings listed in issue 259 by 
hand and say me how it goes :).

For the micro in fact they used Alsa (a well known linux driver on this 
mobile). However the implementation of Alsa in android (not done by samsung) 
doesn't behaves as a standard developer would have expect. Besides they did 
something really crappy with audio routes that doesn't make things better :).

But your right, the rest of the phone is amazing .... still prefer my Nexus One 
since more up to date but I'm hesitating in buying one galaxyS... besides would 
be easier to test on ;)

Original comment by r3gis...@gmail.com on 4 Oct 2010 at 6:03

GoogleCodeExporter commented 9 years ago
Wow!! Amazing!! Now I can hear and the other party can hear me too!! Perfect!

One more doubt. After installing 0.00-13-04 I went on setting to check the 
Mic/Speaker amplification values and both was set as 1. Based on the values 
posted on issue 259, I'm not sure if you apply these values internally or not, 
but I manually changed even after 0.00-13-04. Is it necessary?

Thanks again r3gis! I can't believe it's working!

Original comment by fles...@gmail.com on 4 Oct 2010 at 8:29

GoogleCodeExporter commented 9 years ago
If you do an upgrade I'll not change the existing values. If it is a new 
install ( if you uninstall it before installing the new version) default values 
should be set to values of issue 259. At least it should be else let me know.
But yes if it is an upgrade I will not change any settings.

Original comment by r3gis...@gmail.com on 4 Oct 2010 at 9:18

GoogleCodeExporter commented 9 years ago
I've uninstalled before installing again. Even doing this the default values 
was 1.
Maybe it's because my phone is the brazilian version (I9000B). If you set 
defaults based on model number, probably that's the reason.

Original comment by fles...@gmail.com on 5 Oct 2010 at 1:33

GoogleCodeExporter commented 9 years ago
Indeed could be a reason. I'm based on the "device" field :
android.os.Build.DEVICE.equals("GT-I9000")

I'd like to know the model of your phone to be able to support it too. If you 
can install for example DeviceInfo available on the market and say me what is 
the device name, could help me a lot. Thx in advance

Original comment by r3gis...@gmail.com on 5 Oct 2010 at 1:54

GoogleCodeExporter commented 9 years ago
GT-I9000B
Instead using "equals" you could check if the string starts with "GT-I9000".
I believe that the diference between worldwide models is the last letter.

Original comment by fles...@gmail.com on 5 Oct 2010 at 2:50

GoogleCodeExporter commented 9 years ago
Hello r3gis.3R,
FYI: Going back to my previous post about call quality to brazil using inphonex 
service provider, I called them and they told me most of phone providers in 
brazil uses g729 codec, thats why I was having such a terrible experience 
making calls internationally. 
Making calls here in US, quality is crystal clear. 

Do you know when you're going to have G729 support in CSIPSIMPLE?

Thanks for providing such a great app. 

Original comment by danbor...@gmail.com on 6 Oct 2010 at 4:34

GoogleCodeExporter commented 9 years ago
G729 is now just a license and distribution issue. Code is functional...
So it will be available once I'll get time to find a good way to distribute it 
respecting the g729 license. See issue 8
I have to admit that I'm more confident in coding stuff than in lawyers and 
proprietary licenses stuff....
If only g729 license where compatible with gpl distribution it could have been 
already included....

Original comment by r3gis...@gmail.com on 6 Oct 2010 at 5:30