Combining voice and data on a single network offers much efficiency in terms of cost. There are a number of considerations, however, when implementing real-time solutions like VoIP. A real measure of the performance of a VoIP network is the Quality of Experience (QoE). This is a subjective measurement of a user’s perception of the quality of calls. The user’s perception can be affected by things such as the CODEC used, sound fidelity, end-to-end delay, packet loss, jitter, and echo.
The clarity of the voice signal is dependent on the performance of the CODEC and the rate of lost and discarded packets. I will discuss CODECs at great length later, so for now I will focus on packet loss.
There are two types of packet loss in a VoIP environment: True Network Packet Loss and Jitter Buffer Discard Loss. True network packet loss occurs when a packet that is being sent across the network does not reach its destination. This can be as a result of data corruption, as each packet is checked by each switch and router to ensure that it is still intact. If the packet has become corrupted the switch will drop the packet. Other causes of packet loss can be switch congestion (too many packets are being sent across the switch and some are dropped to ensure that others are delivered) or a duplex mismatch occurs. In a data network this will be automatically corrected by the system receiving the data. If a packet is dropped in a data network the receiving system will ask the sending system to forward that packet again. In a VoIP environment, however, we do not have the time to wait for anything to be retransmitted. Due to the small amount of voice data in these packets, a VoIP implementation will be able to handle the loss of some packets with minimal impact. Quite often the loss of even more than one packet is not noticed by the end user. Jitter Buffer loss is a bit more complex than just having packets go missing. Jitter occurs when packets are received out of order. To avoid this problem, most VoIP implementations use a jitter buffer, which allows the data to be re-assembled in the correct order at the receiving end. Packets are not always received in order due to the nature of the IP network. Since it is connectionless, packets follow the best route they can find to their destination end-point. Each packet is independent of the other packets and may take a different route, depending on network conditions and a number of other factors. Jitter buffer loss occurs when a voice packet is delayed beyond an acceptable limit as defined by the jitter buffer. There are a number of reasons we can see jitter occurring, such as serialization delay (when packets are stuck behind large data frames waiting to be transmitted over slow links), or when frame relay circuits are oversubscribed. Another common cause of jitter is having half-duplex links in the media path.
A third issue that affects VoIP QoE is echo. Echo occurs when there is an audible leak-through of your own voice into the receive path or the send path. This is usually caused by an impedence mismatch in the 2-wire or 4-wire connection on either end. The amount of time for a round trip of the voice affects the amount of echo. The rule of thumb is 10 ms or less and there is no noticeable echo. From 10-30 ms, the users may notice a hollow sound to the voice. Above 30 ms there is a noticeable echo. Echo is a big problem when converting from PSTN to VoIP. Echo cancellers in the PSTN suppress the echo amplitude so it can’t be heard. Because VoIP uses a built-in delay the echo may be noticeable. Techniques to control echo include a properly designed loss plan to minimize the returned signal, echo suppression which is designed to remove echo, and ECANs which calculate an estimate of what the echo will be and then subtract that from the actual returned signal.