[SOLVED] Re: PJSIP 1.7 iphone port - remote echo issue with speaker phone

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Tested with iOS 4.1 and there is still echo when using speaker on iPhone 3GS.
I searched a bit on Voice Processing I/O Audio and there seems to be mixed results (more with problems than not).
Some stated that the EC works when programmed in a special matter (

I would think that EC on the iOS itself is not the problem since the EC works when using the built-in phone.
Also the Skype app works really well on speaker (but they might do some EC server-side?).

I really hope we can make EC work in some way or another, and if it's really an iOS problem, get some attention to have it fixed by Apple.

Ming: You mentioned a bug report filed to apple, do you have the radar link for the ticket?
I would recommend others to file bug reports as well to get some attention if it actually is 
Apple's fault (and if not, there should for sure be some improvements to the documentation for Voice Processing).


There's some statements in the source code about how to get EC working in this source-code (search for "properly provide echo cancellation"),
someone with isights on the pjsip coreaudio driver could perhaps understand it better than me to see if it's implemented correctly;
http://code.google.com/p/pjsip-iphone-audio-driver/source/browse/trunk/iphonesound.c?r=19&spec=svn19


Best regards,
Even Andr?

On 22. sep. 2010, at 14.45, Sauw Ming wrote:

> It should be automatically enabled by default with no additional
> setting. Please do let us know your test result.
> 
> Thanks,
> Ming
> 
> On Wed, Sep 22, 2010 at 8:40 PM, Even Andr? Fiskvik <eaf at oyatel.no> wrote:
>> Did anyone test it on iOS 4.1 ?
>> 
>> I can test it on my device running 4.1, but do I need to set
>> "ec_tail_len 1" in my code in order to enable the EC feature, or should it be "on" by default as of svn trunk?
>> 
>> 
>> Best regards,
>> Even Andr?
>> 
>> On 22. sep. 2010, at 13.47, Sauw Ming wrote:
>> 
>>> Hi Andre,
>>> 
>>> The ticket was resolved as "wontfix" because the issue is more likely
>>> to be with the iOS SDK itself rather than within PJSIP. We have filed
>>> a bug report form to Apple.
>>> 
>>> Regards,
>>> Ming
>>> 
>>> On Wed, Sep 22, 2010 at 7:04 PM, Even Andr? Fiskvik <eaf at oyatel.no> wrote:
>>>> Hm, may I ask why the ticket has been resolved as "wontfix" ?
>>>> 
>>>> It seems like you have discovered that indeed EC won't work on iOS 4.x ?
>>>> Is there another ticket on this subject, or has it been fixed?
>>>> 
>>>> 
>>>> Best regards,
>>>> Even Andr?
>>>> 
>>>> 
>>>> On 24. aug. 2010, at 04.27, Sauw Ming wrote:
>>>> 
>>>>> Hi Rob,
>>>>> 
>>>>> Glad that you finally solved the problem. Thanks for the report and to
>>>>> follow up on this issue, we have created a ticket:
>>>>> https://trac.pjsip.org/repos/ticket/1113
>>>>> to investigate whether there is a problem with the EC when using SDK 4.
>>>>> 
>>>>> Cheers,
>>>>> Ming
>>>>> 
>>>>> On Tue, Aug 24, 2010 at 1:27 AM, Rob Wilkes <wilkrob at gmail.com> wrote:
>>>>>> Hi Ming - SOLVED :-)
>>>>>> I just switched to OS SDK 3.2 and it works like a charm (amazing how
>>>>>> fantastic the h/w echo canceller is). The problem was SDK 4.0.x.
>>>>>> Let me know your location and I'll send you a case of your favorite beer :-)
>>>>>> I spent countless hours trying to figure this one out
>>>>>> 
>>>>>> On Mon, Aug 23, 2010 at 11:51 AM, Rob Wilkes <wilkrob at gmail.com> wrote:
>>>>>>> 
>>>>>>> Hi Sauw, just to confirm - this issue is happening when I switch to
>>>>>>> speakerphone. There is no  remote echo when in normal mode.
>>>>>>> Hmmmmm - let me install this software on a 3G and test. I am testing on an
>>>>>>> iphone 4 running ios 4.0.2. Can you confirm you are talking about speaker
>>>>>>> phone mode?
>>>>>>> 
>>>>>>> On Mon, Aug 23, 2010 at 11:48 AM, Sauw Ming <ming at teluu.com> wrote:
>>>>>>>> 
>>>>>>>> Hi Rob,
>>>>>>>> 
>>>>>>>> Yes, it is. I tried using SDK 3.2 on an iPhone 2G running iOS 3.1.2
>>>>>>>> and SDK 4 on an iPhone 3GS running iOS 4.0.2 and the echo suppressor
>>>>>>>> seemed to work fine. So honestly, I don't know what may have caused
>>>>>>>> the echo suppressor not working on your side, but my guess is it may
>>>>>>>> be due to the SDK and iOS compatibility issue (there was a report that
>>>>>>>> echo cancellation doesn't work using SDK 4 on an iPad running iOS 3.x
>>>>>>>> but works fine using SDK 3.x).
>>>>>>>> 
>>>>>>>> Regards,
>>>>>>>> Ming
>>>>>>>> 
>>>>>>>> On Mon, Aug 23, 2010 at 7:06 PM, Rob Wilkes <wilkrob at gmail.com> wrote:
>>>>>>>>> Hi Ming,
>>>>>>>>> here is what my debugger says
>>>>>>>>> 2010-08-23 07:04:22.138 Sample[5220:307] VALUE OF
>>>>>>>>> PJMEDIA_AUD_DEV_CAP_EC 512
>>>>>>>>> I assume that means coreaudio vp IO unit is being used?
>>>>>>>>> 
>>>>>>>>> On Sun, Aug 22, 2010 at 11:11 PM, Sauw Ming <ming at teluu.com> wrote:
>>>>>>>>>> 
>>>>>>>>>> Hi Rob,
>>>>>>>>>> 
>>>>>>>>>> Yes, on iOS, coreaudio is enabled by default. And we use the Voice
>>>>>>>>>> Processing I/O unit, doc:
>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>>> http://developer.apple.com/iphone/library/documentation/Audio/Conceptual/AudioUnitLoadingGuide_iPhoneOS/System-SuppliedAudioUnitsiniPhoneOS/System-SuppliedAudioUnitsiniPhoneOS.html),
>>>>>>>>>> which has built-in echo suppressor. You can try reading the setting
>>>>>>>>>> PJMEDIA_AUD_DEV_CAP_EC to confirm whether the coreaudio is indeed
>>>>>>>>>> using Voice Processing IO unit.
>>>>>>>>>> 
>>>>>>>>>> Best regards,
>>>>>>>>>> Ming
>>>>>>>>>> 
>>>>>>>>>> On Mon, Aug 23, 2010 at 1:50 AM, Rob Wilkes <wilkrob at gmail.com> wrote:
>>>>>>>>>>> Hi Ming, does coreaudio get enabled by default in 1.7? I am using
>>>>>>>>>>> 1.7
>>>>>>>>>>> 
>>>>>>>>>>> On Sun, Aug 22, 2010 at 8:29 AM, Sauw Ming <ming at teluu.com> wrote:
>>>>>>>>>>>> 
>>>>>>>>>>>> Hi Alejandro,
>>>>>>>>>>>> 
>>>>>>>>>>>> You can use pjsip 1.7 and use the coreaudio backend.
>>>>>>>>>>>> 
>>>>>>>>>>>> Regards,
>>>>>>>>>>>> Ming
>>>>>>>>>>>> 
>>>>>>>>>>>> On Fri, Aug 20, 2010 at 8:08 PM, Alejandro Orellana
>>>>>>>>>>>> <alejandro.orellana at savantav.com> wrote:
>>>>>>>>>>>>> All
>>>>>>>>>>>>> Actually i am observing the same  using pjsip 1.6.
>>>>>>>>>>>>> in looking the logs don't see anything related to  echo
>>>>>>>>>>>>> canceling.
>>>>>>>>>>>>> how can i enable the speex echo cancellation or the echo
>>>>>>>>>>>>> suppressor
>>>>>>>>>>>>> for
>>>>>>>>>>>>> the
>>>>>>>>>>>>> iOS ?
>>>>>>>>>>>>> is it recommended to use  either of the above approaches? or the
>>>>>>>>>>>>> core
>>>>>>>>>>>>> audio
>>>>>>>>>>>>> backend is the recommended one?
>>>>>>>>>>>>> Thanks in advance
>>>>>>>>>>>>> On Aug 20, 2010, at 1:03 AM, Sauw Ming wrote:
>>>>>>>>>>>>> 
>>>>>>>>>>>>> Hi Rob,
>>>>>>>>>>>>> 
>>>>>>>>>>>>> Which version of iOS SDK and which version of iOS that you are
>>>>>>>>>>>>> using?
>>>>>>>>>>>>> If you're using iOS SDK 4, did the same problem also happen when
>>>>>>>>>>>>> you're using the SDK 3.x?
>>>>>>>>>>>>> 
>>>>>>>>>>>>> Regards,
>>>>>>>>>>>>> Ming
>>>>>>>>>>>>> 
>>>>>>>>>>>>> On Thu, Aug 19, 2010 at 3:56 AM, Rob Wilkes <wilkrob at gmail.com>
>>>>>>>>>>>>> wrote:
>>>>>>>>>>>>> 
>>>>>>>>>>>>> Hi, here is the code I am using to switch to loudspeaker on the
>>>>>>>>>>>>> iphone
>>>>>>>>>>>>> 
>>>>>>>>>>>>> pjmedia_aud_dev_route route =  PJMEDIA_AUD_DEV_ROUTE_LOUDSPEAKER;
>>>>>>>>>>>>> 
>>>>>>>>>>>>> pj_status_t status;
>>>>>>>>>>>>> 
>>>>>>>>>>>>> pjsua_set_ec (PJSUA_DEFAULT_EC_TAIL_LEN,0);
>>>>>>>>>>>>> 
>>>>>>>>>>>>> status = pjsua_snd_set_setting(PJMEDIA_AUD_DEV_CAP_OUTPUT_ROUTE,
>>>>>>>>>>>>> 
>>>>>>>>>>>>>   &route, PJ_TRUE);
>>>>>>>>>>>>> 
>>>>>>>>>>>>> pjsua_set_ec (PJSUA_DEFAULT_EC_TAIL_LEN,0);
>>>>>>>>>>>>> 
>>>>>>>>>>>>> I just added the pjsua_set_ec both before and after to see if it
>>>>>>>>>>>>> makes a
>>>>>>>>>>>>> 
>>>>>>>>>>>>> difference. The remote party is still hearing his own voice back
>>>>>>>>>>>>> loud
>>>>>>>>>>>>> and
>>>>>>>>>>>>> 
>>>>>>>>>>>>> clear.
>>>>>>>>>>>>> 
>>>>>>>>>>>>> Can anyone suggest what I may be doing wrong?
>>>>>>>>>>>>> 
>>>>>>>>>>>>> On Wed, Aug 18, 2010 at 11:46 AM, Rob Wilkes <wilkrob at gmail.com>
>>>>>>>>>>>>> wrote:
>>>>>>>>>>>>> 
>>>>>>>>>>>>> Hi, I am running PJSIP 1.7 on an iphone (3GS as well as 4). I
>>>>>>>>>>>>> checked
>>>>>>>>>>>>> out
>>>>>>>>>>>>> 
>>>>>>>>>>>>> the trunk today and built it exactly as per specs. When I make a
>>>>>>>>>>>>> call
>>>>>>>>>>>>> and
>>>>>>>>>>>>> 
>>>>>>>>>>>>> switch the iphone to speaker mode, the remote party hears his/her
>>>>>>>>>>>>> own
>>>>>>>>>>>>> voice
>>>>>>>>>>>>> 
>>>>>>>>>>>>> back very prominently. According to the release notes of 1.7, it
>>>>>>>>>>>>> should
>>>>>>>>>>>>> be
>>>>>>>>>>>>> 
>>>>>>>>>>>>> using the iphone's native echo canceller and this should not be
>>>>>>>>>>>>> happening
>>>>>>>>>>>>> 
>>>>>>>>>>>>> (or, atleast, the remote echo should not be so prominent). Is
>>>>>>>>>>>>> there
>>>>>>>>>>>>> any
>>>>>>>>>>>>> 
>>>>>>>>>>>>> additional setting I need to do?
>>>>>>>>>>>>> 
>>>>>>>>>>>>> I assume 1.7's audio driver should already be doing what the
>>>>>>>>>>>>> 
>>>>>>>>>>>>> old http://code.google.com/p/pjsip-iphone-audio-driver/ effort
>>>>>>>>>>>>> did.
>>>>>>>>>>>>> Is
>>>>>>>>>>>>> that
>>>>>>>>>>>>> 
>>>>>>>>>>>>> correct? (since this was created for older versions of JPJSIP and
>>>>>>>>>>>>> PJSIP
>>>>>>>>>>>>> has
>>>>>>>>>>>>> 
>>>>>>>>>>>>> evolved since)
>>>>>>>>>>>>> 
>>>>>>>>>>>>> thx
>>>>>>>>>>>>> 
>>>>>>>>>>>>> 
>>>>>>>>>>>>> 
>>>>>>>>>>>>> _______________________________________________
>>>>>>>>>>>>> 
>>>>>>>>>>>>> Visit our blog: http://blog.pjsip.org
>>>>>>>>>>>>> 
>>>>>>>>>>>>> pjsip mailing list
>>>>>>>>>>>>> 
>>>>>>>>>>>>> pjsip at lists.pjsip.org
>>>>>>>>>>>>> 
>>>>>>>>>>>>> http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org
>>>>>>>>>>>>> 
>>>>>>>>>>>>> 
>>>>>>>>>>>>> 
>>>>>>>>>>>>> _______________________________________________
>>>>>>>>>>>>> Visit our blog: http://blog.pjsip.org
>>>>>>>>>>>>> 
>>>>>>>>>>>>> pjsip mailing list
>>>>>>>>>>>>> pjsip at lists.pjsip.org
>>>>>>>>>>>>> http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org
>>>>>>>>>>>>> 
>>>>>>>>>>>>> ------
>>>>>>>>>>>>> Alejandro Orellana
>>>>>>>>>>>>> Savant Systems, LLC
>>>>>>>>>>>>> 770 Main Street
>>>>>>>>>>>>> Osterville, Ma. 02655
>>>>>>>>>>>>> (508) 683-2547 (W)
>>>>>>>>>>>>> (508) 683-2647 (F)
>>>>>>>>>>>>> Alejandro.Orellana at savantav.com
>>>>>>>>>>>>> Statement of Confidentiality
>>>>>>>>>>>>> The contents of this e-mail message and any attachments are
>>>>>>>>>>>>> confidential
>>>>>>>>>>>>> and
>>>>>>>>>>>>> are intended solely for the addressee. The information may also
>>>>>>>>>>>>> be
>>>>>>>>>>>>> legally
>>>>>>>>>>>>> privileged. This transmission is sent in trust, and the sole
>>>>>>>>>>>>> purpose
>>>>>>>>>>>>> of
>>>>>>>>>>>>> delivery to the intended recipient. If you have received this
>>>>>>>>>>>>> transmission
>>>>>>>>>>>>> in error, any use, reproduction or dissemination of this
>>>>>>>>>>>>> transmission
>>>>>>>>>>>>> is
>>>>>>>>>>>>> strictly prohibited. If you are not the intended recipient,
>>>>>>>>>>>>> please
>>>>>>>>>>>>> immediately notify the sender by reply e-mail or at 508.683-2500
>>>>>>>>>>>>> and
>>>>>>>>>>>>> delete
>>>>>>>>>>>>> this message and its attachments, if any.
>>>>>>>>>>>>> 
>>>>>>>>>>>>> 
>>>>>>>>>>>>> 
>>>>>>>>>>>>> _______________________________________________
>>>>>>>>>>>>> Visit our blog: http://blog.pjsip.org
>>>>>>>>>>>>> 
>>>>>>>>>>>>> pjsip mailing list
>>>>>>>>>>>>> pjsip at lists.pjsip.org
>>>>>>>>>>>>> http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org
>>>>>>>>>>>>> 
>>>>>>>>>>>>> 
>>>>>>>>>>>> 
>>>>>>>>>>>> _______________________________________________
>>>>>>>>>>>> Visit our blog: http://blog.pjsip.org
>>>>>>>>>>>> 
>>>>>>>>>>>> pjsip mailing list
>>>>>>>>>>>> pjsip at lists.pjsip.org
>>>>>>>>>>>> http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org
>>>>>>>>>>> 
>>>>>>>>>>> 
>>>>>>>>>>> _______________________________________________
>>>>>>>>>>> Visit our blog: http://blog.pjsip.org
>>>>>>>>>>> 
>>>>>>>>>>> pjsip mailing list
>>>>>>>>>>> pjsip at lists.pjsip.org
>>>>>>>>>>> http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org
>>>>>>>>>>> 
>>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>>> _______________________________________________
>>>>>>>>>> Visit our blog: http://blog.pjsip.org
>>>>>>>>>> 
>>>>>>>>>> pjsip mailing list
>>>>>>>>>> pjsip at lists.pjsip.org
>>>>>>>>>> http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> _______________________________________________
>>>>>>>>> Visit our blog: http://blog.pjsip.org
>>>>>>>>> 
>>>>>>>>> pjsip mailing list
>>>>>>>>> pjsip at lists.pjsip.org
>>>>>>>>> http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>> 
>>>>>>>> _______________________________________________
>>>>>>>> Visit our blog: http://blog.pjsip.org
>>>>>>>> 
>>>>>>>> pjsip mailing list
>>>>>>>> pjsip at lists.pjsip.org
>>>>>>>> http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org
>>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> _______________________________________________
>>>>>> Visit our blog: http://blog.pjsip.org
>>>>>> 
>>>>>> pjsip mailing list
>>>>>> pjsip at lists.pjsip.org
>>>>>> http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org
>>>>>> 
>>>>>> 
>>>>> 
>>>>> _______________________________________________
>>>>> Visit our blog: http://blog.pjsip.org
>>>>> 
>>>>> pjsip mailing list
>>>>> pjsip at lists.pjsip.org
>>>>> http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org
>>>>> 
>>>> 
>>>> 
>>>> 
>>>> 
>>>> _______________________________________________
>>>> Visit our blog: http://blog.pjsip.org
>>>> 
>>>> pjsip mailing list
>>>> pjsip at lists.pjsip.org
>>>> http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org
>>>> 
>>> 
>>> _______________________________________________
>>> Visit our blog: http://blog.pjsip.org
>>> 
>>> pjsip mailing list
>>> pjsip at lists.pjsip.org
>>> http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org
>>> 
>> 
>> 
>> 
>> 
>> _______________________________________________
>> Visit our blog: http://blog.pjsip.org
>> 
>> pjsip mailing list
>> pjsip at lists.pjsip.org
>> http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org
>> 
> 
> _______________________________________________
> Visit our blog: http://blog.pjsip.org
> 
> pjsip mailing list
> pjsip at lists.pjsip.org
> http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org
> 






[Index of Archives]     [Asterisk Users]     [Asterisk App Development]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [Linux API]
  Powered by Linux