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:
Internal to Q.761 Protocol Mapping and Cause and Location Codes - Software Release 9
Cause value (refer to ITU Q.850 )
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.
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
This procedure explains the modification of the cause code for ITU Q.761.
Add the Dial Plan to change any release <x> and replace it with Cause value <y>:
1-numan-add:resultset:custgrpid="0001",name="chgCause" 2-numan-add:resulttable:custgrpid="0001",name="ChangeToSubAbsent", resulttype="CAUSE",dw1=<y>,setname="chgCause" 3-numan-add:cause:custgrpid="0001",causevalue=<x>,setname="chgCause"
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.
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 "PROV-STA" ; 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 "dialplan" ; PGW2200 mml> numan-add:resultset:custgrpid="0001",name="chgCause" MGC-01 - Media Gateway Controller 2004-02-12 15:21:38 M COMPLD "resultset" ; PGW2200 mml> numan-add:resulttable:custgrpid="0001",name="ChangeToSubAbsent", resulttype="CAUSE",dw1="147",setname="chgCause" MGC-01 - Media Gateway Controller 2004-02-12 15:22:29 M COMPLD "resulttable" ; PGW2200 mml> numan-add:cause:custgrpid="0001",causevalue=40, setname="chgCause" MGC-01 - Media Gateway Controller 2004-02-12 15:22:59 M COMPLD "cause" ; PGW2200 mml> numan-add:cause:custgrpid="0001",causevalue=31, setname="chgCause" MGC-01 - Media Gateway Controller 2004-02-12 15:23:24 M COMPLD "cause" ; PGW2200 mml> prov-cpy MGC-01 - Media Gateway Controller 2004-02-12 15:23:31 M COMPLD "PROV-CPY" ; PGW2200 mml>
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.
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 INDEX TO VARIABLE PART 0x02 INDEX TO OPTIONAL PART 0x00 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.
The Cisco Support Community is a forum for you to ask and answer questions, share suggestions, and collaborate with your peers.
Refer to Cisco Technical Tips Conventions for information on conventions used in this document.