Codec recommendations and G722

Since I subscribed to voip.ms, I have read several wikis, and I realize that codec recommendations varies a lot from one wiki page to the other.

From what I understand, G722 is the best codec offered in terms of voice quality, and is often referred as ‘HD call’.

Also, I noticed that G722 is disabled by default when you create sub-account.

Why is that ? Are we afraid of the bandwidth consumption needed by G722 or is there something else I’m missing?

Thanks.

Hello @mdastous,

I do not know why it is not activated by default, but it is a “recent” addition. For the bandwidth, this is about the same (except for G.729), but requires more computing power and introduce latency, which might be an issue or not depending on use cases.

  • G.729 = low quality, low bandwidth, low latency (0.1 ms)
  • G.711u = better audio, at 64 kbit/s, low latency (0.125 ms)
  • G.722 = much better audio (wideband), also at 64 kbit/s using compression, higher latency (40 ms end to end, so 0.2 ms).

You can dig down more info here and there:

So in the end this is really a question of use case. On my cellphone (using Groudwire), when in WiFi mode, I use G.722, and when using data, I use G.729.

Kind regards!
Alexandre

What about OPUS ? Looks like it’s new trend now… unfortunately it`s not support by voip.ms

1 Like

Yeah, there are many other codecs, like Opus, but I never gave much attention to them since voip.ms is not supporting them.

It would be interesting to know what are the technical considerations for voip.ms to support or not a codec. There might be technical considerations?

I think they might be avoiding codecs that individually are complex to compress, if you take a closer look, you will notice that voip.ms is using the G.729a codec rather than plain G.729. The Annex A version of the codec is compatible with plain decoders on the other side, but uses a different algorithm that uses less CPU cycles at the expense of some quality. The other three supported codecs (G.711, GSM and G.722) are pretty light on CPU cycles, so I think they want to support hundreds, thousands or tens of thousands of concurrent calls per server and the main constraint might be the CPU. I have yet to see how light of a codec Opus and other modern friends are compared to the legacy codecs.

1 Like