Voice Quality Monitoring

The Voice Quality Monitoring (VQM) feature uses Flexible NetFlow to export 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.

Finding Feature Information

Your software release may not support all the features documented in this module. For the latest caveats and feature information, see Bug Search Tool and the release notes for your platform and software release. To find information about the features documented in this module, and to see a list of the releases in which each feature is supported, see the feature information table.

Use Cisco Feature Navigator to find information about platform support and Cisco software image support. To access Cisco Feature Navigator, go to www.cisco.com/​go/​cfn. An account on Cisco.com is not required.

Prerequisites for Voice Quality Monitoring

The aqm-register-fnf command must be configured before you use the media monitoring command to configure voice quality metrics.

Information About Voice Quality Monitoring

The VQM (Voice Quality Monitor) uses Flexible NetFlow to export voice quality metrics measured by the media monitoring command. To help the NetFlow collector to process the flow record, VQM also reports call-related information such as calling number, called number, call setup time, and so on. The Voice Quality Metrics enables statistics gathering on packet arrival (late/lost/early). 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 are the five metrics added to Call Detail Record (CDR) and Management Information Base (MIB) in NanoCUBE, indicating voice quality:

  1. MOSQe (conversational quality MOS)

  2. Round-trip-delay.

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

  4. Packet-Loss-Rate.

  5. Out-of-Order-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>

<voice-quality-out-of-order>0.0000 %</ voice-quality-out-of-order>

VQM Metrics

The following are the metrics exported by VQM:

NanoCube IOS VQM, Voice/Audio Quality Metric

Description
GwReceivedCalledNumber The directory number portion of To URI from the Session Initiation Protocol (SIP) signaling or the extension receiving the call.
GwReceivedCallingNumber The directory number portion of From URI from the SIP signaling or the extension originating the call.
SetupTime The time at which monitoring began on this RTP stream.
CallDuration The time (in milliseconds) from when monitoring began on this RTP stream until the reception of the last RTP packet on this stream.
DspRXBadPkt The total number of packets determined by the simulated jitter buffer to be having bad protocols and that need to be dropped.
DspRXOutSeq The total number of packets that arrive at the jitter buffer out of sequence.
DspConf CodecID The last voice coder-decoder (CODEC) detected in this RTP stream. Note that an endpoint may change the voice CODEC mid-stream.
DspPlayDelay Cur The current jitter buffer delay in milliseconds. In the case of an RTP stream in the call history, the last jitter buffer delay (does not apply to a fixed jitter buffer configuration).
DspPlayDelayMin The minimum jitter buffer delay in milliseconds (does not apply to a fixed jitter buffer configuration)
DspPlayDelayMax The maximum jitter buffer delay in milliseconds (does not apply to a fixed jitter buffer configuration).
rfc3550JitterMeanMilliseconds The packet-to-packet delay variation (jitter) in milliseconds, as defined in RFC 3550.
ProtocolCallId The SIP call ID read-only by the SIP proxy. This value may be unknown if using the B2BUA or if call signaling is not being monitored.
GlobalCallId Internally generated ID identifying this call.
DspDely RT

The instantaneous round-trip delay. This may be obtained from RTCP XR or SR reports; or if no reports are available, from an average of ICMP echo or timestamp requests sent to both endpoints. If no report information is available and round-trip delay cannot be determined from ICMP (example, a firewall in the path did not allow the traffic), this statistic will be reported as unavailable.

DspDelyED The instantaneous one-way delay, including any delay that can be introduced by the jitter buffer and codec processing.
DspRFactrR1 The listening quality R factor. Listening quality indicates the perceived quality of the transmission for a user not actively involved in the conversation, but passively listening. Listening quality does not consider delay or recency. Some users may prefer R-factor measurements to MOS scores, because MOS scales may differ based on the CODEC type and region of deployment, whereas R factor measurements are consistent across CODECs and regions.
DspRFactrR2

The conversational quality R factor. 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. For example, for a link with a large delay, participants in a conversation might frequently find themselves interrupting each other and talking over each other, since one party will be unable to perceive when the other party has started talking. Some users may prefer R factor measurements to MOS, since MOS scales may differ based on the CODEC type and region of deployment, whereas R factor measurements are consistent across CODECs and regions.

DspRFactrMosConv 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. For example, for a link with a large delay, participants in a conversation might frequently find themselves interrupting each other and talking over each other, since one party will be unable to perceive when the other party has started talking.
DspRFactrMosLisn The listening quality MOS. Listening quality indicates the perceived quality of the transmission for a user not actively involved in the conversation, but passively listening. Listening quality does not consider delay or recency.
DspCealRatioAV Average of Concealment Ratio reports since the start of a call.
DspConfJtrTyp The configured jitter buffer type for this RTP stream, either adaptive or fixed. An adaptive jitter buffer dynamically varies the delay from packet reception to packet playback; a fixed jitter buffer uses the same delay for each packet. This is a jitter buffer; no packets are actually being discarded.
DspConfJtrMin The minimum delay that will be applied to packets received when using an adaptive jitter buffer.
DspConfJtrInit The value that represents the initial delay that will be applied to received packets when using an adaptive jitter buffer. When using a fixed jitter buffer, this represents the delay that will be applied to each packet when it is received.
DspConfJtrMax The value that represents an upper bound on the delay that will be applied to received packets when using an adaptive jitter buffer. When using a fixed jitter buffer, this metric represents the maximum number of packets that can be inserted into the buffer. (Subsequently, inserted packets will be discarded.)
DspRXEarlPkt The total number of packets for this RTP stream arriving early (prior to the anticipated packet arrival). Each packet is classified as either late or early with the exception of the first packet that is treated as a reference packet.
DspRXLatPkt The total number of packets for this RTP stream arriving late (after the anticipated packet arrival). Each packet is classified as either late or early with the exception of the first packet that is treated as a reference packet.
DspPktBfrOvr The total number of packets discarded by the jitter buffer due to jitter buffer overrun.
DspPktCealCount The total number of packets discarded by the jitter buffer due to jitter buffer underrun.

How to Configure Voice Quality Monitoring

Configuring Voice Quality Metrics

Before You Begin

The aqm-register-fnf command must be configured at the global configuration mode to export the audio and video call quality metrics to flow record using Flexible NetFlow collector.

SUMMARY STEPS

    1.    enable

    2.    configure terminal

    3.    voice service voip

    4.    media monitoring max-calls

    5.    exit

    6.    dial-peer voice tag voip

    7.    media monitoring max-calls


DETAILED STEPS
     Command or ActionPurpose
    Step 1 enable


    Example:
     Device> enable
              
     

    Enables privileged EXEC mode.

    • Enter your password if prompted.

     
    Step 2configure terminal


    Example:
    Device# configure terminal
              
     

    Enters global configuration mode.

     
    Step 3voice service voip


    Example:
    Device(config)# voice service voip
              
     

    Enters voice service configuration mode and specified Voice over IP as the voice-encapsulation type.

     
    Step 4media monitoring max-calls


    Example:
    Device(conf-voi-serv)# media monitoring 300
              
     

    Enables media monitoring and specifies the maximum number of calls to be monitored.

    Note   

    You can monitor only up to 302 channels for NANOCUBE, that is, about 151 calls.

     
    Step 5exit


    Example:
    Device(conf-voi-serv)# exit
              
     

    Exits voice service configuration mode and returns to global configuration mode.

     
    Step 6dial-peer voice tag voip


    Example:
    Device(conf-voi-serv)# dial-peer voice 5 voip
              
     

    Enters dial-peer configuration mode, defines a particular dial peer, and specifies the method of voice encapsulation as VoIP.

     
    Step 7media monitoring max-calls


    Example:
    Device(config-dial-peer)# media monitoring 300
              
     

    Enables media monitoring for calls landing on the dial peer specified in Step 6.

     

    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 ActionPurpose
      Step 1 enable


      Example:
       Device> enable
                
       

      Enables privileged EXEC mode.

      • Enter your password if prompted.

       
      Step 2configure terminal


      Example:
      Device# configure terminal
                
       

      Enters global configuration mode.

       
      Step 3voice service voip


      Example:
      Device(config)# voice service voip
                
       

      Enters voice service VoIP configuration mode.

       
      Step 4media 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 5end


      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 voip rtp connections

        3.    show sccp connections

        4.    show voice monitoring-channels

        5.    show call active voice

        6.    show call active voice stats


      DETAILED STEPS
        Step 1   enable

        Enables privileged EXEC mode.



        Example:
        Device> enable
        
        Step 2   show voip rtp connections

        Displays Real-Time Transport Protocol (RTP) named event packets.



        Example:
        Device# show voip rtp connections
        
        No. CallId   dstCallId    LocalRTP   RmtRTP    LocalIP    RemoteIP			MPSS
        1      37      38           16582     18236    10.1.1.2   10.1.1.7   NO
        2      38      37           16524     19542    10.1.1.2   10.1.1.1   NO
        3      39      40           17644     2000     10.1.1.2   10.1.1.2   NO
        4      41      40           16622     2000     10.1.1.2   10.1.1.2   NO
        
        Step 3   show sccp connections

        Displays information about the connections controlled by the Skinny Client Control Protocol (SCCP) transcoding and conferencing applications.



        Example:
        Device# show sccp connections
        
        sess_id      conn_id    stype    mode       codec     ripaddr     rport    sport
        3            4          xcode    sendrecv   g711u     100.1.1.2   2000     16622
        3            3          xcode    sendrecv   g711u     100.1.1.2   2000     17644
        Total number of active session(s) 1, and connection(s) 2
        
        Step 4   show voice monitoring-channels

        Displays voice monitoring statistics.



        Example:
        Device# show voice monitoring-channels
        
        max vq mon channels = 10 vq mon channels in use = 2 vq mon channels left =8
        
        Step 5   show call active voice

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



        Example:
        Device# show call active voice 
        
        RxPakNumber=5496
        RxSignalPak=0
        RxComfortNoisePak=0
        RxDuration=109900
        RxVoiceDuration=109920
        RxOutOfSeq=0
        RxLatePak=0
        RxEarlyPak=0
        RxBadProtocol=0
        LevelRxPowerMean=0
        ErrRxDrop=0
        ErrRxControl=0
        
        Step 6   show call active voice stats

        Displays Concealment Statistics and R-Factor Statistics (G.107 MOS) on the Cisco UBE 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 statslsec MC
        
        DSP/CS: CR=0.0527, AV=0.0502, MX=0.0527, CT=1220, TT=24270, OK=50, CS=44, SC=0, TS=50, DC=0
        SP/RF: ML=3.9855, MC=0.0000, R1=79, R2=0, IF=15, ID=0, IE=0, BL=25, R0=94, VR=1.1
        

        In the sample output, the following can be noted:

        • The average conceal ratio (AV) is about 5 percent.

        • The ratio of total conceal time and total speech time is about 5 percent (1220/24270).

        • BL for codec G.711 is 25 (based on G.113).

        • IE for codec G.711 is 0 (G.113).

        • IE for codec G.711 is 0.

        • R0 is 94 (G.107).

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

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

        Type

        Abbreviation Definition

        DSP/CS: Concealment Statistics

        CR

        concealRatioCurrent

        AV

        ConcealRatioAverage

        MX

        ConcealRatioMaximum

        CT

        ConcealDuration

        TT

        SpeechDuration

        OK

        OkSeconds

        CS

        ConcealSeconds

        SC

        SevereConcealSeconds

        TS

        SevereConcealThreshold

        DSP/RF: R-Factor Statistics (G.107 MOS) ML MOSLQE
        R1 RFactorProfile1
        IF IeEff
        BL CodecBaselineBPL
        R0 R0Default
        VR R-Factor version

        Troubleshooting Tips

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

        • debug sccp messages

        • debug voip rtp packets

        • debug performance monitor

        • debug radius accounting

        • debug aaa accounting

        Configuration Examples for Voice Quality Monitoring

        Example: Configuring Voice Quality Metrics

        Device> enable
        Device# configure terminal
        Device(config)# voice service voip
        Device(conf-voi-serv)# media monitoring 300
        Device(conf-serv-sip)# exit
        Device(config)# dial-peer voice 5 voip
        Device(config-dial-peer)# media monitoring 300
        

        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
        

        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 www.cisco.com/​go/​cfn. An account on Cisco.com is not required.
        Table 2 Feature Information for Voice Quality Monitoring

        Feature Name

        Releases

        Feature Information

        Voice Quality Monitoring

        15.3(3)M

        The Voice Quality Monitoring (VQM) feature uses Flexible NetFlow to export 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.