语音 : IP 电话/IP 语音 (VoIP)

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

2010 年 4 月 15 日 - 原创文档
其他版本: 反馈

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

目录

技术领域
问题描述
呼叫流程
故障排除思路
故障排除步骤
总结

技术领域

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模式的 呼叫。
  1. PSTN的技术人员定位到setup_ack和release是目标局端ANZ的co switch发回的,他的建议是我们在ISDN setup信息中加入sending complete IE.
  2. 在MGCP协议中,由于ISDN D –Channel backhaul 到call control (Callmanager)上, 所有的ISDN信令都由 callmanager来控制。而在使用H323协议的时候,我们可以通过在网关的ISDN接口加上isdn sending -complete来强制加入sending complete IE。
  3. 由于改成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类型,能够解决此问题。