TE30与Polycom MCU呼叫成功但定时被挂断问题

发布时间:  2015-10-04 浏览次数:  1269 下载次数:  16
问题描述

本地一台TE30,部署在客户内网,ip地址为172.16.5.165 ,做静态NAT到公网,地址为 212.72.10.149 ,远端为另一台友商MCU设备。

客户尚未建立自己独立的网络或VPN,所以租用运营商MCU的一个端口,由运营商建立一个虚拟会议室,本地终端与另一终端通过H323方式自主呼入虚拟会议室从而实现通话,线路及MCU端口均由运营商租用提供。

用户初期采用SIP的方式呼叫,但并未成功,后经其与运营商运维人员协调,采用H323的方式注册gk server,并使用H323协议进行呼叫。本地终端号码及呼叫的号码均由运营商提供。

设备可以成功注册GK服务器,也能呼叫成功,并且可以听到对端运营商MCU发出来的“欢迎加入会议”的提示语及背景音乐,也可以看到经过运营商MCU处理后的图像。   

但约20秒后,呼叫被自动挂断,提示呼叫正常结束。每次呼叫都是这个现象。

组网图如下:

告警信息
无告警
处理过程

1、与运营商相关人员沟通,答复他们相同的方式也租用给了其它局点,均正常,所以自身MCU的配置没有问题,MCU的型号为RMX2000,兼有注册及码流转发功能。

2、让客户尝试降低呼叫带宽、更改视音频分辨率,勾选支持H460、取消华为GK等配置,但均未解决问题。

3、让客户尝试使用其它友商的设备呼叫,使用Polycom软终端采用同样的ip地址,同样的NAT方式,使用H323方式呼叫成功并且不会被挂断,因此推断客户的网络侧配置基本上没有问题。

4、在TE30上抓包,发现前期注册消息及呼叫信令H225协议均正常,H245协议在最后一步打开逻辑通道时出现了reject消息,推断可能是远端拒绝了某个消息,从而挂断了会议。

5、20s即被挂断,判断是某个定时的机制导致了这个问题。TE30有一个默认的设置为定时发送保活包,不同的厂商对于这个保活包的处理机制不通,Polycom的设备可能拒绝了这个保活包,从而挂断了会议。

6、通过ssh方式登录TE30终端,使用debug用户登录,输入“set Q931Keepalive 0”这个命令,关闭定时发送保活包的功能。

7、再次进行呼叫测试,呼叫成功并且不会被挂断,问题解决。

根因
TE30有一个默认设置,定时发送保活包,这个在公私网穿越中常会遇到。不同的厂商对于这个保活包的处理机制不通,Polycom的设备可能拒绝了这个保活包,从而挂断了会议。
解决方案
通过命令行的方式,使用ssh工具,用debug用户登录终端,输入set Q931Keepalive 0这个命令关闭定时发送保活包的机制,Polycom的设备不会收到这种包,就不会主动挂断会议。
建议与总结
与友商的设备呼叫会出现各种互通的问题,20s这种定时就被挂断的情况,在确认线路无问题的情况下,考虑是不是终端某些机制的问题导致的。

END