本文档将介绍 3CX 系统在运行时如何在网络中传输 SIP,音频和数据流量。这取决于后端基础架构和网络拓扑,本指南可以帮助管理员了解 3CX 在不同场景下的运行方式。
文档中使用的术语:
- SIP – 这是一个在双方之间创建和控制会话的协议。
- 音频(Audio) – 如果呼叫被建立,就将使用不同的路由发送音频。呼叫传输期间的数据称为“音频”,其中也包括视频和传真。这也被称为 SDP。
- VoIP – SIP 和音频都被称作 VoIP。
- 数据(Data) – 除了 VoIP 以外的流量,其中包括网络流量,电子邮件之类的数据。
注意:
- 网络设置不在 3CX 提供的支持范围内。
- 在大多数情况下,您需要配置 Qos以确保 VoIP 流量在网络中可靠传输。
本篇文档将介绍下列类型的网络:
- 简单网络:VoIP 和数据都在一个简单网络中传输。
- 路由网络:VoIP 和数据在两个网络中传输(或者使用 VLANs)。路由器负责在这两个网络之间传输数据。
- VoIP 隔离网络:VoIP 在隔离的数据中传输。路由由两个连接到 3CX 上的网卡负责完成。
- 公网 – NAT:两边的网络数据直接在公网中传输。
- 公网 – VPN:两边的网络数据经由 LAN-TO-LAN 的 VPN 传输。
- 多个互联网网关:通过单独的网络传输 VoIP 流量的场景。
简单网络中的 3CX 网络配置
这是最常见的一种情况,所有设备都在一个网络中,并且 VoIP 和数据共享一个网络。
3CX 系统处理 SIP 流量,音频由 VoIP 终端点对点传输。3CX 系统由一个带有默认网关的网卡连接到网络。
路由网络中的 3CX 网络配置
在网络中,您通常会有两个或以上的隔离网络,比如一个网络由一个部门使用,另一个网络由另一个部门使用,或者您希望 VoIP 流量与数据走不同的网络。
在这种情况下,路由器负责将流量从一个网络送到另一个网络。3CX 电话系统连接到其中一个网络,并用于创建两个终端之间的通信(SIP 部分)。建立连接后,音频将直接在两个终端之间传输。如果两个终端位于不同的网络,则由路由器来负责传输终端之间的音频数据。
背景:3CX 系统会识别从不同子网注册的话机。如果 3CX 系统识别到有第二个网络,将会开启 “旁路音频(By-Pass-Audio)”。
如果您遇到两个终端之间跨网络相关的问题,则需要检查路由器级别的流量,因为这是最主要的通信点。
VoIP 隔离网络中的 3CX 网络配置
一些路由器不支持多个内部网络。然而管理员依然想创建第二个网络,一般这个网络只给 VoIP 使用。这可以向安装 3CX 系统的服务器添加网卡来实现。
上图展示了 3CX 系统通过两张网卡连接到两个不同的网络。网络 A 传输数据,但 VoIP 流量仍可在此网络传输,比如使用软电话的时候。网络 B 用来传输 VoIP 数据。因为服务器有两个网卡,所以 3CX 可以连接到两个网卡。
重点:在这种场景下,你需要做下列配置:
- 3CX 系统连接路由器/网关的网卡必须包含指定的默认网关。
- 3CX 系统连接网络 B 的网卡不能指定默认网关。这一项需要留空。
背景:3CX 系统会检测从网络 A 到网络 B 是否存在已知路由。因此,当 3CX 是两个网络之间传输音频的唯一方法。当有呼叫横跨两个网络时,3CX 系统会开启 “代理音频(By-Pass Audio)”。
公网 – NAT 中的 3CX 网络配置
上图展示了一台终端通过互联网远程连接到了 3CX 系统。远端的网络与公司网络是完全隔离的。
在这种情况下,当一个终端在 LAN ,另一个终端在 WAN,这通通话的 SIP 和音频都会经过 3CX 传输。如果终端的两侧都在 WAN 下那么也是一样的情况。如果两个终端设备的公网 IP 一样也有可能出现这种情况,因为两个终端可能处在两个路由无法抵达的复杂的隔离网络中。
需要在公司的网关上做 NAT 端口转发。这样远程的终端可以作为一个 3CX 系统的外部分机进行通信。当 3CX 系统检测到远程终端时,会在为它创建音频 SDP 时为外部 Leg 配置端口。3CX 系统更多端口转发的信息可以阅读。
一些家用路由器会开启 SIP ALG 选项,我们需要关闭它。比如在 Thomson 路由器上需要使用 telnet 来关闭 SIP ALG。
公网 – VPN 中的 3CX 网络配置
这个例子战士了一个远程用户通过 VPN 连接。事实上,3CX 系统会将这个远程用户视为另一个网络中的本地用户。在这种情况下,有路由器/网关负责路由传输。VPN 是横跨互联网的 LAN 到 LAN 的连接方式。对于 3CX 系统来说,设置的规则应该与 “路由网络” 相同。
因为处于两个不同网络中的终端都使用内网 IP 地址进行注册,因此只有 SIP 信令会经过 3CX,音频依然是两个终端之间相互传输。这节省了带宽和开销。
注意:如果在不同地方有多个 LAN 到 LAN 的连接,必须正确配置 VPN 路由。比如,如果你连接了 3 个地区(网络 A, B 和 C),每个地方的网络都是相互直接连接,或者必须配置其中一个 VPN 网关以将流量路由到正确网络。在我们的例子中(下图 2),网络 A 中的 VPN 路由器是分配其他网络路由的网关。在这种情况下,网络 B 中的路由器需要配置为通过网络 B 发送到网络 C。这同样适用于网络 C 到网络 B 的数据。
多个互联网网关(使用 ISP 提供的 VoIP 服务)中的 3CX 网络配置
安装了两个独立的网关/路由器 – 一个用于访问英特网。另一个用来传输 VoIP。这样可以隔离 VoIP 流量和数据流量。
服务器需要有两个网卡。网卡 1 接连接网络的网关或者接口。这个网卡接口必须有一个指定的默认网关。网卡 2 连接 ISP 提供的 VoIP 网络的网关或接口。这个网络接口一定不能配置默认的网关。
如何在没有默认网关的情况下将 VoIP 流量发送到指定接口?
步骤 1:在服务器上开启 “Windows 路由和远程访问(Windows Routing and Remote access)”,让 RRAS 将发往 VoIP 网关的流量从 VoIP 接口路由出去。在 Windows Server 2008 上启用此选项的方法是:服务器管理器 > 添加角色 > 选择网络策略和访问服务 > 选择路由和远程访问服务复选框。
步骤 2:创建静态路由。配置如下:
- Interface:选择网卡 2 接口 – Windows Server 上的 VoIP VPN 接口,是与 ISP 的 VoIP 网关或接口的点对点连接。
- Destination:通过 VoIP 接口访问 VoIP 提供商的目标 IP。
- Network Mask:网络的子网掩码。
- Gateway:这里我们填入默认的网关。在这种情况下,我们填入 VoIP 网关接口的 IP 地址。这将是将默认网关放入 Windows 网卡 2 的代替方式。
- Metric:256 表示最大成本。
上面的屏幕截图显示连接到 Internet 网关的 NIC 具有指定的默认网关,而连接到VoIP网关的适配器则没有。 但是,作为替代,我们将使用Windows路由和远程访问服务将流量路由到VoIP接口的默认网关。