Echo problem

KP
Kapil Pendse
Thu, Aug 12, 2010 6:26 AM

Hello everyone,

I'm using pjsip-1.5.5. Compiled one copy for Windows Mobile running on Sony
Xperia X1 phones. Compiled another copy for Windows XP laptop.

I've modified the 'pjsua' apps slightly such that there are 4 phones that
call in to this one laptop. The laptop, joins them all in a conference. All
of this over WiFi.

Audio goes through well and all phones are able to communicate with each
other. But there is this echo on each phone. Whatever is spoken in phone-1
is echoed back to phone-1 after about 1~2 seconds (after it is heard on the
other phones).

The laptop's mic and speakers are muted, and port 0 of laptop is NOT
connected to the rest of the conference.

All phones are equipped with headset, so that the backpanel 'speakerphone'
is NOT being used.

Conference bridge connections:

phone-1 - port 3 = transmitting to ports 4,5,6
phone-2 - port 4 = transmitting to ports 3,5,6
phone-3 - port 5 = transmitting to ports 3,4,6
phone-4 - port 6 = transmitting to ports 3,4,5

I tried to use the Echo cancellation algorithm (ec-tail=default 256). Also
tried smaller values of ec-tail. But the moment I use anything other than
ec-tail=0, the phone's just can't handle it. The app bogs down the CPU and
audio becomes horrible. The app's UI stops responding. So I'm guessing the
algorithm is too heavy for the cellphone CPU. I saw in a post that there was
a lighter "echo suppression" algorithm available, but didn't figure out
where in the code it was. Is that the default anyway?

What could be done to get around this echo problem? Any help and suggestions
would be appreciated.

Thanks and best regards,
Kapil

--
"The Power to Imagine, is The Power to Create!"
-TTux

Hello everyone, I'm using pjsip-1.5.5. Compiled one copy for Windows Mobile running on Sony Xperia X1 phones. Compiled another copy for Windows XP laptop. I've modified the 'pjsua' apps slightly such that there are 4 phones that call in to this one laptop. The laptop, joins them all in a conference. All of this over WiFi. Audio goes through well and all phones are able to communicate with each other. But there is this echo on each phone. Whatever is spoken in phone-1 is echoed back to phone-1 after about 1~2 seconds (after it is heard on the other phones). The laptop's mic and speakers are muted, and port 0 of laptop is NOT connected to the rest of the conference. All phones are equipped with headset, so that the backpanel 'speakerphone' is NOT being used. Conference bridge connections: phone-1 - port 3 = transmitting to ports 4,5,6 phone-2 - port 4 = transmitting to ports 3,5,6 phone-3 - port 5 = transmitting to ports 3,4,6 phone-4 - port 6 = transmitting to ports 3,4,5 I tried to use the Echo cancellation algorithm (ec-tail=default 256). Also tried smaller values of ec-tail. But the moment I use anything other than ec-tail=0, the phone's just can't handle it. The app bogs down the CPU and audio becomes horrible. The app's UI stops responding. So I'm guessing the algorithm is too heavy for the cellphone CPU. I saw in a post that there was a lighter "echo suppression" algorithm available, but didn't figure out where in the code it was. Is that the default anyway? What could be done to get around this echo problem? Any help and suggestions would be appreciated. Thanks and best regards, Kapil -- "The Power to Imagine, is The Power to Create!" -TTux
KP
Kapil Pendse
Thu, Aug 12, 2010 6:28 AM

Forgot to mention, I am using the GSM codec.

On Thu, Aug 12, 2010 at 11:56 AM, Kapil Pendse kapil.pendse@gmail.comwrote:

Hello everyone,

I'm using pjsip-1.5.5. Compiled one copy for Windows Mobile running on Sony
Xperia X1 phones. Compiled another copy for Windows XP laptop.

I've modified the 'pjsua' apps slightly such that there are 4 phones that
call in to this one laptop. The laptop, joins them all in a conference. All
of this over WiFi.

Audio goes through well and all phones are able to communicate with each
other. But there is this echo on each phone. Whatever is spoken in phone-1
is echoed back to phone-1 after about 1~2 seconds (after it is heard on the
other phones).

The laptop's mic and speakers are muted, and port 0 of laptop is NOT
connected to the rest of the conference.

All phones are equipped with headset, so that the backpanel 'speakerphone'
is NOT being used.

Conference bridge connections:

phone-1 - port 3 = transmitting to ports 4,5,6
phone-2 - port 4 = transmitting to ports 3,5,6
phone-3 - port 5 = transmitting to ports 3,4,6
phone-4 - port 6 = transmitting to ports 3,4,5

I tried to use the Echo cancellation algorithm (ec-tail=default 256). Also
tried smaller values of ec-tail. But the moment I use anything other than
ec-tail=0, the phone's just can't handle it. The app bogs down the CPU and
audio becomes horrible. The app's UI stops responding. So I'm guessing the
algorithm is too heavy for the cellphone CPU. I saw in a post that there was
a lighter "echo suppression" algorithm available, but didn't figure out
where in the code it was. Is that the default anyway?

What could be done to get around this echo problem? Any help and
suggestions would be appreciated.

Thanks and best regards,
Kapil

--
"The Power to Imagine, is The Power to Create!"
-TTux

--
"The Power to Imagine, is The Power to Create!"
-TTux

Forgot to mention, I am using the GSM codec. On Thu, Aug 12, 2010 at 11:56 AM, Kapil Pendse <kapil.pendse@gmail.com>wrote: > Hello everyone, > > I'm using pjsip-1.5.5. Compiled one copy for Windows Mobile running on Sony > Xperia X1 phones. Compiled another copy for Windows XP laptop. > > I've modified the 'pjsua' apps slightly such that there are 4 phones that > call in to this one laptop. The laptop, joins them all in a conference. All > of this over WiFi. > > Audio goes through well and all phones are able to communicate with each > other. But there is this echo on each phone. Whatever is spoken in phone-1 > is echoed back to phone-1 after about 1~2 seconds (after it is heard on the > other phones). > > The laptop's mic and speakers are muted, and port 0 of laptop is NOT > connected to the rest of the conference. > > All phones are equipped with headset, so that the backpanel 'speakerphone' > is NOT being used. > > Conference bridge connections: > > phone-1 - port 3 = transmitting to ports 4,5,6 > phone-2 - port 4 = transmitting to ports 3,5,6 > phone-3 - port 5 = transmitting to ports 3,4,6 > phone-4 - port 6 = transmitting to ports 3,4,5 > > I tried to use the Echo cancellation algorithm (ec-tail=default 256). Also > tried smaller values of ec-tail. But the moment I use anything other than > ec-tail=0, the phone's just can't handle it. The app bogs down the CPU and > audio becomes horrible. The app's UI stops responding. So I'm guessing the > algorithm is too heavy for the cellphone CPU. I saw in a post that there was > a lighter "echo suppression" algorithm available, but didn't figure out > where in the code it was. Is that the default anyway? > > What could be done to get around this echo problem? Any help and > suggestions would be appreciated. > > Thanks and best regards, > Kapil > > -- > "The Power to Imagine, is The Power to Create!" > -TTux > -- "The Power to Imagine, is The Power to Create!" -TTux
NI
Nanang Izzuddin
Mon, Aug 23, 2010 4:15 PM

Hi Kapil,

As you mentioned that headset was in use (instead of phone
loudspeaker), acoustic echo normally wouldn't occur, so the
possibilities of echo source could be:

  • loop back in audio mixer (by OS or hardware), i.e: output (speaker)
    signals looped back to input line (mic) in the same device, on win PC
    this can be configured using the built-in audio setting UI, but I
    haven't seen such UI on win mobile platform (or may it be configured
    programmatically and done by other software perhaps)?
  • distance between devices was relatively close enough, so the talker
    voice accidentally also got in to other devices mic.

BR,
nanang

On Thu, Aug 12, 2010 at 1:28 PM, Kapil Pendse kapil.pendse@gmail.com wrote:

Forgot to mention, I am using the GSM codec.

On Thu, Aug 12, 2010 at 11:56 AM, Kapil Pendse kapil.pendse@gmail.com
wrote:

Hello everyone,
I'm using pjsip-1.5.5. Compiled one copy for Windows Mobile running on
Sony Xperia X1 phones. Compiled another copy for Windows XP laptop.
I've modified the 'pjsua' apps slightly such that there are 4 phones that
call in to this one laptop. The laptop, joins them all in a conference. All
of this over WiFi.
Audio goes through well and all phones are able to communicate with each
other. But there is this echo on each phone. Whatever is spoken in phone-1
is echoed back to phone-1 after about 1~2 seconds (after it is heard on the
other phones).
The laptop's mic and speakers are muted, and port 0 of laptop is NOT
connected to the rest of the conference.
All phones are equipped with headset, so that the backpanel 'speakerphone'
is NOT being used.
Conference bridge connections:
phone-1 - port 3 = transmitting to ports 4,5,6
phone-2 - port 4 = transmitting to ports 3,5,6
phone-3 - port 5 = transmitting to ports 3,4,6
phone-4 - port 6 = transmitting to ports 3,4,5
I tried to use the Echo cancellation algorithm (ec-tail=default 256). Also
tried smaller values of ec-tail. But the moment I use anything other than
ec-tail=0, the phone's just can't handle it. The app bogs down the CPU and
audio becomes horrible. The app's UI stops responding. So I'm guessing the
algorithm is too heavy for the cellphone CPU. I saw in a post that there was
a lighter "echo suppression" algorithm available, but didn't figure out
where in the code it was. Is that the default anyway?
What could be done to get around this echo problem? Any help and
suggestions would be appreciated.
Thanks and best regards,
Kapil

"The Power to Imagine, is The Power to Create!"
-TTux

--
"The Power to Imagine, is The Power to Create!"
-TTux


Visit our blog: http://blog.pjsip.org

pjsip mailing list
pjsip@lists.pjsip.org
http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org

Hi Kapil, As you mentioned that headset was in use (instead of phone loudspeaker), acoustic echo normally wouldn't occur, so the possibilities of echo source could be: - loop back in audio mixer (by OS or hardware), i.e: output (speaker) signals looped back to input line (mic) in the same device, on win PC this can be configured using the built-in audio setting UI, but I haven't seen such UI on win mobile platform (or may it be configured programmatically and done by other software perhaps)? - distance between devices was relatively close enough, so the talker voice accidentally also got in to other devices mic. BR, nanang On Thu, Aug 12, 2010 at 1:28 PM, Kapil Pendse <kapil.pendse@gmail.com> wrote: > Forgot to mention, I am using the GSM codec. > > On Thu, Aug 12, 2010 at 11:56 AM, Kapil Pendse <kapil.pendse@gmail.com> > wrote: >> >> Hello everyone, >> I'm using pjsip-1.5.5. Compiled one copy for Windows Mobile running on >> Sony Xperia X1 phones. Compiled another copy for Windows XP laptop. >> I've modified the 'pjsua' apps slightly such that there are 4 phones that >> call in to this one laptop. The laptop, joins them all in a conference. All >> of this over WiFi. >> Audio goes through well and all phones are able to communicate with each >> other. But there is this echo on each phone. Whatever is spoken in phone-1 >> is echoed back to phone-1 after about 1~2 seconds (after it is heard on the >> other phones). >> The laptop's mic and speakers are muted, and port 0 of laptop is NOT >> connected to the rest of the conference. >> All phones are equipped with headset, so that the backpanel 'speakerphone' >> is NOT being used. >> Conference bridge connections: >> phone-1 - port 3 = transmitting to ports 4,5,6 >> phone-2 - port 4 = transmitting to ports 3,5,6 >> phone-3 - port 5 = transmitting to ports 3,4,6 >> phone-4 - port 6 = transmitting to ports 3,4,5 >> I tried to use the Echo cancellation algorithm (ec-tail=default 256). Also >> tried smaller values of ec-tail. But the moment I use anything other than >> ec-tail=0, the phone's just can't handle it. The app bogs down the CPU and >> audio becomes horrible. The app's UI stops responding. So I'm guessing the >> algorithm is too heavy for the cellphone CPU. I saw in a post that there was >> a lighter "echo suppression" algorithm available, but didn't figure out >> where in the code it was. Is that the default anyway? >> What could be done to get around this echo problem? Any help and >> suggestions would be appreciated. >> Thanks and best regards, >> Kapil >> -- >> "The Power to Imagine, is The Power to Create!" >> -TTux > > > > -- > "The Power to Imagine, is The Power to Create!" > -TTux > > _______________________________________________ > Visit our blog: http://blog.pjsip.org > > pjsip mailing list > pjsip@lists.pjsip.org > http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org > >