Delays in VOIP
Traditional telephone calls use circuit switching. When a call is initiated, a dedicated circuit is established between the caller and recipient. No one else can use the circuit while the call is going on. Even if the users are silent or put the call on "hold," the circuit is tied up. It is not disconnected until the parties hang up.
This may be contrasted to packet switching which is used on the Internet and other IP networks. In a packet switching network, a link is typically shared by many users, and it is therefore better utilized. During a brief silence in one conversation, packets from another application (of any type) may be transmitted over the link.
Devices remain continuously connected to packet switched networks; they are "always on." With a circuit switched network, some time is taken to dial and establish the circuit.
Packet switched networks are more efficient, but circuit switched networks can guarantee quality of service (QOS). Since the circuit is not shared, its full capacity is available to the users. QOS presents a greater problem on the Internet, where delays are relatively large and uncertain, than it does on a local area network (LAN).
For a telephone call to sound good, one-way packet delay time should be under 150ms.
Delay = propagation delay + transport delay + packetization delay + jitter buffer delay
- Propagation delay is the time to travel the physical distance from end to end. This is governed by the speed of light. It is very low on a LAN and very high on a satellite link.
- Transport delay is the total time spent inside network devices like routers, firewalls, switches, etc. The cumulative delay will grow with each device and router hop. Fast routers and devices will also help. There will not be much transport delay on a LAN because packets probably only go through switches.
- Packetization delay is the time it takes the coder-decoder (CODEC) to digitize and compress speech at one end and to convert it back to analog form at the other. If this is done in software, the time will be a function of your computer's speed. There are many different digitization and compression algorithms, allowing tradeoffs between quality and speed.
- Packets are fed to a listener at a constant rate, but the time between packet arrivals varies. That variation is called jitter. A jitter buffer is required to smooth out the timing variation. If there is a lot of variation, you need a relatively large jitter buffer, and it takes more time for a packet to work its way through it. Again, jitter should be low on a LAN, allowing a small buffer.