fast VoIP Quality of Service

Bookmark and Share
This section aims to explain some of the issues that should be considered when planning a VoIP installation or prior to the installation. It should be noted that this section contains a general view of VoIP implementation.

VoIP Quality of Service: (QoS) is one of the most important factors for VoIP. The term refers to the perceived quality of speech and the methods used to provide good quality speech transmission since voice is real time application. There are several factors that affect speech quality, and several mechanisms that can be used to ensure QoS.

This section describes the problems that can occur and some possible solutions. Each network equipment manufacturer will have slightly different methods of implementing QoS and these are not discussed in this document. This is just to give an overview and to explain how we can classify voice traffic so that the network equipment can impose QoS.

What is Latency: Latency is delay, if at any point the usage on the network exceeds the available bandwidth, the users will experience delay, also know as latency. In more traditional uses of an IP data network, the applications can deal with this latency. If a person is waiting for a web page to download, they will accept a certain amount of wait time. This is not applicable for voice traffic. Voice is a real time application, which is sensitive to latency.

If the end-to-end voice latency becomes too long (>250 ms, for example), the call quality would usually be considered to be poor. Another important thing to remember is that packets can get lost. IP is a best effort networking protocol. This means the network will try its best to get your information there, but there is no guarantee.

Delay is the time required for a signal to traverse the network. In a telephony context, end-to-end delay is the time required for a signal generated at the talker's mouth to reach the listener's ear. Therefore end-to-end delay is the sum of all the delays at the different network devices and across the network links through which voice traffic passes. Many factors contribute to end-to-end delay.The buffering, queuing, and switching or routing delay of IP routers primarily determines IP network delay. Specifically, IP network delay is comprised of the following.

Packet Capture Delay: Packet capture delay is the time required to receive the entire packet before processing and forwarding it through the router. This delay is determined by the packet length and transmission speed. Using short packets over high-speed networks can easily shorten the delay but potentially decrease network efficiency.

Switching/Routing Delay:

Switching/routing delay is the time the router takes to switch the packet. This time is needed to analyze the packet header, check the routing table, and route the packet to the output port. This delay depends on the architecture of the switches/routers and the size of the routing table.

Queuing Time:

Due to the statistical multiplexing nature of IP networks and to the asynchronous nature of packet arrivals, some queuing, thus delay, is required at the input and output ports of a packet switch. This delay is a function of the traffic load on a packet switch, the length of the packets and the statistical distribution over the ports. Designing very large router and link capacities can reduce but not completely eliminate this delay.

Jitter:

Delay variation is the difference in delay exhibited by different packets that are part of the same traffic flow high frequency delay variation is known as jitter. Jitter is caused primarily by differences in queue wait times for consecutive packets in a flow, and is the most significant issue for QoS. Certain traffic types-especially real-time traffic such as voice, are very intolerant of jitter. Differences in packet arrival times cause choppiness in the voice.

All transport systems exhibit some jitter. As long as jitter falls within defined tolerances, it does not impact service quality. Excessive jitter can be overcome by buffering, but this increases delay, which can cause other problems. With intelligent discard mechanisms, IP telephony/VoIP systems will try to synchronize a communication flow by selective packet discard, in an effort to avoid the "walkie-talkie" phenomenon caused when two sides of a conversation have significant latency.

Packet Loss:

During a voice transmission, loss of multiple bits or packets of stream may cause an audible pop that will become annoying to the user. In a data transmission, loss of a single bit or multiple packets of information is almost never noticed by users. If packet drops become epidemic, then the quality of all transmissions degrades. Packet loss rate must be less than 5% for minimum quality and less than 1% for toll quality.

Voice Quality Improvements:

There are various techniques that can be used to improve the voice quality, including:

a) Increase the available bandwidth

This can sometimes be the most basic solution and the easiest of the solutions. If someone is running a IP Phone using G.711 with a 30ms fill time over Ethernet, for only one call, they need 83.7Kbps worth of bandwidth. If that same user only has a 64K line, they are not going to be able to have a decent IP voice call. The user can simply increase the available bandwidth to slightly exceed the 83.7Kbps requirements and their voice quality will dramatically increase. This solution might not be viable if no more bandwidth is available.

b) Use a different CODEC

The CODEC contains possible compression algorithms to be used on the voice. Lets take the example above again. The user only wants one voice line over a 64Kbps data connection. They also want to maintain their current fill time of 30ms. So, lets change to a G.729. Now for one line, only 27.7Kbps is required for a call. This fits well within the 64Kbps of available bandwidth.

c) Increase the number of frames per packet

To continue with the example above, the user has moved to a G.729 CODEC. But now, the user wishes to add two more IP Phones. Their current 64Kbps line can handle one call, because it is only 27.7Kbps. Two more IP Phones would increase the total to 83.1Kbps so obviously there is not sufficient bandwidth.

The user can now increase the fill time to 50ms. This would then reduce the bandwidth per call to 19.8Kbps (3x 19.8 = 59.4Kbps). The savings in bandwidth comes from the fact that with a longer fill time, fewer packets are needed to send the voice. With fewer packets there is less header information that needs to be attached and transmitted.

d) Change Layer 2 Protocols

Ethernet is most commonly used for IP packets. Unfortunately Ethernet has a fairly large overhead of 34 bytes. So every IP voice packet going over Ethernet is going to have a 34 byte Ethernet header attached to it. As the number of packets add up, this amount of header data can become significant. Frame Relay has a 7-byte header and Point-to-Point Protocol (PPP) has a 6-byte header. With this decrease in header length at layer 2, some significant savings in bandwidth use can be achieved.

The down side to this is that most networks may not have these services available, where Ethernet is very widely used. This is usually outside the control of the installer and therefore we need to do more research on other layer 2 protocols before trying to implement them in their voice network.

e) Implement Quality of Service (QOS)

Now, assume a derivative of the above example. The user needs only one voice line over their 64Kbps connection. They are using G.729 with a 30ms fill time. This will require 27.7Kbps of their available bandwidth. Let us now also assume that this line is used at certain times of the day for data connectivity. This data connectivity is very light, only 20 Kbps or so during most of the day, but does spike to 50 Kbps during certain points of the day. This data is not time sensitive like the voice data, so if necessary it could be forced to wait.

Therefore the user can implement a Quality of Service mechanism on the IP network. At its most basic form, this denotes certain IP packets as being more important than others. So they would tell this 64Kbps line that IP packets with voice deserve a higher priority than those without voice. This would allow the network devices to give priority to the other data, so the quality of the call will not be compromised.

Classification of Traffic for QoS:

Classification uses information from a packet (or frame) to define the type of data and therefore how the data should be handled for QoS on the network. Using packet classification, you can partition network traffic into multiple priority levels or Types of Service (ToS).

VLAN (802.1Q):

Virtual LANs work at Layer 2 of the OSI model and can be equated to a "broadcast domain". More specifically, VLANs can be seen as a group of end stations, perhaps on multiple physical LAN segments that are not constrained by their physical location and therefore, communicate as if they were on a common LAN. Packets can be marked as important by using layer 2 classes of service (CoS) settings in the User Priority bits of the 802.1Pq header.

IP Precedence - Layer 3 QoS:

Allows you to specify the class of service for a packet. You use the 3 precedence bits in the Ipv4 header's type of service (ToS) field for this purpose. Using the ToS bits, you can define up to 6 classes of service. Other devices configured throughout the network can then use these bits to determine how to treat the packet in regard to the type of service to grant it. These other QoS features can assign appropriate traffic-handling policies including congestion management and bandwidth allocation. By setting IP Precedence levels on incoming traffic and using them in combination with QoS queuing features, you can create differentiated service.

Differentiated service (Diffserv) - Layer 3 QoS:

Provides services differentiated on performance utilising weighted priority queuing. Diff-Serv requires that edge routers classify traffic flows into a member from a set of categories based upon the TCP/IP header fields in what is called a micro flow. Because the Diffserv is present in every packet header, each node can provide differentiated services on a per-hop basis.

{ 0 comments... Views All / Send Comment! }

Post a Comment