Voice Quality Monitoring

The Voice Quality Monitoring (VQM) feature gives information on the voice quality metrics related to media (voice) quality, such as conversational mean opinion score (MOS), packet loss rate, and so on. VQM enables you to monitor the quality of calls traversing your VoIP network, and you can diagnose the cause of voice quality issues and troubleshoot them.

The Voice Quality Statistics feature provides information about the quality of the Time-Division Multiplexing Internet Protocol (TDM-IP) voice call.

Feature Information for Voice Quality Monitoring

The following table provides release information about the feature or features described in this module. This table lists only the software release that introduced support for a given feature in a given software release train. Unless noted otherwise, subsequent releases of that software release train also support that feature.

Use Cisco Feature Navigator to find information about platform support and Cisco software image support. To access Cisco Feature Navigator, go to https://cfnng.cisco.com/. An account on Cisco.com is not required.
Table 1. Feature Information for Voice Quality Monitoring and Voice Quality Statistics

Feature Name

Releases

Feature Information

Voice Quality Statistics

Cisco IOS XE Everest 16.5.1b

Voice quality statistics provides information about the quality of the voice TDM-IP call. This feature is already implemented on ISR-G2, and the feature gap is filled in ISR 4000 series.

Voice Quality Monitoring

Cisco IOS XE Denali 16.3.1

The Voice Quality Monitoring (VQM) feature provides information on the voice quality metrics related to media (voice) quality, such as conversational mean opinion score (MOS), packet loss rate, and so on. VQM enables you to monitor the quality of calls traversing your VoIP network, and you can diagnose the cause of voice quality issues and troubleshoot them.

Prerequisites for Voice Quality Monitoring

The following commands must be executed to configure the voice quality metrics:

  • callmonitor

  • rtcp all-pass-through

  • media statistics

  • media bulk-stats

  • call-quality

    • max-dropout number-of-packets —Configures the acceptable out of sequence future packets to drop. The range is 2–2000 packets. The default value is 100.

    • max-reorder number-of-packets —Configures the acceptable out of sequence late packets. The range is 2–2000 packets. The default value is 100.


Note


The values of max-dropout and max-reorder must be configured based on the network loss and network latency. In a lossy or high latency network, it’s recommended to configure higher values. In a loss less or low latency network, lower values are fine. Packet loss and packet reorder are calculated based on RFC3550.


Sample Configuration

The following is a sample for the recommended voice quality monitoring configuration:

callmonitor
rtcpall-pass-through
media statistics
media bulk-stats
call-quality
 max-dropout 100
 max-reorder 100

Restrictions for Voice Quality Monitoring and Voice Quality Statistics

  • Only SIP-to-SIP call quality statistics calculation is supported.

  • The RTCP field is not recalculated, as it is end-to-end statistics.

  • The round trip delay is only retrieved by RTCP, which means the round trip delay is not calculated if there is no related RTCP.

  • Only three codec types are supported for one media flow to calculate the jitter; considering the data path performance, these three codecs would be the maximum number in one cache line.

  • Only one RTP synchronization source (SSRC) is supported concurrently per media flow, which is indicated in the m-line of the session description protocol (SDP).

  • Round trip delay calculation for transcoding calls is not supported.

  • VQM MOS values are not calculated for DSP based calls.

  • MOS value shows 0 if endpoint does not send RTCP packets.

  • The voice quality statistics covers only the TDM-IP call. The implementation focuses on filling the following statistics based on query response from DSP for TDM-SIP and TDM-H323 call:
    • RoundTripDelay

    • GapFillWithSilence

    • GapFillWithPrediction

    • GapFillWithInterpolation

    • GapFillWithRedundancy

    • HiWaterPlayoutDelay

    • LoWaterPlayoutDelay

    • PlayDelayJitter

Information About Voice Quality Monitoring

The VQM (Voice Quality Monitor) gives information on the voice quality metrics. The VQM on Cisco IOS XE platforms enables statistics gathering based on the received RTCP packets. From these statistics, a voice quality measurement is developed to show the quality of the call. The output is in a simple format, using a system of good, poor, and bad types of ratings.

The following metrics exists in Call Detail Record (CDR) and Management Information Base (MIB) in CUBE, indicating voice quality:

  1. MOSQe (conversational quality MOS)

  2. Round-trip-delay.

  3. Receive-delay (current jitter buffer size).

  4. Packet-Loss-Rate.

The CDR is sent at the end of a call if AAA accounting is configured.

A CDR example is as follows:

<MOS-Con>4.4072</MOS-Con>

<round-trip-delay>1 ms</round-trip-delay>

<receive-delay>64 ms</receive-delay>

<voice-quality-total-packet-loss>0.0000 %</ voice-quality-total-packet-loss>

VQM Metrics

The following are the metrics exported by VQM:

IOS VQM, Voice/Audio Description Quality Metric

Description

MOS-Con

The conversational quality MOS. Conversational quality indicates the impact of the quality of the transmission on the dynamics of conversational exchanges between two parties; such metrics take into account delay, echo, and recency.

round-trip-delay

The instantaneous round-trip delay. This may be obtained from the RTCP SR reports.

receive-delay

The minimum delay that will be applied to the packets received when using an adaptive jitter buffer.

voice-quality-total-packet-loss

The total number of packets lost by the jitter buffer in the RTP stream.

How to Configure Voice Quality Monitoring

Enabling Media Statistics Globally

Perform this task to globally enable media statistics in voice-service configuration mode to estimate the values for packet loss, jitter, and round-trip time.

SUMMARY STEPS

  1. enable
  2. configure terminal
  3. voice service voip
  4. media statistics
  5. end

DETAILED STEPS

  Command or Action Purpose

Step 1

enable

Example:


 Device> enable
          

Enables privileged EXEC mode.

  • Enter your password if prompted.

Step 2

configure terminal

Example:

Device# configure terminal
          

Enters global configuration mode.

Step 3

voice service voip

Example:

Device(config)# voice service voip
          

Enters voice service VoIP configuration mode.

Step 4

media statistics

Example:

Device(conf-voi-serv)# media statistics
          

Enables media statistics to estimate the values of packet loss, jitter, and Round Trip Time (RTT) statistics.

  • The statistics are displayed using the show voice history and show call active voice commands.

  • If the media statistics command is disabled, the values will be zero.

Step 5

end

Example:

Device(conf-voi-serv)# end
          

Returns to privileged EXEC mode.

Verifying Voice Quality Monitoring

Perform this task to verify the configuration for voice quality monitoring. The show commands can be entered in any order.

SUMMARY STEPS

  1. enable
  2. show call active voice | include LostPackets
  3. show call active voice | include ReceiveDelay
  4. show call active voice brief | sec RTT
  5. show call active voice stats | sec MC

DETAILED STEPS


Step 1

enable

Enables privileged EXEC mode.

Example:

Device> enable 

Step 2

show call active voice | include LostPackets

Displays statistics on the CUBE if the Voice Quality Metrics feature is configured.

Example:

Device# show call active voice |  include LostPackets 

LostPackets=0
LostPackets=0

Step 3

show call active voice | include ReceiveDelay

Displays statistics on the CUBE if the Voice Quality Metrics feature is configured.

Example:

Device# show call active voice |  include ReceiveDelay 

ReceiveDelay=0
ReceiveDelay=0

Step 4

show call active voice brief | sec RTT

Displays a truncated version of call information for voice calls in CUBE if the Voice Quality Metrics feature is configured.

Note

 

This command is not applicable for TDM-IP voice calls.

Example:

Device# show call active voice brief |  sec RTT 

 IP 173.39.65.81:7078     SRTP: off  rtt:12ms pl:0/0ms  lost:0/0/0  delay:0/0/0ms   g711ulaw   TextRelay: off   Transcoded: No   ICE: Off
 IP 10.127.17.141:18920   SRTP: off  rtt:12ms pl:0/0ms  lost:0/0/0  delay:0/0/0ms   g711ulaw   TextRelay: off   Transcoded: No   ICE: Off

Step 5

show call active voice stats | sec MC

Displays R-Factor Statistics (G.107 MOS) on the CUBE if the Voice Quality Metrics feature is configured. A sample output is provided below for a voice call using G.711ulaw, VAD on, and at 5 percent packet loss rate.

Example:

Device# show call active voice stats |  sec MC 

DSP/RF: ML=, MC=, R1=, R2=, IF=, ID=, IE=, BL=, R0=, VR=
DSP/RF: ML=4.2346, MC=4.2346, R1=92, R2=92, IF=0, ID=0, IE=0, BL=0, R0=93, VR=2.0
DSP/RF: ML=4.2346, MC=4.2346, R1=92, R2=92, IF=0, ID=0, IE=0, BL=0, R0=93, VR=2.0

The following is an example output for the SNMP MIB:
cmqVoIPCallActiveRxPred107RMosConv.8520964.1 = 423 (MC)

For more information on the SNMP MIB "cmqVoIPCallActiveRxPred107RMosConv", see SNMP Object Navigator.

In the sample output, the following can be noted:

  • ML for codec G.711ulaw is 4.2346.

  • MC for codec G.711ulaw is 4.2346.

  • IE for codec G.711 is 0.

  • R0 is 93.

The following table defines the abbreviations used in the sample output.

Table 2. Router Output Definitions for the show call active voice stats command

Type

Abbreviation Definition
DSP/RF: R-Factor Statistics (G.107 MOS) ML R-factor MOS listening quality objective
MC R-factor MOS-CQE
R1 R-factor for LQ profile1
R2 R-factor for LQ
IF Effective codec impairment (IeEff )
ID Delay factors
IE Codec baseline score (Ie)
BL Codec baseline (Bpl)
R0 Nominal value for R0 (default)
VR R-Factor version

Troubleshooting Tips

Use the following debug commands to troubleshoot the Voice Quality Monitoring feature:

  • debug voip rtp packets

  • debug performance monitor

  • debug radius accounting

  • debug aaa accounting

Configuration Examples for Voice Quality Monitoring

Example: Configuring Media Statistics Globally


Device> enable
Device# configure terminal
Device(config)# voice service voip
Device(conf-voi-serv)# media statistics
Device(conf-voi-serv)# end

Example: CDR Enabled MOS Output

At the end of a call, the MOSQe output is displayed in CDR only if the debug radius accounting is enabled.

The show log | sec MOS-Con command displays the MOS-Con value as shown below:

Device# show log | sec MOS-Con 

*Jan 21 22:31:42.313: RADIUS:   Cisco AVpair       [1]   16  "MOS-Con=4.2312"
*Jan 21 22:31:42.313: RADIUS:   Cisco AVpair       [1]   16  "MOS-Con=4.2312"