在讲解“ 为什么使用3CX要关闭SIP ALG ”之前我们先介绍下应用层网关 (ALG)Application Layer Gateway Service。简称“ALG”(也叫应用层防火墙或应用层代理防火墙)。
什么是ALG?
ALG是管理特定应用协议(如SIP(会话发起协议)和FTP(文件传输协议))的软件组件。ALG充当Internet和可以理解应用程序协议的应用程序服务器之间的中介。 ALG显示为端点服务器,并控制是允许还是拒绝应用程序服务器的流量。它通过拦截和分析指定的流量,分配资源以及定义动态策略以允许流量通过网关来实现此目的。
ALG具有以下功能:
- 它允许客户端应用程序使用动态TCP / UDP端口与服务器应用程序使用的已知端口进行通信,即使防火墙配置仅允许通过有限数量的端口进行通信。 如果没有ALG,端口将被阻止,或者网络管理员需要在防火墙中打开大量端口,削弱网络并允许对这些端口的潜在攻击。
- 它识别特定于应用程序的命令并对其进行安全控制。
- 它可以转换在应用程序有效负载中找到的网络层地址信息。
- 在主机之间同步多个流或会话。
为什么禁用SIP ALG
上面我们介绍了ALG,也了解了他的功能,那为什么我们使用3CX要关闭SIP ALG呢。SIP ALG是大多数路由器上的一项功能,旨在帮助用户访问私有IP地址,但在许多情况下,它实现得很差,实际上可能导致比解决的问题更多的问题!
当SIP ALG处于活动状态时,它可以以意想不到的方式修改呼叫的SIP数据包,破坏它们并使其不可读。
这可能会导致呼叫被丢弃或被拒绝,导致音频丢失和注册失败。
SIP ALG可能是一个棘手的角色,因为它可以间歇性地引起问题并且可能似乎消失,但通常只是等待再次出现问题。
这就是为什么我们在使用3CX时建议您在路由器和防火墙上关闭SIP ALG的原因。一旦它被禁用,你会发现所有问题都消失了,你可以回到享受清晰的VoIP通话。