Configuring IP SLAs UDP Jitter Operations for VoIP
This chapter describes how to configure an IP Service Level Agreements (SLAs) User Datagram Protocol (UDP jitter operation to proactively monitor Voice over IP (VoIP) quality levels in your network, allowing you to guarantee VoIP quality levels to your users in IPv4 networks. The IP SLAs VoIP UDP jitter operation accurately simulates VoIP traffic using common codecs, and calculates consistent voice quality scores , such as Mean Opinion Score (MOS) and Calculated Planning and Improvement Factor (ICPIF) between Cisco devices in the network.
Note
In this document, the term Voice refers to Internet telephony applications. The term Voice over IP can include the transmission of multimedia (both voice and video) over IP networks.
Guidelines and Limitations for IP SLAs UDP Jitter Operations for VoIP
This feature uses UDP traffic to generate approximate Voice over IP scores. It does not provide support for the Real-Time Transport Protocol (RTP).
ICPIF and MOS values provided by this feature, while consistent within IP SLAs, are estimates only and are intended only for relative comparisons. The values may not match values that are determined using other methods.
Predictions of customer opinion (such as those listed for the E-Model transmission rating factor R and derived Mean Opinion Scores) that are determined by any method are intended only for transmission planning and analysis purposes and should not be interpreted as reflecting actual customer opinions.
When using IP SLA UDP probes, you might experience RTT spikes of up to 200 ms on the Cisco Nexus 7000 NX-OS Supervisor 1 and spikes of up to 35 ms on the Cisco Nexus 7000 NX-OS Supervisor 2. These are both known issues with the netstack architecture.
When IP SLA traffic exceeds 100 kbps, IP SLA operations might timeout. You can enter the no copp profile command to avoid this issue.
Calculated Planning Impairment Factor (ICPIF)
The ICPIF originated in the 1996 version of ITU-T recommendation G.113, “Transmission impairments,” as part of the formula Icpif = Itot - A. An ICPIF refers to the “calculated planning impairment factor.” The ICPIF attempts to quantify, for comparison and planning purposes, the key impairments to voice quality that are encountered in the network.
The ICPIF is the sum of measured impairment factors (total impairments, or Itot ) minus a user-defined access Advantage Factor (A ) that is intended to represent the user’s expectations, based on how the call was placed (for example, a mobile call versus a land-line call). In its expanded form, the full formula is expressed as follows:
Icpif = Io + Iq + Idte + Idd + Ie - A
where
Io represents impairments caused by non-optimal loudness rating,
Iq represents impairments caused by PCM quantizing distortion,
Idte represents impairments caused by talker echo,
Idd represents impairments caused by one-way transmission times (one-way delay),
Ie represents impairments caused by equipment effects, such as the type of codec used for the call and packet loss,
A represents an access Advantage Factor (also called the user Expectation Factor) that compensates for the fact that users might accept some degradation in quality in return for ease of access.
ICPIF values are expressed in a typical range of 5 (very low impairment) to 55 (very high impairment). ICPIF values numerically less than 20 are generally considered “adequate.” While intended to be an objective measure of voice quality, the ICPIF value is also used to predict the subjective effect of combinations of impairments.
The following table, taken from G.113 (02/96), shows how sample ICPIF values are expected to correspond to subjective quality judgement.
Upper Limit for ICPIF
Speech Communication Quality
5
Very good
10
Good
20
Adequate
30
Limiting case
45
Exceptional limiting case
55
Customers likely to react strongly (complaints, change of network operator)
For more details on the ICPIF, see the 1996 version of the G.113 specification.
Note
The latest version of the ITU-T G.113 Recommendation (2001), no longer includes the ICPIF model. Instead, G.107: “The Impairment Factor method, used by the E-model of ITU-T G.107, is now recommended. The earlier method that used Quantization Distortion Units is no longer recommended.” The full E-Model (also called the ITU-T Transmission Rating Model), expressed as R = Ro - Is - Id - Ie + A , provides the potential for more accurate measurements of call quality by refining the definitions of impairment factors (see the 2003 version of the G.107 for details). Though the ICPIF shares terms for impairments with the E-Model, the two models are different. The IP SLAs VoIP UDP Operation feature takes advantage of observed correspondences between the ICPIF, transmission rating factor R, and MOS values, but does not support the E-Model.
Mean Opinion Scores (MOS)
The quality of transmitted speech is a subjective response of the listener. Each codec used for transmission of VoIP provides a certain level of quality. A common benchmark used to determine the quality of sound produced by specific codecs is MOS. With MOS, a wide range of listeners have judged the quality of voice samples sent using particular codecs, on a scale of 1 (poor quality) to 5 (excellent quality). The opinion scores are averaged to provide the mean for each sample.
The following table shows MOS ratings and the corresponding description of quality for each value.
Table 1 MOS Ratings
Score
Quality
Description of Quality Impairment
5
Excellent
Imperceptible
4
Good
Just perceptible, but not annoying
3
Fair
Perceptible and slightly annoying
2
Poor
Annoying but not objectionable
1
Bad
Very annoying and objectionable
As the MOS ratings for codecs and other transmission impairments are known, an estimated MOS can be computed and displayed based on measured impairments. This estimated value is designated as MOS-CQE (Mean Opinion Score; Conversational Quality, Estimated) by the ITU in order to distinguish it from objective or subjective MOS values (see P.800.1 for details).
Voice Performance Monitoring Using IP SLAs
One of the key metrics in measuring voice and video quality over an IP network is jitter. Jitter indicates the variation in delay between arriving packets (inter-packet delay variance). Jitter affects voice quality by causing uneven gaps in the speech pattern of the person talking. Other key performance parameters for voice and video transmission over IP networks include latency (delay) and packet loss. IP SLAs allow you to simulate and measure these parameters in order to ensure your network is meeting or exceeding service-level agreements with your users.
IP SLAs provide a UDP jitter operation, which consists of UDP probe packets sent across the network from an origin device to a specific destination (called the operational target). This synthetic traffic is used to record the amount of jitter for the connection, as well as the round-trip time, per-direction packet loss, and one-way delay time (one-way latency). (Synthetic traffic indicates that the network traffic is simulated; that is, the traffic is generated by IP SLAs.) Data, in the form of collected statistics, can be displayed for multiple tests over a user-defined period of time, allowing you to see, for example, how the network performs at different times of the day or over the course of a week. The jitter probe can use the IP SLAs Responder to provide minimal latency at the receiving end.
The IP SLAs VoIP UDP jitter operation modifies the standard UDP jitter operation by adding the capability to return MOS and ICPIF scores in the data collected by the operation, in addition to the metrics already gathered by the UDP jitter operation. This VoIP-specific implementation allows you to determine the performance of your VoIP network.
Codec Simulation Within IP SLAs
The IP SLAs VoIP UDP jitter operation computes statistics by sending n UDP packets, each of size s, sent t milliseconds apart, from a given source switch to a given target switch, at a given frequency f. The target switch must be running the IP SLAs Responder in order to process the probe operations.
To generate MOS and ICPIF scores, you specify the codec type used for the connection when configuring the VoIP UDP jitter operation. Based on the type of codec that you configure for the operation, the number of packets (n), the size of each payload (s), the inter-packet time interval (t), and the operational frequency (f) are automatically configured with default values. However, you are given the option, if needed, to manually configure these parameters in the syntax of the udp-jitter command.
The following table shows the default parameters that are configured for the operation by codec.
Table 2 Default VoIP UDP Jitter Operation Parameters by Codec
Codec
Default Request Size (Packet Payload) (s)
Default Interval Between Packets (t)
Default Number of Packets (n)
Frequency of Probe Operations (f)
G.711 mu-Law (g711ulaw)
160 + 12 RTP bytes
20 ms
1000
Once every 1 minute
G.711 A-Law (g711alaw)
160 + 12 RTP bytes
20 ms
1000
Once every 1 minute
G.729A (g729a)
20 + 12 RTP bytes
20 ms
1000
Once every 1 minute
For example, if you configure the VoIP UDP jitter operation to use the characteristics for the g711ulaw codec, by default a probe operation is sent once a minute (f). Each probe operation consists of 1000 packets (n), each packet containing 180 bytes of synthetic data (s), sent 20 milliseconds apart (t).
IP SLAs ICPIF Value
ICPIF value computation with the Cisco NX-OS software is based primarily on the two main factors that can impair voice quality: delayed packets and lost packets. Because packet delay and packet loss can be measured by IP SLAs, the ICPIF formula, Icpif=Io+Iq+Idte+Idd+Ie-A, is simplified by assuming that the values of Io
, Iq
, and Idte
are zero, as follows:
The ICPIF value is computed by adding a Delay Impairment Factor, which is based on a measurement of delayed packets, and an Equipment Impairment Factor, which is based on a measurement of lost packets. From this sum of the total impairments measured in the network, an impairment variable (the Expectation Factor) is subtracted to yield the ICPIF.
Cisco gateways use this formula to calculate the ICPIF for received VoIP data streams.
Delay Impairment Factor
The Delay Impairment Factor (Idd
) is a number based on two values. One value is fixed and is derived using the static values (as defined in the ITU standards) for Codec Delay, Look Ahead Delay, and Digital Signal Processing (DSP) Delay. The second value is a variable and is based on the measured one-way delay (round-trip time measurement divided by 2). The one-way delay value is mapped to a number using a mapping table that is based on a G.107 (2002 version) analytic expression.
The following table shows sample correspondences between the one-way delay measured by IP SLAs and Delay Impairment Factor values.
Table 3 Sample Correspondence of One-Way Delay to ICPIF Delay Impairment
One-Way Delay (ms)
Delay Impairment Factor
50
1
100
2
150
4
200
7
Equipment Impairment Factor
The Equipment Impairment Factor (Ie) is a number based on the amount of measured packet loss. The amount of measured packet loss, expressed as a percentage of total number of packets sent, corresponds with an Equipment Impairment Factor that is defined by the codec.
The following table shows sample correspondences between the packet loss measured by IP SLAs and Equipment Impairment Factor values corresponding with each other.
Table 4 Sample Correspondence of Measured Packet Loss to ICPIF Equipment Impairment
Packet Loss
(as a percentage of total number of packets sent)
Equipment Impairment Value for PCM (G.711) Codecs
Equipment Impairment Value for the CS-ACELP (G.729A) Codec
2%
12
20
4%
22
30
6%
28
38
8%
32
42
Expectation Factor
The Expectation Factor, also called the Advantage Factor (A), represents the expectation that users might accept some degradation in quality in return for ease of access. For example, a mobile phone user in a hard-to-reach location might expect that the connection quality will not be as good as a traditional land-line connection. This variable is also called the Advantage Factor (short for Access Advantage Factor) because it attempts to balance an increased access advantage against a decline in voice quality.
The table below, adapted from ITU-T Rec. G.113, defines a set of provisional maximum values for A
in terms of the service provided.
Table 5 Advantage Factor Recommended Maximum Values
Communication Service
Advantage/Expectation Factor:
Maximum value of A
Conventional wire-line (land-line)
0
Mobility (cellular connections) within a building
5
Mobility within a geographical area or moving in a vehicle
10
Access to hard-to-reach location;
(for example, via multi-hop satellite connections)
20
These values are only suggestions. To be meaningful, you should use the factor A
and its selected value in a specific application consistently in any planning model that you adopt. However, the values in the table should be considered as the absolute upper limits for A
.
The default Advantage Factor for IP SLAs VoIP UDP jitter operations is always zero.
IP SLAs MOS Value
IP SLAs use an observed correspondence between ICPIF and MOS values to estimate an MOS value.
Note
The abbreviation MOS represents MOSCQE (Mean Opinion Score; Conversational Quality, Estimated).
The E model, as defined in G.107 (03/2003), predicts the subjective quality that is experienced by an average listener by combining the impairment caused by transmission parameters (such as loss and delay) into a single rating, the transmission rating factor R (the R Factor). This rating, expressed in a scale of 0 (worst) to 100 (best) can be used to predict subjective user reactions, such as the MOS. Specifically, the MOS can be obtained from the R Factor with a converting formula. Conversely, a modified inverted form can be used to calculate R Factors from MOS values.
There is also a relationship between the ICPIF value and the R Factor. IP SLAs takes advantage of this correspondence by deriving the approximate MOS score from an estimated R Factor, which, in turn, is derived from the ICPIF score.
The following table shows the MOS values that are generated for corresponding ICPIF values.
Table 6 Correspondence of ICPIF Values to MOS Values
ICPIF Range
MOS
Quality Category
0 - 3
5
Best
4 - 13
4
High
14 - 23
3
Medium
24 - 33
2
Low
34 - 43
1
Poor
IP SLAs will always express the estimated MOS value as a number in the range of 1 to 5, with 5 being the best quality. A MOS value of 0 (zero) indicates that MOS data could not be generated for the operation.
Configuring and Scheduling an IP SLAs VoIP UDP Jitter Operation
Note
Currently, IP SLAs
supports only the following speech codecs (compression methods):
G.711 A Law
(g711alaw: 64 kbps PCM compression method)
G.711 mu Law
(g711ulaw: 64 kbps PCM compression method)
The following commands,
available in UDP jitter configuration mode, are not valid for UDP jitter
(codec) operations:
history distributions-of-statistics-kept
history statistics-distribution-interval
request-data-size
Specifying the
codec-type will configure the appropriate default values for the
codec-interval,
codec-size, and
codec-numpacket options. You should not
specify values for the interval, size, and number of packet options unless you
have a specific reason to override the defaults (for example, approximating a
different codec).
The
show ip sla configuration
command will list the values for the Number of statistic distribution buckets
kept and Statistic distribution interval (microseconds), but these values do
not apply to jitter (codec) operations.
Tip
If the IP SLAs operation is not running and generating statistics, add the verify-data command to the configuration of the operation (while configuring in IP SLA configuration mode) to enable data verification. When enabled, each operation response is checked for corruption. Use the verify-data command with caution during normal operations because it generates unnecessary overhead.
Use the debug ip sla trace and debug ip sla error commands to help troubleshoot issues with an IP SLAs operation.
Procedure
Command or Action
Purpose
Step 1
enable
Example:
Switch> enable
Enables privileged EXEC mode.
Enter your password
if prompted.
Step 2
configureterminal
Example:
Switch# configure terminal
Enters global configuration mode.
Step 3
ipslaoperation-number
Example:
Switch(config)# ip sla 10
Begins configuration for an IP SLAs operation and enters IP SLA
configuration mode.
Switch(config)# ip sla schedule 5 start-time now life forever
Configures the scheduling parameters for an individual IP SLAs
operation.
Step 17
exit
Example:
Switch(config)# exit
(Optional) Exits global configuration mode and returns to
privileged EXEC mode.
Step 18
showipslaconfiguration [operation-number]
Example:
Switch# show ip sla configuration 10
(Optional) Displays configuration values including all defaults
for all IP SLAs operations or a specified operation.
What to Do Next
To add proactive threshold conditions and reactive triggering for generating traps, or for starting another operation, to an IP SLAs operation, see
the Configuring Proactive Threshold Monitoring section.
To view and interpret the results of an IP SLAs operation use the showipslastatistics command. Checking the output for fields that correspond to criteria in your service level agreement will help you determine whether the service metrics are acceptable.
Configuration Examples for IP SLAs VoIP UDP Operation
This example assumes that the IP SLAs Responder is enabled on the device at 101.101.101.1.
Switch# conf terminal
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)# ip sla 10
Switch(config-ip-sla)# udp-jitter 101.101.101.1 16384 codec g711alaw advantage-factor 2
Switch(config-ip-sla-jitter)# owner admin_bofh
Switch(config-ip-sla-jitter)# precision microseconds
Switch(config-ip-sla-jitter)# exit
Switch(config)# ip sla schedule 10 start-time now
Switch(config)# exit
Switch# show ip sla config 10
IP SLAs Infrastructure Engine-III
Entry number: 10
Owner: admin_bofh
Tag:
Operation timeout (milliseconds): 5000
Type of operation to perform: udp-jitter
Target address/Source address: 101.101.101.1/0.0.0.0
Target port/Source port: 16384/0
Type Of Service parameter: 0x0
Codec type: g711alaw
Codec Number Of Packets: 1000
Codec Packet Size: 172
Codec Interval (milliseconds): 20
Advantage Factor: 2
Verify data: No
Operation Stats Precision : microseconds
Operation Packet Priority : normal
NTP Sync Tolerance : 0 percent
Vrf Name: default
Control Packets: enabled
Schedule:
Operation frequency (seconds): 60 (not considered if randomly scheduled)
Next Scheduled Start Time: Start Time already passed
Group Scheduled : FALSE
Randomly Scheduled : FALSE
Life (seconds): 3600
Entry Ageout (seconds): never
Recurring (Starting Everyday): FALSE
Status of entry (SNMP RowStatus): Active
Threshold (milliseconds): 5000
Distribution Statistics:
Number of statistic hours kept: 2
Number of statistic distribution buckets kept: 1
Statistic distribution interval (microseconds): 20
Switch#
Switch# show running-config | begin "ip sla 10"
ip sla 10
udp-jitter 101.101.101.1 16384 codec g711alaw advantage-factor 2
precision microseconds
owner admin_bofh
ip sla schedule 10 start-time now
no logging console
.
.
.
Switch# show ip sla configuration 10
Entry number: 10
Owner: admin_bofh
Tag:
Type of operation to perform: jitter
Target address: 101.101.101.1
Source address: 0.0.0.0
Target port: 16384
Source port: 0
Operation timeout (milliseconds): 5000
Codec Type: g711alaw
Codec Number Of Packets: 1000
Codec Packet Size: 172
Codec Interval (milliseconds): 20
Advantage Factor: 2
Type Of Service parameters: 0x0
Verify data: No
Vrf Name:
Control Packets: enabled
Operation frequency (seconds): 60
Next Scheduled Start Time: Start Time already passed
Life (seconds): 3600
Entry Ageout (seconds): never
Status of entry (SNMP RowStatus): Active
Connection loss reaction enabled: No
Timeout reaction enabled: No
Verify error enabled: No
Threshold reaction type: Never
Threshold (milliseconds): 5000
Threshold Falling (milliseconds): 3000
Threshold Count: 5
Threshold Count2: 5
Reaction Type: None
Number of statistic hours kept: 2
Number of statistic distribution buckets kept: 1
Statistic distribution interval (microseconds): 20
Enhanced History:
When a codec type is configured for a jitter operation, the standard jitter “Request size (ARR data portion),” “Number of packets,” and “Interval (microseconds)” parameters do not be appear in the show ip sla configuration command output. Instead, values for “Codec Packet Size,” “Codec Number of Packets,” and “Codec Interval (microseconds)” appear.
Configuration Examples for IP SLAs VoIP UDP Operation Statistics Output
The show ip sla statistics command shows how to display Voice scores (ICPIF and MOS values) for the jitter (codec) operation:
Switch# show ip sla st
IPSLAs Latest Operation Statistics
IPSLA operation id: 1
Type of operation: udp-jitter
Latest RTT: 11999 microseconds
Latest operation start time: 02:39:33 UTC Sat May 05 2012
Latest operation return code: OK
Latest operation NTP sync state: NO_SYNC
RTT Values:
Number Of RTT: 10
RTT Min/Avg/Max: 9000/11999/17000 microseconds
Latency one-way time:
Number of Latency one-way Samples: 0
Source to Destination Latency one way Min/Avg/Max: 0/0/0 microseconds
Destination to Source Latency one way Min/Avg/Max: 0/0/0 microseconds
Jitter Time:
Number of SD Jitter Samples: 9
Number of DS Jitter Samples: 9
Source to Destination Jitter Min/Avg/Max: 0/223/2001 microseconds
Destination to Source Jitter Min/Avg/Max: 0/2001/6001 microseconds
Packet Loss Values:
Loss Source to Destination: 0
Source to Destination Loss Periods Number: 0
Feature History for UDP Jitter
This table includes only the updates for those releases that have resulted in additions or changes to the feature.