Quality of Service and You

Wouldn't It Be Great If Things Just Worked...

In a perfect world devoid of things that make the experience and reliability of something everything would just work. Unfortunately, we don't live in such a world and Quality of Service (QoS) becomes a very real consideration for services that extend well beyond the scope of networks and VoIP. For example, we expect Quality of Service when dining out that we get the entree we ordered within a reasonable amount of time. In regard to networks and VoIP, Quality of Service is increasingly important if you consider it's quite likely you have more traffic generated that needs to transmit than can be transmitted with the available bandwidth. Bandwidth being volume over time, such as Gbps (gigabits per second). Given this conundrum, how do we ensure traffic with more immediate need is handled first and the less important stuff can hang out for a bit without making overall reliability and quality suffer?

When we talk of QoS in relation to VoIP service as a provider, the expectation is calls experience minimal to no choppiness, no issues of not being heard on the other end, and so on - your calls and experience conversing should always be as natural as speaking to someone in person. Due to VoIP operating over the internet, QoS of VoIP necessarily becomes quite related to QoS of networks - particularly NocTel's network and customer networks. As NocTel operates its own business operations network and so do many of our customers, we each should be implementing QoS to ensure calls made from either end to anyone else are handled in such a way we aren't repeatedly asking "Hello? Are you there?" while trying to mask mounting frustration.

We'd generally agree on the matter of not wanting to experience the early days of limited carrier coverage for cell phones when making calls from our desks today.

Enter Quality of Service

Quality of Service for networks and VoIP boils down to the simple notion of traffic prioritization. That is, VoIP voice data (RTP) and signaling for calls (SIP) are just additional types of traffic that are received and transmitted on networks among other traffic like HTTP, DNS, and FTP. However, without QoS network traffic (VoIP included) boils down to a matter of best-effort delivery - all traffic is equal without regard to whether the service/application traffic needs to maintain consistent successful receipt of data and/or a minimum data rate to avoid performance degradation. With VoIP phone calls performance degradation is exhibited by things like one party not being able to hear the other speaking, voice jitter, and at worse, calls dropping. With the real-time nature of VoIP and its practical application of making phone calls, it's very clear VoIP (voice) traffic needs to be handled with special consideration in the network. Therefore, implementing QoS in a network that also utilizes VoIP through SIP and RTP are really the same task except we know for a fact voice traffic needs to be one of the highest priorities in relation to the other types of traffic.

In practice, voice traffic is configured to specific DSCPs (differentiated service code point) on network appliances like switches and routers. DSCP, also known as DiffServ, is one of several approaches and standards to implementing QoS. DSCP happens to pertain to internet traffic, which is what VoIP falls under. DSCP uses up to 64 unique codes that specify behavior of how the tagged traffic should be treated/prioritized. In VoIP's case with RTP and SIP, NocTel recommends using EF (expedited forwarding) and CS3, respectively. EF is essentially the class used for highest priority traffic - the rule of thumb is traffic used by real-time applications (like phone calls) that cannot afford to experience packet loss or are unable to re-transmit dropped packets should be set to EF. CS3 is a high priority class, but allows for some flexibility when it comes to congestion and packet re-transmission (we'll save the rundown of RTP and SIP for a later time) - see our KB article on QoS for more detail and configuration examples.

Keep Things Simple

It's funny how that's a frequent adage for so many different things. QoS is really no different. While it offers a way - DSCP being one of them - to manage network traffic to maintain service/application quality among a wide variety of other competing traffic, it can also be prone to becoming overwrought if too many services are being micromanaged through it for QoS. It further complicates matters of network administration if a new service or application is introduced resulting in unnecessary time spent determining what its priority is among other traffic.

Therefore, the generally most effective implementation of QoS in a network is to evaluate traffic in one or optionally two simple steps:

  • What service/application traffic must be reliably delivered and service quality rate preserved?
  • What service/application traffic can be put off (deprioritized) without significantly degrading service quality?

By evaluating only the services/applications that really need priority and potentially listing those that are not a priority, you can presume all other traffic not fitting those criteria can remain equal priority (e.g.: best-effort delivery).

What QoS is Not

QoS is something every network should make an effort to have implemented as there are benefits to be had and hardly anything to lose (unless high priority traffic like RTP was somehow configured to be a least priority traffic...). However, implementing QoS on your own network doesn't automatically equate to better call quality and reliability - there's always a Catch 22 somewhere, isn't there?

The fundamental reality is communication of data from one network to another is not as simple as the two endpoint networks talking directly to each other. If that were the case, the networks would be peered making them essentially next door neighbors. With peering, two networks have no intermediary networks to traverse through for traffic to reach one another - it's akin to walking to the next house over to visit a friend rather than driving across town to see him (and not dealing with rush hour traffic, accidents, or hitting every intersection light red). For the vast majority of data that traverses over the internet, several "hops" occur where the data is traversing along various intermediate networks like ISP routes. All the hops in between where the data originates and where it is going to may or may not implement QoS, which is unfortunately generally out of our hands.

Additionally, QoS must be implemented across each appliance within your network to be effective. If even one appliance is not configured consistent with the prioritization you want, it will fail to honor any DSCP classes assigned to specific service/application traffic that passes through it.

While you can fine tune QoS for traffic within your network, it can't be guaranteed that end-to-end traversal over many networks will implement QoS. NocTel does its best to factor in each customer's circumstances in regard to network architecture, current and available ISPs in the area when providing analysis for new customers, and supporting existing ones. Additionally, NocTel considers quality of service when evaluating potential locations of future data centers to better serve customers all around. It was mentioned earlier in regard to peering networks - NocTel in some cases can allow customers to peer their network to ours to further improve QoS.

When In Doubt, Give Us a Shout

Take it from us - networks aren't simple or easy! If your network is in need of or interested in implementing QoS, but not sure how to effectively implement it in relation to your NocTel service let us know. We'll help. Similarly, if you're interested in considering NocTel service for your organization, but want to better understand changes to QoS that may already exist be sure to note it to the sales engineer you contact and we'll address. If you interested in the prospect of peering your network to NocTel's, don't hesitate in inquiring regardless if you're a new or existing customer.

NocTel Communications is a hosted VoIP provider dedicated to solving the many problems that face educational institutions today. Known for providing the highest quality service at a fraction of the price of its competitors, NocTel is completely disrupting the telecommunications industry. Click here to get a hassle free estimate of what your district could be paying for phones.