Live data from Hacker News

Ask HN: Why isn't VoIP better?

news.ycombinator.com

111–120 of 141 posts

Re: Ask HN: Why isn't VoIP better?

#111
When I first tried JamKazam (a-play-in-a-band-over-the-Internet-thing) and talked to my friends over low-latency, high-quality gear, I was amazed but how much it felt like being in the same room.

That's when I realized that most conferencing solutions simply have too high latency. It's a matter of milliseconds - if there's too many of them people start interrupting each other by talking at the same time, and the feeling of having a natural conversation is lost.

They'd probably do better financially by selling their technology as a conference solution. ;-)

Re: Ask HN: Why isn't VoIP better?

#112
Data Scientist for Republic Wireless here. We operate a hybrid mobile phone service that leverages both VoIP and traditional circuit switched networks to let our customers make calls.

When asked to rate the quality of a call, our users consistently rate pure VoIP calls higher than their pure circuit switched counterparts. A significant portion of that is due to our "bonded calling" technology - if a VoIP call over Wifi starts to degrade, we can supplement the audio stream with additional packets sent over LTE until Wifi issues calm down.

When we first rolled that tech out, we saw a marked improvement in call quality measures, and a noticeable drop in customer support complaints about call quality.

In the end, I can't say this issue will ever be solved to OP's satisfaction, but we're making some incredible strides.

Re: Ask HN: Why isn't VoIP better?

#113
post #109

8kHz pcm ulaw or alaw isn't exactly stellar, and high bandwidth Skype or sip is much much better really. Maybe you are conditioned to like the can-effect, your friends have really shitty headsets, or there is something wrong with the available bandwidth...

To clarify this a bit, SIP (session initiation protocol) is just a signalling protocol, meaning it is used to set up/tear down media streams between endpoints using various codecs. The sip standard includes a section of the message which is included in specific types of negotiation messages (invite, 183, 200 ok) called the SDP (session description protocol) to determine/negotiate which codec that gets used for the call (or video session).

In SDP you specify a list of the codecs you want to use in the media stream. The switch you are hosted by (either your Telephone Service Provider or Carrier) then determines which of these codecs match the other leg of the call it will be bridging you to, and chooses one of the codecs you provide to use for the media session. Sometimes it will be decide to transparently transcodes the call to another codec if required by the destination network. The payload in the media stream (called the RTP stream or Real-time Transport Protocol stream) will be encoded in the codec you specify, but may be transcoded on the way to the destination if required by the intermediary hop.

Among the codecs you could use, there are high definition codecs like G722 that sound really great and are becoming much more popular (this is the skype high definition audio codec IIRC), but if a call traverses the PSTN at all, that call will get transcoded down to G711U (USA) or G711A (everywhere else) and the quality will be much lower. If a call stays pure voip, there is a chance it will stay at G722 but typically that is the problem, you will encounter when calling to other phone systems that are still on the old circuit switched infrastructure.

So ultimately the quality of the call is dependent on these factors, how much bandwidth you have available, what codecs your VoIP provider supports, the quality of the path call takes and the codecs supported by the carriers the call traverses to get from your provider to the destination phone, and the type of endpoint you are calling IE: if you are calling mobile phone, a phone on another voip provider, or an old POTS line.

A POTS (plain old telephone service) line is (now sort of) dedicated from point to point. You might be surprised to learn that on the backend, most carriers use a lot of voip for internal network or handing off calls to other carriers. The old phone system reserved a 64k circuit for the entire path of the call which only contained the voice data for that specific call. This provides some quality guarantees are there that do not exist for packets traversing the public internet. VoIP on a private network with sufficient bandwidth and QoS for the media stream is always going to at least sound as good, if not better than the POTS network because the compression to squeeze the voice data down to a 64kbps was not very good when that stuff was invented. With voip you can use the new codecs, which nearly always results in a better call quality. This all depends on the provider you are using though, if they are hosting their services on AWS and using crappy carriers, your call quality will suffer.

Re: Ask HN: Why isn't VoIP better?

#114
Lots of great feedback here. I know from my own experience that the leading culprit of bad VoIP (and video) quality is a poorly performing ISP connection.

I'm one of the co-founders of Firebind. We use active traffic to continuously assess network quality of last mile ISP links, with a focus on sites using VoIP and video. Our software agent tests back to the cloud (combo of AWS and customer chosen destinations) every 5 minutes and makes 11 measurements by putting traffic on the wire. Two of those measurements are upload and download packet loss based on a synthetic G.711 VoIP call that runs for 25 seconds in each direction to one of our AWS hosted agent clusters.

By graphing the upload and download loss 24x7x365, we can see how good the network quality is on an ISP circuit far better than you can with a TCP Bandwidth test (which is effectively a destructive test) or anything ICMP based. And since we use active traffic, we have visibility even at 3am when no calls are being made.

I've reviewed hundreds of agent charts personally just in the last few months, many times with the customer. By far the number one issue is a bad quality ISP circuit, followed by an occasional bad or misconfigured network device at the customer site. Every once in a while the hosted VoIP provider might have some temporary glitch, but it has been pretty rare in my experience. Similarly the WAN path beyond the local ISP is usually not the problem.

Oversubscribed links are a very prevalent issue, especially with cable-modem based circuits where the upload bandwidth is a fraction of the download. Some of the things I've seen recently...

- Cable-based ISP circuit in Concord, CA whereby the upload packet loss increased in proportion to the daily high temperature - Customer site who accidentally configured their backup process to kick in at 3pm instead of 3am and hence flooded the upload path during working hours - Bad loss in both directions that was eventually traced to a bad coax line that had been nicked by a lawnmower - A cable modem with a memory leak that would gradually drop packets at a rate increasing up to almost 20% over the course of 2 weeks, where a power-cycle would "fix it" for a few days until the leak grew again and dropped more packets. - Incident with 2 Charter sites in 1 state and another in a different state whereby all 3 had transient 70+ percent download loss for three days back to our test site at AWS in US-East-1 (I sampled dozens of other agents around the U.S. and only the Charter sites saw this issue.) - And of course, the Netflix effect. Dozens of times I've seen download loss spike during prime-time TV hours, and that's the only time each day that remote site has download loss.

The best test you can do with open-source tools is to use iperf out to the cloud (to a $5/mo Digital Ocean droplet perhaps) on regular intervals and simulate the codec you care about. We built our own iperf-like solution that is highly concurrent but you can copy our settings and aim for 87 Kbps with 218 byte payloads over UDP. That should give you 50 pps of VoIP.

And of course for the shameless plug, if you want to check out Firebind, you can find a free trial link at our site. https://www.firebind.com.

Re: Ask HN: Why isn't VoIP better?

#115

Earlier quoted context omitted.

Like so many other things in tech, "it depends". Network gear can be configured to treat frames/packets in various ways -- leave the ToS/DSCP bits alone, strip them out, or remark them. At the edge of a network, it's common to mark them. In the core of a network, you'll usually leave them alone (but honor them). On connections to third-parties (such as ISPs), it's not unusual for them to strip your QoS markings -- un…

Except Internet routing is not smart, the routers cannot send you through a low bandwidth but uncontested and low latency pipe when your packets are unmarked because you didn't pay a premium for a peering agreement. It actually can hurt the Internet performance as a whole, as the tiny VoIP packets prevent Jumbo throughput ones from working really well. It takes just one bad hop to ruin latency.

Sure they can, especially on MPLS circuits sold for exactly this reason -- and with SLA commitments to deliver packets w/ specific markings within specific parameters (i.e. up to 5 Mbps of traffic marked ef will have maximum latency of 30 ms between A-Z).

Not on your home Internet connection, perhaps, but if you're a company and you want guaranteed performance levels (i.e. for VoIP traffic), you can certainly get it.

Re: Ask HN: Why isn't VoIP better?

#116
You might try Google Fi. Not Google Fiber, Google Fi (https://fi.google.com/).

I felt the same way about the difference in quality between cell phones and old-fashioned landlines. "Telephone voice" used to mean "bad audio quality," but compared to cell phones, the old telephone sounds golden. The nicest thing about PSTN-to-PSTN calls is their timing. Cell phones have a delay that always trips me up and keeps us from getting into any kind of conversational rhythm. Again it's another thing that I didn't appreciate back in the '80s, when landlines were all there was.

Finally I got Fi. The difference in quality is refreshing, even when talking to people on cell phones with different carriers (which is all the time, because no one else seems to know about Google Fi). The latency is much less, and the sound is clearer.

Ready to kick it into high gear? I can make phone calls on my laptop. Plug in earbuds with a built-in mic, and phone calls never sounded so good.

No, I don't work for Google.

Re: Ask HN: Why isn't VoIP better?

#117

I'm surprised that no one has mentioned bufferbloat yet. In most home routers, people can see seconds of delay when there's significant other traffic on the link. (And remember, "other traffic" can be ordinary web browsing, where pages average 2 mbytes these days...) The latency (and jitter) caused by bufferbloat has been a solved problem for almost five years: fq_codel, and the newer cake qdisc's are are in the Linu…

Anyone know if Mikrotik's RouterOS suffers from this?

Bufferbloat is typically a disease of your ISP (which throttles traffic), not of your router. A Mikrotik in its default configuration, like most other routers, will do nothing to address – nor exacerbate – bufferbloat caused by ISP throttling.

However, it is fairly simple to address ISP bufferbloat using RouterOS's "simple queues". In the most basic configuration, just add a simple queue targeting your WAN interface, with bandwidth limits in each direction slightly (~5-10%) lower than what your ISP throttles you to. If you have a slower connection (<10 Mbps), select "default-small" as the queue type. That's it, bufferbloat solved. (You can get fancier with multiple queues or different queue types, but the above alone gives you 90% of the benefit.)

Re: Ask HN: Why isn't VoIP better?

#118
post #84
post #66

Earlier quoted context omitted.

Bufferbloat is a side affect of congestion or microbursts, and not the primary cause of poor voice calls. Either packets get dropped (shallow buffer) or queued (enough buffer), and in both cases the quality of the call will suffer. Mitigation: Don't congest. If you need to, mark VOIP traffic with a DSCP value that has queues that are serviced prior to all others (e.g., EF, DSCP46).

I have almost no bufferbloat when downloading (about 1ms) but about 300ms when uploading. What does this mean?

What speed connection do you have, and what speed connection did that tool report?

If your connection is fast enough that that tool is unable to max it out for whatever reason (say you're on a poor WiFi connection), you will experience no bufferbloat.

Re: Ask HN: Why isn't VoIP better?

#119
post #99
post #92

Earlier quoted context omitted.

I'm going to agree with you and take this opportunity to plug http://cleanfeed.net/ We run a free 'VOIP' system that does zero processing on your audio. It's actually for broadcasters who just want to get live audio from A to B, untouched. But as it's two way (and multi-way) we're finding users contacting us to say they're using it for regular 'conferencing'. I suppose we are also doing it ourselves; we used Cleanfee…

Thanks for the recommendation! FAQ #1 should be "how does this remain free/why is this not going to disappear"?

Thanks, good suggestion. It's actually on the front page that our free offering is a spin-off of something commercial. But a FAQ to clarify this particular point would be sensible.

Re: Ask HN: Why isn't VoIP better?

#120

I'm surprised that no one has mentioned bufferbloat yet. In most home routers, people can see seconds of delay when there's significant other traffic on the link. (And remember, "other traffic" can be ordinary web browsing, where pages average 2 mbytes these days...) The latency (and jitter) caused by bufferbloat has been a solved problem for almost five years: fq_codel, and the newer cake qdisc's are are in the Linu…

Not in Germany, kernels and routers need! To be locked by law.

I accidentally updated without know. Now I'm locked...

Post reply on HN