Get Ready for Voice on Your Network
It used to be that voice had its own network, separate from data. Companies built a separate infrastructure for voice that included voice-grade cable, terminal blocks and jacks connecting a dedicated voice server (PBX) to dedicated voice terminals (phones). The PBX was connected to dedicated phone lines, each of which provided a dedicated path via the PSTN to any other subscriber around the world. These physical resources were dedicated, end-to-end, to transporting voice traffic. There was no contention, no negotiation. Those days are long gone. Even if you think you still have such a service, you likely do not. As I have mentioned before here, it is virtually impossible today to place a phone call where some part of the call is not transported via VoIP (Voice over IP). Voice is travelling over data networks more and more. The trend is unlikely to stop until the dedicated voice network is a mere memory.
You are Out of Order
So, even if you do not currently have voice traffic on your network, you need to be ready for it. It is coming. Why does this matter? Well, voice is what we call ‘Isochronous’ traffic. This means that each piece of information is time-sensitive. Voice requires a relatively fixed time of transport between sender and receiver to be understood. If the voice traffic takes too long to get from sender to receiver, there is an unnatural lag in the conversation, which humans have difficulty with (think of a bad cell phone connection). If there is significant variability in the time to travel from sender to receiver, various pieces of the conversation will arrive out-of-order, rendering the voice unintelligible.
Welcome to the New World
So there are three primary enemies of voice on the network: packet loss, latency and jitter. Packet loss seems obvious, but it has a very different effect on voice than it does on your regular data. When a piece of your spreadsheet data is dropped, it is just re-transmitted, no harm, no foul. Re-transmission is not possible with voice; packets that are dropped are lost forever. Latency refers to the amount of time voice packets take to traverse the network from sender to receiver. Jitter is the variability in the latency. If I ping a remote device 2 times and the round-trip takes 200 and 250 ms, we say (round-trip) latency averages 225 ms with 50 ms of jitter. (Actual jitter calculations are complicated. There are good VoIP tools that will help you measure it accurately on your network.) The goal of a good VoIP network is to keep one-way latency under around 150 ms, jitter under 10 ms and packet loss under 1%. When your network was just spreadsheets and email, you probably didn’t have such lofty goals. Welcome to the new world!
Get Your Priorities Straight
How do we achieve these goals on our network? We want to prioritize voice traffic on the network so that, whatever is happening with the data traffic, voice transport is reliable. Now, I’ll be honest with you: prioritization is a complicated subject which could fill several chapters of a book. I’m not going to teach you everything about it here. What I can do is to let you know what questions to ask to make sure that the experts are giving you what you need. There are different concerns depending whether you are talking about the LAN segment or the WAN segment. On the LAN segment, you typically have abundant (or at least sufficient) bandwidth and packet loss is rare. Latency is typically quite low and since you control all the devices on the LAN, jitter should be manageable. In a typical SMB LAN, you may not even need to prioritize voice. Use Wireshark or some other network analyzer to look at your LAN and see if you have heavy congestion and delays. If you find that you need to prioritize voice here, you will use Class of Service (COS) to instruct your LAN switches to prioritize voice traffic. Class of Service is implemented by the device sending the voice packets (your IP phones or IPPBX). A 3-bit field is set in the Ethernet packet header to a value from 0-7, with 7 being the highest priority. Consult your VoIP gear manuals to learn how to turn on COS. And consult your LAN switch manuals to learn how to prioritize traffic based on the COS setting.
On the WAN segment, bandwidth is typically more precious and large segments of the path may be outside your control, opening the possibility of outages, packet loss and more extreme variability in latency. This requires a different remedy and, since parts of the path may be outside your control, results may vary. Probably the most important question to ask here is of your WAN service provider. Is your WAN technology appropriate for VoIP? Does your network provide end-to-end prioritization of voice traffic? Making the right choice of WAN technology will save you headaches down the road.
A Question of Quality
On the WAN segment, we use Quality of Service (QOS) to try to prioritize voice traffic. QOS is a two-part process consisting of classification (tagging) and scheduling (queuing). Tagging is the method by which we mark packets for prioritization. Queuing is the method we use to insure that those marked packets get to their destination in a timely manner. The most common type of tagging is called Differentiated Services or Diffserv. DiffServ uses a 6-bit field in the IP packet to mark the packet with what is called a DiffServ Code Point (DSCP). Packets can be tagged for prioritization by the sending device (phone or IPPBX) or by the edge router, based on protocol or source / destination IP address. While the hierarchy of the DSCP is a bit complex and beyond our scope here, suffice it to say that you can mark VoIP traffic with a DSCP appropriate for voice and those packets should be prioritized by each device encountered as they progress across the WAN to their destination.
Get Into the Queue
Queuing takes place at the egress point from your LAN to the WAN. Queuing determines the algorithm your edge equipment will use to place voice and data traffic onto the WAN circuit. Different queuing algorithms achieve different results and consume varying amounts of CPU power to implement. Ask your WAN equipment provider or your WAN service provider which queuing mechanism will be most appropriate for the mix of protocols you are running. With VoIP, your highest-priority flow will be RTP traffic. Remember, SIP is just used for call setup, RTP is that actual voice traffic. The following diagram illustrates the process of tagging and queuing. You can see that voice packets go directly to the front of the line in a Low Latency Queue (LLQ). Call control packets (SIP) are prioritized above all other remaining traffic in a Class-Based Weighted Fair Queue (CBWFQ).
Keep in mind that QOS can only do so much. If you have inadequate WAN bandwidth, packets will be dropped. QOS works best when you have adequate bandwidth to support all of your applications!
VoIP can work really well, both in Local- and Wide-Area-Networks. Knowing how to prioritize the voice traffic and properly implementing the techniques discussed here will insure the best results for your voice traffic.
What WAN technology are you using for VoIP? Are you prioritizing voice traffic? Share your thoughts in the comments.