Call Progress Analysis Over IP-to-IP Media Session

The Call Progress Analysis Over IP-IP Media Session feature enables the detection of automated answering systems and live human voices on outbound calls and communicates the detected information to the external application. Typically, call progress analysis (CPA) is extensively used in contact center deployments in conjunction with the outbound Session Initiation Protocol (SIP) dialer, where CPA is enabled on the Cisco Unified Border Element (Cisco UBE), and digital signal processors (DSP) perform the CPA functionality.

Feature Information for Call Progress Analysis Over IP-IP Media Session

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 . An account on Cisco.com is not required.
Table 1 Feature Information for Call Progress Analysis Over IP-IP Media Session

Feature Name

Releases

Feature Information

Call Progress Analysis Over IP-to-IP Media Session

15.3(2)T

The Call Progress Analysis Over IP-to-IP Media Session feature enables detection of automated answering systems and live human voices on outbound calls and communicates the detected information to an external application.

The following command was introduced: call-progress-analysis.

Call Progress Analysis Over IP-to-IP Media Session

Cisco IOS XE Release 3.9S

The Call Progress Analysis Over IP-to-IP Media Session feature enables detection of automated answering systems and live human voices on outbound calls and communicates the detected information to an external application.

The following command was introduced: call-progress-analysis.

Support for additional call flows

15.5(2)T

Cisco IOS XE Release 3.15S

Call Progress Analysis feature is enhanced to support the following call-flows:
  • 180 SIP response received without SDP
  • Direct call connect (without 18x from Service Provider)
  • Multiple 18x response to INVITE
  • Early dialog UPDATE
  • Dialer-CUBE CPA call record

Restrictions for Call Progress Analysis Over IP-to-IP Media Session

  • Only SIP-to-SIP Early Offer (EO-to-EO) call flows are supported.

  • Session Description Protocol (SDP) passthrough and flow-around media calls are not supported.

  • Only the G711 flavor of codec is supported.

  • High Availability (HA) is not supported.

  • Skinny Client Control Protocol (SCCP)-based digital signal processor (DSP) farm is not supported.

  • CPA cannot not be detected if Dialer uses Inband as DTMF relay mechanism, that is, Inband to RTP-NTE DTMF inter-working is not supported with CPA.

  • CPA call record is not supported for "180 without SDP" and "Direct Call Connect (without 18x)" call flows from Service Provider.

Information About Call Progress Analysis Over IP-IP Media Session

Call Progress Analysis

Call progress analysis (CPA) is a DSP algorithm that analyzes the Real-Time Transport Protocol (RTP) voice stream to look for special information tones (SIT), fax or modem tones, human speech, and answering machine tones. CPA also passes the voice information to Cisco IOS or Cisco Unified Border Element (Cisco UBE).

CPA is initiated on receiving a new SIP INVITE with x-cisco-cpa content. While a call is in progress, the DSP or the Xcoder analyzes the incoming voice or media stream. The DSP identifies the type of voice stream based on statistical voice patterns or specific tone frequencies and provides the information to the Cisco UBE. The Cisco UBE notifies the dialer with a SIP UPDATE with x-cisco-cpa content along with the detected event. Based on the report, the caller (dialer) can decide to either transfer the call or terminate the call.

To use the CPA functionality, you must enable CPA and configure CPA timing and threshold parameters.

Table 2 X-cisco-cpa content meaning

SIP Message

Direction of Message

Meaning

18x or 200

Cisco IOS to dialer

Cisco UBE informs the dialer if CPA is enabled for a call or not.

New INVITE

Dialer to Cisco IOS

Dialer requests Cisco IOS or the Cisco UBE to activate the CPA algorithm for this session.

UPDATE

Cisco IOS to dialer

Cisco IOS or the Cisco UBE notifies the dialer about the detected event.

CPA Events

Table 3 CPA Event Detection List

CPA Event

Definition

Asm

Answer machine

AsmT

Answer machine terminate tone

CpaS

Start of the Call Progress Analysis

FT

Fax/Modem tone

LS

Live human speech

LV

Low volume or dead air call

SitIC

Special information tone IC -- Intercept -- Vacant number or Automatic Identification System (AIS)

SitNC

SIT tone NC—No Circuit (NC), Emergency, or Trunk Blockage

SitVC

SIT tone VC—Vacant Code

SitRO

SIT tone RO—Reorder Announcement

SitMT

Miscellaneous SIT Tone

How to Configure Call Progress Analysis Over IP-to-IP Media Session

Enabling CPA and Setting the CPA Parameters

Perform the following task to enable CPA and set the CPA timing and threshold parameters:

SUMMARY STEPS

    1.    enable

    2.    configure terminal

    3.    dspfarm profile profile-identifier transcode

    4.    call-progress-analysis

    5.    exit

    6.    voice service voip

    7.    cpa timing live-person max-duration

    8.    cpa timing term-tone max-duration

    9.    cpa threshold active-signal signal-threshold

    10.    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 3dspfarm profile profile-identifier transcode


    Example:
    Device(config)# dspfarm profile 15 transcode
              
     

    Enters DSP farm profile configuration mode, defines a profile for DSP farm services, and enables the profile for transcoding.

     
    Step 4call-progress-analysis


    Example:
    Device(config-dspfarm-profile)# call-progress-analysis
              
     
    Enables call progress analysis (CPA) on Cisco UBE.
    • You must configure this command to activate the CPA feature and set CPA parameters.

     
    Step 5exit


    Example:
    Device(config-dspfarm-profile)# exit
              
     

    Exits DSP farm profile configuration mode and enters global configuration mode.

     
    Step 6voice service voip


    Example:
    Device(config)# voice service voip
              
     

    Enters voice service configuration mode.

     
    Step 7cpa timing live-person max-duration


    Example:
    Device(conf-voi-serv)# cpa timing live-person 2501
              
     

    (Optional) Sets the maximum waiting time (in milliseconds) that the CPA algorithm uses to determine if a call is answered by a live human.

     
    Step 8cpa timing term-tone max-duration


    Example:
    Device(conf-voi-serv)# cpa timing term-tone 15500
              
     

    (Optional) Sets the maximum waiting time (in milliseconds) that the CPA algorithm uses to wait for the answering machine termination tone after the answering machine is detected.

     
    Step 9cpa threshold active-signal signal-threshold


    Example:
    Device(conf-voi-serv)# cpa threshold active-signal 18db
              
     
    (Optional) Sets the threshold (in decibels) of an active signal that is related to the measured noise floor level.
    • If a signal threshold configured by this command is greater than the measured noise floor level, then the signal is considered as active. The active signal thresholds that you can configure are 9, 12, 15, 18, and 21 decibels.

     
    Step 10end


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

    Exits voice service configuration mode and returns to privileged EXEC mode.

     

    Verifying the Call Progress Analysis Over IP-to-IP Media Session

    Perform this task to verify that call progress analysis has been configured for a digital signal processor (DSP) farm profile.

    SUMMARY STEPS

      1.    enable

      2.    show dspfarm profile profile-identifier


    DETAILED STEPS
      Step 1   enable

      Enables privileged EXEC mode.



      Example:
      Device> enable
                
      Step 2   show dspfarm profile profile-identifier

      Displays the configured DSP farm profile information for a selected Cisco Call Manager group. In the following sample output, the Call Progress Analysis field shows that CPA is enabled.



      Example:
      Device# show dspfarm profile 3
      
       Profile ID = 3, Service =Universal TRANSCODING, Resource ID = 3
       Profile Description :
       Profile Service Mode : Non Secure
       Profile Admin State : UP
       Profile Operation State : ACTIVE
       Application : CUBE   Status : ASSOCIATED
       Resource Provider : FLEX_DSPRM   Status : UP
       Number of Resource Configured : 4
       Number of Resources Out of Service : 0
       Number of Resources Active : 0
       Codec Configuration: num_of_codecs:4
       Codec : g711ulaw, Maximum Packetization Period : 30
       Codec : g711alaw, Maximum Packetization Period : 30
       Codec : g729ar8, Maximum Packetization Period : 60
       Codec : g729abr8, Maximum Packetization Period : 60
       Noise Reduction : ENABLED
       Call Progress Analysis : ENABLED
      

      Troubleshooting Tips

      Use the following commands to troubleshoot the call progress analysis for SIP-to-SIP calls:

      • debug ccsip all

      • debug voip ccapi inout

      • debug voip hpi all

      • debug voip ipipgw

      • debug voip media resource provisioning all

      Configuration Examples for the Call Progress Analysis Over IP-to-IP Media Session

      Example: Enabling CPA and Setting the CPA Parameters

      The following example shows how to enable CPA and set a few timing and threshold parameters. Depending on your requirements, you can configure more timing and threshold parameters.

      Device> enable
      Device# configure terminal
      Device(config)# dspfarm profile 15 transcode
      Device(config-dspfarm-profile)# call-progress-analysis
      Device(config-dspfarm-profile)# exit
      Device(config)# voice service voip
      Device(conf-voi-serv)# cpa timing live-person 2501
      Device(conf-voi-serv)# cpa timing term-tone 15500
      Device(conf-voi-serv)# cpa threshold active-signal 18db
      Device(conf-voi-serv)# end