Core Issue
When a call is made from an IP phone to a Public Switched Telephone Network (PSTN) connected cell or mobile phone, and the phone is off or outside the coverage area, the call drops immediately. The caller should receive an announcement from the PSTN for the reason the call did not mature.
The issue is when the PSTN sends a DISCONNECT
message with the Progress Indicator (PI) to indicate that in-band information is available.
The H.323 gateway forwards the DISCONNECT
message to Cisco CallManager. On receiving a disconnect, the default behavior for Cisco CallManager is to immediately disconnect the call. In this case, Cisco CallManager does not pass the in-band information to the IP phone. Therefore, the caller does not hear the announcement message.
The debug isdn q931 command trace on the gateway looks similar to this example:
Oct 22 20:56:40: ISDN Se1/1:15 Q931: TX -> SETUP pd = 8 callref = 0x0CF3
Bearer Capability i = 0x8090A3
Standard = CCITT
Transer Capability = Speech
Transfer Mode = Circuit
Transfer Rate = 64 kbit/s
Channel ID i = 0xA9839F
Exclusive, Channel 31
Calling Party Number i = 0x0080, '4225293'
Plan:Unknown, Type:Unknown
Called Party Number i = 0x80, '8959339'
Plan:Unknown, Type:Unknown
Oct 22 20:56:40: ISDN Se1/1:15 Q931: RX <_- xmlns:_1="urn:x-prefix:_1" xmlns:_20="urn:x-prefix:_20" xmlns:q931="urn:x-prefix:q931" _-="_-" _1:_15="_1:_15" _20:_5640="_20:_5640" _20:_5652="_20:_5652" _22="_22" _31="_31" appropriate="appropriate" available="available" call_proc="call_proc" callref="0x8CF3" cause="cause" channel="channel" disconnect="disconnect" display="display" exclusive="exclusive" i="ICC 85" id="id" in-band="in-band" ind="ind" info="info" isdn="isdn" now="now" oct="oct" or="or" pd="8" progress="progress" q931:_="q931:_" rx="rx" se1="se1" tx="tx" unknown="unknown" value="value"> RELEASE pd = 8 callref = 0x0CF3
Oct 22 20:56:52: ISDN Se1/1:15 Q931: RX <_- _="_" callref="0x8CF3" pd="8" pre="pre" release_comp="release_comp">
Resolution
To resolve this issue, set the Retain Media On Disconnect With PI For Active Call Service parameter for Cisco CallManager service to True. The default value for this parameter is False and Cisco CallManager disconnects the call immediately.
Note: This parameter is not available for the Cisco CallManager version 3.2(2c) and earlier.
For more information, refer to these documents: