Hacker News new | ask | show | jobs
by bsaunder 3392 days ago
So VoIP can be better... at the expense of needing more bandwidth. During the session initialization the two VoIP endpoints handshake over which codecs will be used (kind of like the Accepts header in HTTP). Just like images, higher quality codecs tend to use more bandwidth (though like images its much more nuanced than that). Similarly like image formats there's different amounts of loss in the encoding/decoding of the voice data.

Voice has a major difference though. Its generally a real time protocol (its data packets are called RTP and sent over UDP generally). With images you can afford to wait longer for high quality images to load over a slow network. In a phone call that delay gets a bit annoying (to put it lightly).

Most people would rather trade quality for timeliness. You ISP would rather throttle your bandwidth and may not care about your quality (to a point).

Its quite a bit more complicated than that, but in a nutshell with VoIP, "higher quality" = "more bandwidth". If you don't have the bandwidth you'll have a very hard time getting better quality. If you have the bandwidth locally, then your provider or some network link along the way either doesn't have the aggregate capacity or may be actively throttling your rate to limit usage.

1 comments

It really depends on which codec you're using. We had an implementation of G.711, which is not bad, but far from great. However, the license costs for implementing G.729 were so outrageous that my previous company simply couldn't afford it (or wouldn't). G.729 offers better call quality for the same bitrate, or similar call quality for much lower bitrate. Typically, G.711 would use ~64Kbps, whereas G.729 can achieve the same call quality for ~8Kbps (there's also a variable encoding that scales between 8 and 32Kbps). This being said, G.729 also requires a lot more CPU processing power.

If I'm not mistaken, each party of each leg of a call needs a license, which means that for a typical call centre with an IVR server between the agent and the customer, you need:

Summary:

- PSTN converter to IVR: 2 licenses / per customer

- IVR to agent: 2 licenses / per agent

- IVR to supervisor: 2 licenses / per supervisor.

It's pretty normal to see 300-agent call centres, and you typically want at least 300-900 calls waiting. Let's say there's between 10 and 30 supervisors.

300 * 2 + 900 * 2 + 30 * 2 = 2460 licenses. At $6-10 per license, that's more expensive than most hardware PBX solutions alone!

For IVR companies that handle multiple hundreds of thousands of calls per day, it's not really worth it.

Edit: Formatting

That licensing scheme is INSANE, especially since codecs like Opus exist, and do a much better job.

Once you touch the PSTN though, you're uLaw anyway. Why would you pay that much just for in-network voice quality?

Yes, codec licensing costs are one of the reasons people choose to not use the better codecs. Also, yes there is a CPU trade off as well.

The decision is more complicate with many trade offs. But in general, the OPs issues are either fundamental network ones or an intentional choice of one of his providers (typically for cost reasons - manifested in some manner).