为什么语音单通,甚至双不通?

经常有客户向我们咨询:为什么我听不到对方的声音?甚至为什么双方都听不到声音?这个问题的根本原因可能是防火墙过滤了语音流,或者NAT(网络地址转换)屏蔽或者丢失了语音流。在大多数场景中,我们发现SIP设备,包括SIP电话、软终端以及网关等,总是部署在私网内部,配置私网地址,路由器采用NAT进行公网与私网地址的转换。

另外,如果您的路由器支持ALG(应用网关)功能,请检查这些配置,关闭所有与SIP相关的项试试。根据我们的实践经验,绝大多数路由器在处理“SIP应用网关”功能时都存在大量的问题。

方法1: 防火墙

如果您在VoIP网络中部署了防火墙,您可以尝试关闭防火墙进行测试。如果这种情况下能解决问题,说明您需要和网络管理员确认,为VoIP应用开放某些特定的端口(通常都是UDP端口)。SIP网络通常会采用以下一些端口:5060, 5061, 10000~20000端口等。

方法2: STUN

如果您的SIP电话或者SIP设备部署在私网内部,大多数情况下,您需要设置STUN(Simple Traversal of UDP through NATs)服务器帮助SIP终端进行私网穿越。大多数SIP设备(以及SIP终端软件)都支持STUN协议。

下图是Xlite软终端中配置STUN服务器。我们采用Xlite默认的STUN服务器: stun.counterpath.net 。

STUN configuration in X-lite

如果您的MSS部署在公共网络、采用公共IP地址,您可以采用MSS作为您的STUN服务器,因为MSS内嵌了STUN服务。当然,您也可以使用我们的公共STUN服务器(功能相对比较简单):stun.minisipserver.com。

我们推荐以下STUN服务器:

方法3: 转发媒体流

另一方面,我们可以试试配置MSS转发媒体流。在分机的配置窗体中,请点击“媒体类业务”页面,并配置“转发媒体流”项。

Configure MSS to relay media stream

需要强调的是:如果配置MSS转发媒体流,SIP电话(设备)的媒体流都将全部转发给MSS。这会导致服务器比较沉重的负荷。另一方面,MSS不支持转发视频流。

方法4: 解除干扰

某些地区运营商会干扰、拦截SIP信令,遇到这种情况时,可以试试修改标准的SIP端口或者采用“基于TCP的SIP”,请参考以下两篇文档的说明:

进一步了解

我们有两篇文档进一步描述了这个问题的诸多细节。如果您有兴趣,请访问以下文档:

为什么会语音单通甚至双不通?

如何解决语音单通甚至双不通的问题?