Everyone knows that delay is one of the two primary causes of poor voice quality, particularly in VoIP networks, but where does this delay come from?
Delay is generally defined as the time it takes from the instant you speak into the phone until the instant that sound is regenerated on the far end. Quite a few things have to happen to transport this sound through the system, so delay actually has many components. This is important because when you have a problem, you must evaluate and tweak each of these components individually; you cannot simply treat delay as a holistic entity.
The first component of delay is commonly referred to as encoding delay. It includes the processing delay and the look-ahead delay and it revolves around the size of the frame produced. (The term frame here is not the same as a layer-2 frame, such as an Ethernet frame.) These are primarily a function of the codec used. For example, G.711, G.729A and G.723.1 all have different frame sizes and encoding delays.
At the end of the encoding process, you have a stream of raw data, which is the digital representation of your analog sound. We must then turn this stream of data into IP packets to be transmitted on our network. The time takes to do this is called packetization delay. Packetization delay primarily varies with the number of voice frames that you place inside each packet. This number is variable because if your delay is low enough, you can add more frames per packet and save a lot of overhead, but if you have too much delay, you can reduce the number of frames per packet at the expense of bandwidth (which is the result of more packets required to transmit the same amount of data, where each packet must repeat its protocol headers.)
Next, we have the actual delay inside the network, which is the sum of transmission delay, queuing delay and propagation delay for each hop in the path, end to end. Transmission delay is generally negligible, and propagation delay varies with distance, so there isn't a lot you can do about that (what with the spead of light being constant and all), but queuing delay is very important. Queuing delay is caused by the voice packets contending with other traffic at each hop and because the arrival times of these other packets at a switch or router are not predictable in any useful fashion, this delay is the primary source of jitter. You combat this component of delay by classifying your traffic and implementing a queuing technique, such as Low Latency Queuing, which together forms the bulk of what we call QoS.
Thomas Alexander Lancaster IV is a consultant and author with over ten years experience in the networking industry, focused on Internet infrastructure.