经常有客户向我们咨询:为什么我听不到对方的声音?为什么双方听不到对方的声音? 这个问题的根本原因可能是NAT(网络地址转换)屏蔽或者丢失了语音流。在大多数场景中,我们发现 SIP 设备,包括 SIP 电话、软终端以及网关等,总是部署在路由器后面,配置私网地址,路由器采用NAT进行公网与私网地址的转换。
如果您的路由器支持ALG(Application Level Gateway, 应用网关)功能,请检查这些配置,关闭所有与SIP相关的项试试。根据我们的实践经验,绝大多数路由器在处理“SIP应用网关”功能时都存在大量的问题。
如果您的SIP电话或者SIP设备是部署在私网内,大多数情况下,您需要配置STUN(Simple Traversal of UDP through NATs)服务器帮助SIP终端设备路由UDP包,包括语音流。大多数SIP设备(以及SIP终端软件)都支持STUN协议。
例如,下图是 microSIP 的 STUN 配置。
我们推荐以下STUN服务器:
如果尝试上述各项配置后,问题依旧,此时您可以尝试在分机的配置中,设置“转发媒体流”。如此设置之后,SIP服务器将转发该分机的媒体流(仅支持转发语音流)。由于媒体流将通过远端服务器进行转发,因此如果网络状况不理想的话,会影响语音质量。