Telephony Signaling

Cisco PGW 2200 Softswitch - Cause Code Modification

Hierarchical Navigation

Document ID: 48515

Updated: Apr 21, 2009



This document describes the Cause Code Analysis functionality of the Cisco PGW 2200 Softswitch both working in Call Control and Signaling mode. A PGW 2200 user may need to change the Cause Value to a value that is appropriate to the customer's network. The PGW 2200 Generic Analysis module can change the Cause value to both New Cause and Location values.



Cisco recommends that you have knowledge of these topics:

Components Used

The information in this document is based on Cisco PGW 2200 Releases 7.x, 9.x, and later.

The information in this document was created from the devices in a specific lab environment. All of the devices used in this document started with a cleared (default) configuration. If your network is live, make sure that you understand the potential impact of any command.


Refer to Cisco Technical Tips Conventions for more information on document conventions.

Cause Analysis

The processes by which the Cisco PGW analyzes and routes calls are illustrated in Figure 1. This document only describes the working of Cause Analysis in general.

Cause Analysis is performed when a release message is received, or when a failure of some kind (for example, number screen fail) has occurred that implies the call must be released. The Cause Code value or the combined Cause Code and/or Location Code values are used to provide an internal Cause Code that provokes a number of different results including re-routing of the call to another route, or return to analysis to find a different destination.

Note: All external Cause values per protocol are converted to Internal Cause values. It is the Internal values that are used when you populate the dial plan data (refer to Appendix B: Cause and Location Codes for information on Cause Code Mappings).

Figure 1: Call Flow Through Analysis


Cause Code Modification for ITU Q.761

This procedure explains the modification of the cause code for ITU Q.761.

  1. Add the Dial Plan to change any release <x> and replace it with Cause value <y>:

  2. During Release Cause Analysis, the PGW checks the ss7Patch entry for a custgrpid ID and looks into the Dial Plan where this configuration is done and starts at line 3.

  3. In this line, specify the trigger on which Cause value you want to perform an action and then jump to line 1 and 2. At line 2, specify to which Cause value you want to change the Release Cause (dw1).

    In this example, any Release Cause value 31[internal cause IC_Normal_clearing] or 40 [Recover on timer expiry] is changed and replaced with 147 (IC_Unknown).

    PGW2200 mml> prov-sta::srcver="active",dstver="cisco1" 
       MGC-01 - Media Gateway Controller 2004-02-12 15:20:54 
    M  COMPLD 
    PGW2200 mml> numan-add:dialplan:custgrpid="0001" 
    .......This step is only necessary when there is not already a dial plan
       MGC-01 - Media Gateway Controller 2004-02-12 15:21:13 
    M  COMPLD 
    PGW2200 mml> numan-add:resultset:custgrpid="0001",name="chgCause"   
    MGC-01 - Media Gateway 
    Controller 2004-02-12 15:21:38 
    M  COMPLD 
    PGW2200 mml> 
       MGC-01 - Media Gateway Controller 2004-02-12 15:22:29 
    M  COMPLD 
    PGW2200 mml> numan-add:cause:custgrpid="0001",causevalue=40,
       MGC-01 - Media Gateway Controller 2004-02-12 15:22:59 
    M  COMPLD 
    PGW2200 mml>  numan-add:cause:custgrpid="0001",causevalue=31,
       MGC-01 - Media Gateway Controller 2004-02-12 15:23:24 
    M  COMPLD 
    PGW2200 mml> prov-cpy 
       MGC-01 - Media Gateway Controller 2004-02-12 15:23:31 
    M  COMPLD 
    PGW2200 mml> 
  4. Check the custgrpid (Dial Plan name) binding to the sigpath or trunk group:

    • For the PGW 2200 in Signaling (Nailed) mode, change it using the prov-rtrv:ss7path:name="<ss7-path-name>" command and look for the CustGrpID value.

    • For the PGW 2200 in Call Control (Switched) mode, change it using the prov-rtrv:trnkgrp:name="<trunk-group-number>" command and look for the CustGrpID property.

Location Code Modification

To modify the Location parameter that is sent within the Cause Code, change the ClearingLocation and DefaultLocation. Look for the XECfgParm.dat file under the /opt/CiscoMGC/etc parameters for ClearingLocation and DefaultLocation. You can change the location on a per Cisco PGW 2200 basis. You cannot change the location on a per call basis at this time for Cisco PGW 2200 releases 9.3, 9.4, 9.5, and 9.6.

********************************** DETAIL **********************************
CIC                            50
MESSAGE TYPE                   0x0C REL - Release_Msg
CAUSE IND                      0x12
   LENGTH:                        0x02 VAR.  DATA 0x82 0x91
   EXTENSION BIT                  1 diagnostic_is_not_included
   CODING STANDARD                0 CCITT_standard
   GENERAL LOCATION               2 Public network serving the local user
   EXTENSION BIT                  1 diagnostic_is_not_included
   CLASS                          1 Normal event
   VALUE IN CLASS                 1
   CAUSE VALUE                    17 User_busy
******************       END_OF_MSG                       ******************

The Cisco PGW 2200 does not default to the Location value because no ''location values'' is specified. Instead, the Cisco PGW 2200 defaults to the general location with value ''1010'' (network beyond interworking point [BI]). This is part of the ITU Q.850 specification. For Cisco HSI, refer to Cisco bug ID CSCea28559 (registered customers only) . HSI should allow transparency to the Cause location.

Note: If you need to open a case with Technical Support for any help with this configuration, make sure you run an SS7 sniffer or snooper trace in combination with a PGW 2200 MDL trace and attach it to the Technical Support case.

Related Information

Updated: Apr 21, 2009
Document ID: 48515