<div dir="ltr"><div><span style="font-size:12.8000001907349px">How would you expect to use echo cancellation in FS?</span><br></div><div>I thinking it can be used like t38_gateway application (audio to image converter). In echo canceler application audio with echo converted to audio without echo.</div><div><br></div><span class="im" style="font-size:12.8000001907349px">&gt; On the one hand SpanDSP library compiled with FS and contains<br>&gt; functions for echo canceler libs/spandsp/src/echo.c<br></span><div><span style="font-size:12.8000001907349px">Not really. Look carefully at those routines.</span></div><div>In source<br></div><div><div> * echo.c - An echo cancellor, suitable for electrical and acoustic</div><div> *          cancellation. This code does not currently comply with</div><div> *          any relevant standards (e.g. G.164/5/7/8). One day....</div></div><div>And other 70 string of following comments describe file as echo canceler</div><div>Also in echo_can_update()</div><div>at string 429 </div><div>clean_rx = rx - echo_value;</div><div><br></div><div>at string 569 </div><div><div>    if ((ec-&gt;adaption_mode &amp; ECHO_CAN_USE_NLP))</div><div>    {</div><div>        /* Non-linear processor - a fancy way to say &quot;zap small signals, to avoid</div><div>           residual echo due to (uLaw/ALaw) non-linearity in the channel.&quot;. */</div></div><div><br></div><div>Look in echo.h comments ....</div><div><br></div><div>in the echo_tests.c </div><div><div>The echo cancellation tests test the echo cancellor against the G.168 spec.</div></div><div><br></div><div>At <a href="http://www.rowetel.com/blog/?page_id=454">http://www.rowetel.com/blog/?page_id=454</a> I read</div><div><span style="color:rgb(0,0,0);font-family:verdana,arial,sans-serif;font-size:13px;line-height:18.2000007629395px">spandsp : A subset of spandsp to support testing and development of Oslec. The echo canceller and G168 test suite source code live in here.</span><br></div><div><span style="color:rgb(0,0,0);font-family:verdana,arial,sans-serif;font-size:13px;line-height:18.2000007629395px"><br></span></div><div>I thinking it really echo canceler functions.</div><div><br></div><div><span style="font-size:12.8000001907349px">SpanDSP does NOT contain OSLEC. OSLEC has its origins in the work in</span><br style="font-size:12.8000001907349px"><span style="font-size:12.8000001907349px">progress echo canceller in SpanDSP.</span><br></div><div>If it two different product then echo canceler may be realized by</div><div><ol><li>SpanDSP library<br></li><li>Oslec kernel driver<br></li></ol></div><div>I has find relation In source files between <span style="font-size:12.8000001907349px">OSLEC kernel driver (drivers/staging/echo) and </span><span style="font-size:12.8000001907349px">SpanDSP functions:</span></div><div>oslec_create(int len, int adaption_mode) - echo_can_init(int len, int adaption_mode)<br></div><div>oslec_adaption_mode(struct oslec_state *ec, int adaption_mode) -<br></div><div>oslec_update(struct oslec_state *ec, int16_t tx, int16_t rx) - echo_can_update(echo_can_state_t *ec, int16_t tx, int16_t rx)<br></div><div>oslec_hpf_tx(struct oslec_state *ec, int16_t tx) - echo_can_hpf_tx(echo_can_state_t *ec, int16_t tx)<br></div><div><br></div><div>And FS may use two echo canceler engines (SpanSDP or OSLEC kernel driver). What is prevent to do it?</div><div><br></div><div><br></div><div><br></div><div><span style="font-size:12.8000001907349px"><br></span></div><div><br></div><div><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Sat, Apr 18, 2015 at 12:39 PM, Steve Underwood <span dir="ltr">&lt;<a href="mailto:steveu@coppice.org" target="_blank">steveu@coppice.org</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">On 04/18/2015 02:40 PM, Sergey Safarov wrote:<br>
&gt; Could you help me understand that prevents the use echo cancellation in FS<br>
</span>How would you expect to use echo cancellation in FS?<br>
<span class="">&gt; On the one hand SpanDSP library compiled with FS and contains<br>
&gt; functions for echo canceler libs/spandsp/src/echo.c<br>
</span>Not really. Look carefully at those routines.<br>
<span class="">&gt; On the other hand FS does not contain applications of echo canceler.<br>
</span>Correct.<br>
<span class="">&gt; Also, I found the discussion in which states GPL is not compatible<br>
&gt; with the MPL1.1 and it prevent use Oslec (SpanDSP is uses Oslec).<br>
</span>SpanDSP does NOT contain OSLEC. OSLEC has its origins in the work in<br>
progress echo canceller in SpanDSP.<br>
<br>
Regards,<br>
Steve<br>
<br>
<br>
_________________________________________________________________________<br>
Professional FreeSWITCH Consulting Services:<br>
<a href="mailto:consulting@freeswitch.org">consulting@freeswitch.org</a><br>
<a href="http://www.freeswitchsolutions.com" target="_blank">http://www.freeswitchsolutions.com</a><br>
<br>
Official FreeSWITCH Sites<br>
<a href="http://www.freeswitch.org" target="_blank">http://www.freeswitch.org</a><br>
<a href="http://confluence.freeswitch.org" target="_blank">http://confluence.freeswitch.org</a><br>
<a href="http://www.cluecon.com" target="_blank">http://www.cluecon.com</a><br>
<br>
FreeSWITCH-users mailing list<br>
<a href="mailto:FreeSWITCH-users@lists.freeswitch.org">FreeSWITCH-users@lists.freeswitch.org</a><br>
<a href="http://lists.freeswitch.org/mailman/listinfo/freeswitch-users" target="_blank">http://lists.freeswitch.org/mailman/listinfo/freeswitch-users</a><br>
UNSUBSCRIBE:<a href="http://lists.freeswitch.org/mailman/options/freeswitch-users" target="_blank">http://lists.freeswitch.org/mailman/options/freeswitch-users</a><br>
<a href="http://www.freeswitch.org" target="_blank">http://www.freeswitch.org</a><br>
</blockquote></div><br></div>