Configuring the echo canceller

To implement DCE transport, configure the echo canceller so that the echo suppressor is disabled, or so that the echo canceller is disabled and operates in bypass mode.  

The following table shows the actions the application must take depending on the type of signal detected:

Signal

Frequency

Amplitude modulation

Phase reversals

Action to take on both ends

ANS

2100 +/- 15 Hz

0

0

Disable echo suppressor

ANS/

2100 +/- 15 Hz

0

450 +/- 25 ms

Disable echo canceller and echo suppressor

ANSam

2100 +/-   1 Hz

15 +/- 0.1 Hz

0

Disable echo suppressor

ANSam/

2100 +/-   1 Hz

15 +/- 0.1 Hz

450 +/- 25 ms

Disable echo canceller and echo suppressor

The following sample code shows how to configure the echo canceller with echo suppression disabled and to disable the echo canceller so that it operates in bypass mode:

If (nEchoSuppress)
{
EchoParms[chn].size = sizeof(ADI_ECHOCANCEL_PARMS);
EchoParms[chn].mode |= ADI_ECHOCANCEL_SUPPRESS;
    
ret = adiModifyEchoCanceller(hPstnCallCtl[chn],&EchoParms[chn]);
}
else if (nEchoBypass)
{
EchoParms[ichn].size = sizeof(ADI_ECHOCANCEL_PARMS);
EchoParms[chn].mode |= ADI_ECHOCANCEL_BYPASS;
  
ret = adiModifyEchoCanceller(hPstnCallCtl[chn],&EchoParms[chn]);
}