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

2019-07-29 11:20:54
本篇将通过案例为大家讲解华为TE30连接polycom MCU成功之后被定时挂断问题的解决方法:
 
本地一台华为TE30,部署在客户内网,ip地址为172.*.*.165 ,做静态NAT到公网,地址为 212.*.*.149 ,远端为另一台友商MCU设备。
 
客户尚未建立自己独立的网络或VPN,所以租用运营商友商MCU的一个端口,由运营商建立一个虚拟会议室,本地终端与另一终端通过H323方式自主呼入虚拟会议室从而实现通话,线路及MCU端口均由运营商租用提供。
 
用户初期采用SIP的方式呼叫,但并未成功,后经其与运营商运维人员协调,采用H323的方式注册gk server,并使用H323协议进行呼叫。本地终端号码及呼叫的号码均由运营商提供。
 
设备可以成功注册GK服务器,也能呼叫成功,并且可以听到对端运营商MCU发出来的“欢迎加入会议”的提示语及背景音乐,也可以看到经过运营商MCU处理后的图像。   
 
但约20秒后,呼叫被自动挂断,提示呼叫正常结束。每次呼叫都是这个现象。
 
组网图如下:
 
te30组网图.jpg
 
 

 处理过程

1、与运营商相关人员沟通,答复他们相同的方式也租用给了其它局点,均正常,所以自身MCU的配置没有问题,友商MCU兼有注册及码流转发功能。
 
2、让客户尝试降低呼叫带宽、更改视音频分辨率,勾选支持H460、取消华为GK等配置,但均未解决问题。
 
3、让客户尝试使用其它友商的设备呼叫,使用P友商软终端采用同样的ip地址,同样的NAT方式,使用H323方式呼叫成功并且不会被挂断,因此推断客户的网络侧配置基本上没有问题。
 
4、分析TE30的信令消息,发现前期注册消息及呼叫信令H225协议均正常,H245协议在后一步打开逻辑通道时出现了reject消息,推断可能是远端拒绝了某个消息,从而挂断了会议。
 
  
 
5、20s即被挂断,判断是某个定时的机制导致了这个问题。TE30有一个默认的设置为定时发送保活包,不同的厂商对于这个保活包的处理机制不通,P友商的设备可能拒绝了这个保活包,从而挂断了会议。
 
6、通过ssh方式登录TE30终端,使用debug用户登录,输入“set Q931Keepalive 0”这个命令,关闭定时发送保活包的功能。
 
7、再次进行呼叫测试,呼叫成功并且不会被挂断,问题解决。
 

 根因

TE30有一个默认设置,定时发送保活包,这个在公私网穿越中常会遇到。不同的厂商对于这个保活包的处理机制不通,P友商的设备可能拒绝了这个保活包,从而挂断了会议。

 解决方案

通过命令行的方式,使用ssh工具,用debug用户登录终端,输入set Q931Keepalive 0这个命令关闭定时发送保活包的机制,P友商的设备不会收到这种包,就不会主动挂断会议。

 建议与总结

与友商的设备呼叫会出现各种互通的问题,20s这种定时就被挂断的情况,在确认线路无问题的情况下,考虑是不是终端某些机制的问题导致的。
相关案例