Wrong Echo cancellation delay calibration value

Fabien GUIBRETEAU via Linphone-users <[email protected]> Wed, 24 Sep 2025 11:12:31 +0000
Newsgroups gmane.comp.voip.linphone.user
Message-ID <AM8P193MB085128B4F1058B6CF652EA8CC91CA@AM8P193MB0851.EURP193.PROD.OUTLOOK.COM>
--===============3621060283384108541==
Content-Language: fr-FR
Content-Type: multipart/alternative;
	boundary="_000_AM8P193MB085128B4F1058B6CF652EA8CC91CAAM8P193MB0851EURP_"

--_000_AM8P193MB085128B4F1058B6CF652EA8CC91CAAM8P193MB0851EURP_
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

Hello everyone,

I followed the Linphone audio tuning guide (https://wiki.linphone.org/xwiki=
/wiki/public/view/Lib/Features/Audio%20tuning/) to determine the appropriat=
e value for ec_delay.  I ran the test tool (https://gitlab.linphone.org/BC/=
public/liblinphone/-/blob/master/tools/test_ecc.c) and I also ran the test =
tool inside my own project (to ensure that the API functions were using my =
project's configuration).

In both cases, the results indicated around 60ms for ec_delay, but when tes=
ting a Linphone call with "ec_delay=3D60", it doesn't work at all.
I tried to adjust the ec_delay manually and it turns out that the value tha=
t completely removes the echo is 110ms.

I can't explain why the 60ms returned by the test_ecc tool doesn't work whi=
le 110ms works well. Could you please explain to me the difference between =
the theoretical ec_delay (60) and the practical ec_delay (110) I found ? Do=
 you know if there is another test or tool that could help me determine the=
 correct ec_delay programmatically?

Thank you,

Have a nice day,

Fabien



--_000_AM8P193MB085128B4F1058B6CF652EA8CC91CAAM8P193MB0851EURP_
Content-Type: text/html; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

<html xmlns:v=3D"urn:schemas-microsoft-com:vml" xmlns:o=3D"urn:schemas-micr=
osoft-com:office:office" xmlns:w=3D"urn:schemas-microsoft-com:office:word" =
xmlns:m=3D"http://schemas.microsoft.com/office/2004/12/omml" xmlns=3D"http:=
//www.w3.org/TR/REC-html40">
<head>
<meta http-equiv=3D"Content-Type" content=3D"text/html; charset=3Dus-ascii"=
>
<meta name=3D"Generator" content=3D"Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
	{font-family:"Cambria Math";
	panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
	{font-family:Aptos;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
	{margin:0cm;
	font-size:12.0pt;
	font-family:"Aptos",sans-serif;
	mso-ligatures:standardcontextual;
	mso-fareast-language:EN-US;}
a:link, span.MsoHyperlink
	{mso-style-priority:99;
	color:#467886;
	text-decoration:underline;}
span.EmailStyle18
	{mso-style-type:personal-compose;
	font-family:"Aptos",sans-serif;
	color:windowtext;}
.MsoChpDefault
	{mso-style-type:export-only;
	font-size:10.0pt;
	mso-ligatures:none;}
@page WordSection1
	{size:612.0pt 792.0pt;
	margin:70.85pt 70.85pt 70.85pt 70.85pt;}
div.WordSection1
	{page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext=3D"edit" spidmax=3D"1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext=3D"edit">
<o:idmap v:ext=3D"edit" data=3D"1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang=3D"FR" link=3D"#467886" vlink=3D"#96607D" style=3D"word-wrap:bre=
ak-word">
<div class=3D"WordSection1">
<p class=3D"MsoNormal"><span lang=3D"EN-US">Hello everyone,<o:p></o:p></spa=
n></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US"><o:p>&nbsp;</o:p></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">I followed the Linphone audio t=
uning guide (<a href=3D"https://wiki.linphone.org/xwiki/wiki/public/view/Li=
b/Features/Audio%20tuning/">https://wiki.linphone.org/xwiki/wiki/public/vie=
w/Lib/Features/Audio%20tuning/</a>) to
 determine the appropriate value for ec_delay. &nbsp;I ran the test tool (<=
a href=3D"https://gitlab.linphone.org/BC/public/liblinphone/-/blob/master/t=
ools/test_ecc.c">https://gitlab.linphone.org/BC/public/liblinphone/-/blob/m=
aster/tools/test_ecc.c</a>) and I also
 ran the test tool inside my own project (to ensure that the API functions =
were using my project&#8217;s configuration).
<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US"><o:p>&nbsp;</o:p></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">In both cases, the results indi=
cated around 60ms for ec_delay, but when testing a Linphone call with &#822=
0;ec_delay=3D60&#8221;, it doesn&#8217;t work at all.
<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">I tried to adjust the ec_delay =
manually and it turns out that the value that completely removes the echo i=
s 110ms.<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US"><o:p>&nbsp;</o:p></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">I can&#8217;t explain why the 6=
0ms returned by the test_ecc tool doesn&#8217;t work while 110ms works well=
. Could you please explain to me the difference between the theoretical ec_=
delay (60) and the practical ec_delay (110) I found
 ? Do you know if there is another test or tool that could help me determin=
e the correct ec_delay programmatically?<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US"><o:p>&nbsp;</o:p></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">Thank you,<o:p></o:p></span></p=
>
<p class=3D"MsoNormal"><span lang=3D"EN-US"><o:p>&nbsp;</o:p></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">Have a nice day,<o:p></o:p></sp=
an></p>
<div>
<div>
<p style=3D"margin:.1pt;mso-line-height-alt:0pt">Fabien<o:p></o:p></p>
<table class=3D"MsoNormalTable" border=3D"0" cellspacing=3D"0" cellpadding=
=3D"0" width=3D"0">
<tbody>
<tr>
<td style=3D"padding:0cm 0cm 0cm 0cm">
<div id=3D"LSI_marker">
<p class=3D"MsoNormal"><span style=3D"font-size:1.0pt">&nbsp;</span><span s=
tyle=3D"font-size:1.0pt"><o:p></o:p></span></p>
</div>
</td>
</tr>
</tbody>
</table>
</div>
</div>
<p class=3D"MsoNormal"><span lang=3D"EN-US"><o:p>&nbsp;</o:p></span></p>
</div>
</body>
</html>

--_000_AM8P193MB085128B4F1058B6CF652EA8CC91CAAM8P193MB0851EURP_--


--===============3621060283384108541==
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: base64
Content-Disposition: inline

X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KTGlucGhvbmUt
dXNlcnMgbWFpbGluZyBsaXN0CkxpbnBob25lLXVzZXJzQG5vbmdudS5vcmcKaHR0cHM6Ly9saXN0
cy5ub25nbnUub3JnL21haWxtYW4vbGlzdGluZm8vbGlucGhvbmUtdXNlcnMK

--===============3621060283384108541==--