Acoustic echo cancellation (AEC) is a particularly difficult problem in telephony, audio / video conferencing, etc. Even if you are using a headset at the end, you can still receive an echo through the remote end. You need the AEC module in your application, otherwise you will need to make sure that both ends always use headsets. Unfortunately, AEC is quite difficult to implement - you can do something rude with an adaptive LMS filter , but a really good AEC tends to be available only as a licensed commercial solution.
source
share