5 ms·
I like to ask "why is UDP perfect for VoIP calls?" A packet showing up a second late is completely worthless. You don't want it at all. If the connection get
by danielweber 13y ago
I like to ask "why is UDP perfect for VoIP calls?"
A packet showing up a second late is completely worthless. You don't want it at all. If the connection gets interrupted, well, it gets interrupted, and the people using it have to repeat themselves. But this beats hearing words (as if you would be so lucky as to have each word be its own packet) out of order.
- roc 13y agoLate packets aren't always completely worthless. a "late" rocket_fired type of packet can be very useful if it still shows up before the next packet that refers to said rocket. It really depends.
- bradleyland 13y agoVoIP protocols are designed to expect the exact condition described here; i.e., packets out of order and variation in the rate at which packets are received. A buffer is used to account for volatility in network latency. The size of this buffer is one of the more important problems that must be solved when implementing VoIP. See also: http://en.wikipedia.org/wiki/Jitter http://en.wikipedia.org/wiki/Jitter http://en.wikipedia.org/wiki/Jitter#Jitter_buffers http://en.wikipedia.org/wiki/Jitter#Jitter_buffers
- TrainedMonkey 13y agoBecause voice and language have so much redundancy built in that dropping few packets will not degrade perceived call quality. On the other hand, waiting a quarter of a second to receive lost packet definitely will degrade call quality.
- deleted 13y ago[deleted]
- arnehormann 13y agoTCP and UDP use the same underlying wire and the same hardware. If UDP would lose a packet or it would arrive late, the same could happen to TCP. TCP will retransmit and you lose a little bandwidth. But in both cases, you can't use the late data anymore - audio has about the hardest timing restrictions you can have when dealing with humans. Lateness means forced loss. TCPs ACK packets don't help there either, you want to keep down latency because your data can not be used any longer if it's dropped or late. Reliability becomes increasingly irrelevant, latency is everything.