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]);
}