kfirdm / csipsimple

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

[Manufacturer driver] Echo on Xperia X10 #89

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
This is an intermittent problem that occurs sometimes when dialing an extension 
that is not registered.  

csipsimple hangs on the 'Confirmed' dialing screen.  This seems to hang audio 
in the phone as well as hanging the dialer.  I have to restart the phone to 
restore functionality.

What version of the product are you using? On what operating system?
Sony Ericsson X10 (and X10 mini), Android 1.6, Csipsimple 12

Please provide any additional information below.
I have previously provided logs via email, but wanted to file an issue report 
to track it.

Original issue reported on code.google.com by mcampbel...@gmail.com on 14 Jul 2010 at 1:26

GoogleCodeExporter commented 9 years ago
Yes, thanks, I forgot to open the issue here.

For reference, exactly same issue on Samsung Galaxy i7500.
I can reproduce this issue for each outgoing call with the X10 of a colleague.

Original comment by r3gis...@gmail.com on 14 Jul 2010 at 9:12

GoogleCodeExporter commented 9 years ago
Sounds that there is the same issue on Galaxy S.

Original comment by r3gis...@gmail.com on 20 Jul 2010 at 11:04

GoogleCodeExporter commented 9 years ago
Issue 93 has been merged into this issue.

Original comment by r3gis...@gmail.com on 20 Jul 2010 at 11:04

GoogleCodeExporter commented 9 years ago
I did verify My Galaxy S uses codec "GSM @8000" from (i)nfo function. I used 
csipsimple that version is 'build 0.00-12-04'.

Original comment by winfa...@gmail.com on 22 Jul 2010 at 1:16

GoogleCodeExporter commented 9 years ago
Well a new version is available but... in fact there were already a easy 
solution in all previous versions to solve this issue :

Some devices (X10, galaxy i7500 and i9000) audio driver is not really stable 
with 16kHz audio streams. Setting Frequency (in Option > Media) to 8KHz will 
solve audio stack deadlocks.

To be absolutely sure everything is good now, a new version (that also ensure a 
better audio routing).

http://code.google.com/p/csipsimple/downloads/detail?name=CSipSimple_0.00-12-05.
apk.

Install it. Ensure that Options > Media > Frequency is set to 8kHz. 
It's now the default value but if a previous version is installed 16kHz can 
still appear.

This analyze confirms that in some configuration there is no problem (when the 
codec in use force 8kHz audio stream - which can be different from 8kHz data 
stream).

Just a last point : on Sony Ericson has a conceptual point of view of the MICRO 
source. It appears that micro stream include audio playback line ! 
I played all the day long with an X10 (great thanks goes to a colleague who 
lent it). Thanks to these test I understood that 16kHz audio pledge the CPU in 
this implementation. Unfortunately I didn't find a work around to prevent the 
micro source to be mixed with audio output. The result is that you will ear 
clearly what your remote contact say.... 
But your remote contact will become crazy with it's own echo. 

So question to the X10 owner, did you find a android sip application without 
this problem (remote user ear his voice)?

If no, we probably should open a bug for Sony Ericson devs. They will probably 
more focus this point if they implement 2.1 since changes in the 7 API clearly 
make a distinction on the mic source (mixed or not to output voice).

Original comment by r3gis...@gmail.com on 22 Jul 2010 at 8:46

GoogleCodeExporter commented 9 years ago
I tested some calls on csipsimple(0.00-12-05) using Galaxy S.

Caller used Galaxy S and callee used Bria(by counterpath) and Acrobits.
The first I did test call through OpenSIPS and second I tested through Asterisk.
I could verify the result is different.

On the OpenSIPS callee could never hear my voice, but on the Asterisk callee 
could hear some sound delayed and choppy. I don't know why.

You can verify detailed information in my zip file I attached
that contains three debug logs and two wave files.

I wish it is solved. If you need more information to solve I'll give you.
Thanks for your work.

Original comment by winfa...@gmail.com on 23 Jul 2010 at 6:51

Attachments:

GoogleCodeExporter commented 9 years ago
Well many thanks for theses logs.

I will search more about the error that could explain the fact mic doesn't work 
well.
For reference : 
ERROR/(2160): AFCCreateReSampler: avAFCInfo->bUsed[0] inSampleRate[44100] 
outSampleRate[8000] nChannel[2] outbitDepth[16]

There is only one google result for this one... on stackoverflow but no answer 
:(
Seems to be specific to Galaxy S.

On your side, can you try to do the same tests disabling both echo cancellation 
and voice auto detection. 
(Uncheck Menu>Option>Media>Echo cancellation & Voice audio detection).
Another interesting test could be to enable PCMU and PCMA codecs and disable 
GSM codec: Menu>Option>Media>Codecs long clic on codec to enable/disable it. 
According to provided traces, you have probably already disabled GSM but as 
your asterisk only support GSM, PCMU and PCMA, pjsip fall back to GSM to allow 
the call.

Thx again for your tests.

Original comment by r3gis...@gmail.com on 23 Jul 2010 at 8:11

GoogleCodeExporter commented 9 years ago
Another test you could do is changing media quality from 4 (the current default 
value) to 3.

On my HTC magic I get a choppy sound with quality 4 using GSM codec. But 
setting media quality to 3, disabling VAD and disabling echo cancellation make 
things going really better (from something that you can't ear to something 
pretty clear).

The other solution I have is to use PCMA instead of GSM.

Seems to be a little bit tricky to find out what are the good params and on 
what device :).
Probably we should try to start writing a wiki page.
We should probably also define what should be default values for audio 
parameters. Technically not a problem to define different params for different 
phones.

Original comment by r3gis...@gmail.com on 23 Jul 2010 at 9:58

GoogleCodeExporter commented 9 years ago
Thanks for your response.
I tested according to the above, but it's still the same as before.

The first I set both echo cancellation and VAD disabled.
Second, I set the available codecs that
 1) enabled GSM, ulaw, alaw.
    => csipsimple (GSM 8KHz) <---------------> Bria (G711u 8KHz)
    => csipsimple (GSM 8KHz) <---------------> Acrobits (ulaw)
 2) enabled just ualw and alaw. It was the same as 1).
    => csipsimple (GSM 8KHz) <---------------> Bria (G711u 8KHz)
    => csipsimple (GSM 8KHz) <---------------> Acrobits (ulaw)

If you want logs I'll give you. Thanks.

Original comment by winfa...@gmail.com on 23 Jul 2010 at 10:45

GoogleCodeExporter commented 9 years ago
Did you try with Media quality set to 3 instead of 4? On my HTC Sapphire it's 
the only way I have to get GSM codec working properly.

There is a problem with the codec disabling feature. That was already evoked in 
another issue. I'll have a closer look on it too.

Original comment by r3gis...@gmail.com on 23 Jul 2010 at 11:26

GoogleCodeExporter commented 9 years ago
Yes, I did test on conditions that set quality to 3. The result is the same.

So I tried to test the 'fring' on my phone under the same conditions. It works 
well.
But I could find the same problem reports on the internet. It seems to be fixed 
recently. Now you can find it. But I could not find how to solve it.

Original comment by winfa...@gmail.com on 23 Jul 2010 at 11:54

GoogleCodeExporter commented 9 years ago
I have version 0.00-12 and Galaxy S. I am using custom SIP. Incoming voice 
works perfect but outgoing voice is useless. It is robotics, it buzz and it 
cutting words.

I can make some tests if you are going to fix this problem. It seems that this 
problems appear also with other sip app. Only application which works with 
Galaxy now is Fring but its voice quality is very poor. I think that CSipSimple 
has so far best voice quality if you can fix that outgoing voice issue.

Original comment by jar...@gmail.com on 16 Aug 2010 at 4:58

GoogleCodeExporter commented 9 years ago
Ok sounds to be an issue with the codec (in incoming call codec is chosen by 
caller and in outgoing csipsimple choose the codec and probably a codec that 
require a high cpu usage).
Today, I'll build a new version that should improve CPU usage. And maybe it 
will be intersting to test with it.
Besides, as it is probably an issue with the codec that is used, it would be 
interesting to deactivate some codecs such as ilbc or speex for example that 
seems to use a lot of extra cpu to encode/decode things. (This could be done 
with the old release and the new one)
I'll notify the thread today when the new release is available.

Original comment by r3gis...@gmail.com on 16 Aug 2010 at 6:23

GoogleCodeExporter commented 9 years ago
[deleted comment]
GoogleCodeExporter commented 9 years ago
Ok, I will test new version when it appear.

(Just to make sure, I mean above situation that I am caller so in that 
situation my voice is bad and what I hear is very good)

In my situation my SIP provide accepts these codecs:
- G711
- G729A
- G729AB
- G723
- G723A
- ILBC

Of course G729 would be the best. With symbian I have got excellent voice 
quality with iLBC.

I think Fring uses iLBC but that is terrible even if I compare Frings symbian 
and android versions. So far other applications in Android uses G711 (pcma, 
pcmu) without good result.

Original comment by jar...@gmail.com on 16 Aug 2010 at 6:42

GoogleCodeExporter commented 9 years ago
I have the same issue, on my Galaxy S I am able to listen to the incomming call 
but the other party is listening garbage.

Original comment by ggpa...@gmail.com on 16 Aug 2010 at 7:04