快速解决拨打某些国际长途忙音问题

目录

技术领域

问题描述

呼叫流程

故障排除思路

故障排除步骤

总结

技术领域

Cisco Callmanager, Voice Gateway, ISDN

问题描述

当客户使用Cisco IP电话拨打某些日本和澳大利亚的国际长途电话时，主叫听到的是忙音。

呼叫流程

IP phone---(SCCP)---CCM----(MGCP)----ISR----(ISDN 5ESS)----PSTN----Japan/ANZ.

故障排除思路：

根据呼叫流程，此问题只发生在国际长途呼叫中，所以我们会采用从PSTN最近端的ISR开始，然后逐跳分析。

故障排除步骤

1. 在离PSTN最近端设备，ISR上面打开debug ISDN q931, 看到如下输出：

Dec 28 14:53:10.008 TW: ISDN Se0/0/0:23 Q931: TX -> SETUP pd = 8

callref = 0x0452

Bearer Capability i = 0x8090A2

Standard = CCITT

Transfer Capability = Speech

Transfer Mode = Circuit

Transfer Rate = 64 kbit/s

Channel ID i = 0xA98396

Exclusive, Channel 22

Calling Party Number i = 0x0081, '23456789'

Plan:Unknown, Type:Unknown

Called Party Number i = 0x80, '00261123456789'

Plan:Unknown, Type:Unknown

*Dec 28 14:53:10.252 TW: ISDN Se0/0/0:23 Q931:RX <- SETUP_ACK pd = 8 callref = 0x8452

Channel ID i = 0xA98396

Exclusive, Channel 22

Progress Ind i = 0x8288 - In-band info or appropriate now available

*Dec 28 14:53:10.252 TW: ISDN Se0/0/0:23 Q931: TX -> STATUS pd = 8  callref = 0x0452

Cause i = 0x80E1 - Message type not implemented

Call State i = 0x01

*Dec 28 14:53:10.368 TW: ISDN Se0/0/0:23 Q931: RX <- RELEASE pd = 8  callref = 0x8452

Cause i = 0x82E5 - Message not compatible with call state

*Dec 28 14:53:10.380 TW: ISDN Se0/0/0:23 Q931: TX -> RELEASE_COMP pd = 8  callref =0x0452

- 由于呼叫是被PSTN端release，我们请到了PSTN端的相关技术人员协助我们。同时，根据我们收到SETUP_ACK信息可以断定，PSTN端认为这是一个overlap sending模式的 呼叫。

2. PSTN的技术人员定位到setup_ack和release是目标局端ANZ的co switch发回的，他的建议是我们在ISDN setup信息中加入sending complete IE.

3. 在MGCP协议中，由于ISDN D –Channel backhaul 到call control (Callmanager)上， 所有的ISDN信令都由 callmanager来控制。而在使用H323协议的时候，我们可以通过在网关的ISDN接口加上isdn sending -complete来强制加入sending complete IE。

4. 由于改成H323对用户的影响过大，最后我们通过在Callmanager和语音网关上把ISDN交换机的类型改成NTT， 此问题得到圆满解决。

总结

在许多国际长途呼叫中，用户近端的ISDN switch会把主叫方的setup信令透明传输到远端，从而会产生端到端的交换机不匹配的情况，从而在相应的ISDN data的识别上产生差异，而结果就是本例当中的有些国际长途忙音或延迟的状况。

本例是远端ANZ/JAPAN 的PSTN switch错误的以为主叫端在发起一个overlap sending的呼叫，然后回了一个setup_ack信令，而主叫端实际上发起了一个non-overlap sending的呼叫，所以并没有后续的information信令，反而是一个status信令，所以导致远端的PSTN switch拆线。

所以通过在H323下接口增加isdn sending-complete 或者MGCP下修改isdn switch类型，能够解决此问题。