WebRTC- Noise Cancellation Behavior

I use the XMPP messenger “Conversations” quite a lot these days for end-to-end encrypted voice calls over my own infrastructure and I am quite amazed at how background noise is handled in WebRTC based voice channels on Android devices. When I’m in a ‘normal’ voice call, noise cancellation usually works pretty well until I switch to my Bose headset. Once the headset it plugged in, noise cancellation in the phone is disabled and people find it difficult to understand me due to the background noise in busy places or in the car. Not so with WebRTC!

Here, background noise is almost completely removed, even when my headset is plugged in. At the beginning of the call one can still hear the background noise for a few seconds but then it just fades away and only the caller’s voice is audible. The sound quality of the voice is not quite ‘HD-quality’ anymore but there is no background noise at all. This even works in very noisy places such as train stations and even with cheap smartphones. I have to say I am quite amazed!