A general problem in telephony is the occurrence of an acoustic echo. This happens especially when a speaker phone is used and the voice signal can easily travel from the speaker back to the microphone. When using VoIP phone systems an echo can also occur through poorly screened cables or insufficient bandwidth.
Echo cancellation attempts to remove the echo from the transmitted audio signal with a special algorithm. The algorithm creates copies of the received signal and checks for parts of the signal that reappear with some delay. This reappearing parts are then subtracted from the signal. The echo is removed.
Echo cancellation algorithms can be implemented in hardware or software. When using software echo cancellation, computational power from the CPU is required to execute the algorithm. This needs to be especially considered, when a high number of parallel phone calls occurs. Hardware echo cancellation is beneficial for phone systems with limited CPU power or high amounts of parallel calls.