4.3 Working with Quality of Service

Using a prioritization or Quality of Service (QoS) scheme can make an enormous difference in call quality, particularly if you are running VoIP on a crowded enterprise network. Typically, QoS for VoIP specifies each voice datagram to be:

If you installed Performance Endpoints on the network, you can add a QoS component to the VoIP performance tests that run during a Diagnosis. Vivinet Diagnostics lets you configure QoS definitions to determine how the endpoints produce packets that emulate QoS bit settings.

By default, none of the Vivinet Diagnostics call scripts uses QoS, so the simulated VoIP flows sent over the network to test the call quality between the Target Devices will not be marked for any special handling.

To use QoS during a Diagnosis:

  1. Select Endpoints as the device type.

  2. On the Options menu, click Call Scripts. The Call Scripts List shows the names of the codecs the call scripts emulate.

  3. Highlight the codec you want to emulate. Click Add.

  4. In the Call Script name field, type a name to identify the edited version of this call script.

  5. In the QoS name field, select the VoIPQoS definition, or select a QoS definition you configured. For more information, see Section 4.2.1, Creating or Editing a Call Script and Section 4.3.2, Creating DiffServ Definitions.

  6. Make any other changes to the call script, and click OK to save your settings.

  7. Run the Diagnosis.

You can run the same Diagnosis again using the default version of the call script, that is, with no QoS selected, and compare the results to see what effect QoS is having on VoIP performance, if any.

You can customize and rename QoS definitions. For more information, see Section 4.3.2, Creating DiffServ Definitions.

Related Topics

4.3.1 Configuring Endpoints for Diagnoses with QoS

You may need to configure endpoints to allow for diagnostic testing with a QoS component. Some endpoint operating systems supported by Vivinet Diagnostics do not allow for setting the necessary bits for DiffServ QoS. The following table provides a summary:

Endpoint Operating System

Supports DiffServ?

Notes

Windows XP

Windows 2000

Windows Server 2003

Windows Server 2008

Windows 7

Yes

Requires Registry setting

Linux

Yes

 

Sun Solaris

Yes

 

To allow for diagnoses with DiffServ definitions on Windows servers, an addition to the Registry is required. In the Registry Editor, add the following DWORD value at the endpoints:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\DisableUserTOSSetting = 0

Restart the endpoint computers after you edit their Registry settings. Then start the Diagnosis.

4.3.2 Creating DiffServ Definitions

To run a Diagnosis using DiffServ QoS settings, create a new DiffServ QoS definition and then add a new call script that uses the new definition.

To create a DiffSerf definition:

  1. On the Options menu, click QoS Definitions, and then click Add.

  2. In the QoS name field, assign a name to your definition.

  3. From the Predefined DiffServ codepoints list, select a DiffServ bit setting. When you make your selection, the graphic illustrating the bit field settings changes to reflect your choice.

    Or, select User-defined DiffServ codepoints and then click each Bit field settings button to change the codepoints.

    For more information, see Section 4.3.3, Understanding DiffServ Settings.

  4. Click OK to save your definition and then click OK to close the QoS List dialog box.

  5. Add a new call script, selecting the new definition from the QoS name field. For more information, see Section 4.2.1, Creating or Editing a Call Script.

  6. To modify an existing DiffServ definition, click QoS Definitions on the Options menu, select the definition you want to modify, and then click Modify. Follow the procedures described in steps 2 - 4.

  7. To delete an existing DiffServ definition, click QoS Definitions on the Options menu, select the definition you want to delete, and then click Delete.

NOTE:Some endpoint operating systems require extra configuration to support DiffServ bit settings. For more information, see Section 4.3.1, Configuring Endpoints for Diagnoses with QoS.

Vivinet Diagnostics ships with a default QoS definition that lets you skip a step. When you select VoIPQoS from the QoS name field in the Add or Edit a Call Script dialog box, Vivinet Diagnostics sets the three IP Type of Service (TOS) precedence bits in the IP header, using the “CRITIC/ECP” setting (101 or value 5). These same bits are known as the Expedited Flow (EF) setting in the Differentiated Services (DiffServ) standard. More recent DiffServ implementations use all six DiffServ Code Point (DSCP) bits, so this definition has been supplemented by 13 new DiffServ settings you can select when configuring QoS definitions.

4.3.3 Understanding DiffServ Settings

The DiffServ standard for QoS defines an individual packet’s per-hop behavior (PHB), or the treatment it receives from routers. PHB depends on a packet’s likelihood of being dropped in congested conditions (its “drop precedence”) and the amount of buffer space and bandwidth that will be devoted to it.

DiffServ-enabled routers can subdivide networks into DiffServ (DS) domains, within which all IP traffic competes for a finite share of bandwidth determined by a committed information rate (CIR). To ensure traffic that exceeds the CIR is delivered without compromising the performance of high-priority traffic, packets within a DS domain are placed into PHB groups, including Expedited Forwarding and Assured Forwarding. Of these two groups, Expedited Forwarding receives slightly lower drop precedence and slightly higher bandwidth allocation than Assured Forwarding.

These groups allow for very exact policy-based QoS. They can be further subdivided to determine which packets are least likely to be dropped and most likely to be forwarded quickly despite congestion. Assured Forwarding includes four classes: AF1-AF4. Within each class, three subclasses may be defined, with increasing drop precedence. For example, AF1 may be the highest class of traffic, but within that class, AF13 will be dropped before AF11 or AF12.

The following table shows the DiffServ choices available in Vivinet Diagnostics. Type of Service (TOS)-only settings are indicated as such:

Bit Settings

PHB Class

000000

Best Effort. Default setting in IP. No special treatment given.

101000

Expedited Flow (TOS). Highest priority service.

101110

Expedited Forwarding. Highest priority (premium) service. Recommended for VoIP.

011000

Assured Flow (TOS). Medium quality service.

001010

Assured Forwarding (AF11)

001100

Assured Forwarding (AF12)

001110

Assured Forwarding (AF13)

010010

Assured Forwarding (AF21)

010100

Assured Forwarding (AF22)

010110

Assured Forwarding (AF23)

011010

Assured Forwarding (AF31)

011100

Assured Forwarding (AF32)

011110

Assured Forwarding (AF33)

100010

Assured Forwarding (AF41)

100100

Assured Forwarding (AF42)

100110

Assured Forwarding (AF43)

The predefined QoS definition that ships with Vivinet Diagnostics, VoIPQoS, is a DiffServ definition that marks bits for Expedited Flow: highest-priority service — a TOS-only setting.

4.3.4 Reviewing Class-Based QoS

Vivinet Diagnostics provides support for diagnosing class-based, weighted fair queuing (WFQ) QoS through the CISCO-CLASS-BASED-QOS-MIB. This MIB (management information base) is present on Cisco devices you configured for QoS through the IOS configuration interface using the Modular QoS command-line interface.

The Module QoS class-map commands allow you to name traffic classes and to create match statements used to define how the class traffic looks, such as marking the VoIP traffic class with DSCP 5. Use the policy-map and service-policy commands to attach a class’s policy information to an interface. The policy commands allow you to specify options such as limiting bandwidth for a particular class.

For more information about configuring QoS policies on Cisco devices, see www.cisco.com/en/US/products/sw/iosswrel/ps5014/products_feature_guide_chapter09186a008008813a.html.

You can use Vivinet Diagnostics to diagnose traffic class utilization, queue discard rate, and queue depth.

QoS Component

Description

Traffic class

A particular category of traffic on an interface. For example, voice and data may be classified as individual traffic classes. Vivinet Diagnostics can provide diagnoses only for those traffic classes for which priority queuing is enabled. For details about enabling priority queuing, see the QoS configuration documentation for your device.

Queue

The virtual buffer associated with a particular traffic class.

Dropped packet rate

The rate at which packets are dropped due to factors such as queuing, policing, early detection, or traffic shaping.

Queue depth

The number of packets in a queue.

Policy

The action QoS takes within a traffic class upon the traffic that enters the class, such as dropping packets. Pre-policy traffic is the traffic that flows into a traffic class, before QoS applies a policy. Post-policy is the traffic that leaves a traffic class after a policy has been applied.

Vivinet Diagnostics gathers the necessary information from the CISCO-CLASS-BASED-QOS-MIB. However, this MIB is not available in the following scenarios:

  • Your Cisco devices are running a version of IOS earlier than 12.1(5)

  • QoS is not configured on your Cisco devices

  • QoS is not configured with MQC, the Cisco QoS configuration mechanism

  • Your Cisco switches are running CatOS, which does not have the QoS MIB