Sign inGet Started

在多个网关之间故障转移和分配来电

SIP 中继的路由决定如何处理每个来电:在一组网关中寻线、拒绝来电,或将来电转接到已验证的号码。寻线组是一份网关列表,Bird 会依次尝试其中的网关,直到有一个应答。组的顺序、优先级、权重和振铃时长决定哪个网关先振铃,以及它未应答时如何处理。本页介绍如何为故障转移和负载分担进行设置。

开始之前

  • 一个已开启呼入并至少有一个网关的 SIP 中继。设置 SIP 中继 介绍了这两项。如果中继的路由从未保存过,在您添加第一个网关时,控制台会将默认路由指向 All gateways (automatic),即包含该中继所有网关的组。
  • 要组合的网关,需已在中继的 Inbound routing > Gateways 标签页中添加。

寻线组如何寻线

每个来电都会启动一次寻线。Bird 为该来电对组内网关排序,先呼叫第一个网关,失败时转到下一个:

  • 网关按其 Ring time 振铃,范围为 1 到 120 秒(默认 30 秒)。如果在此时间内无人应答,Bird 会转到下一个网关。
  • 完全没有响应的网关会在短暂间隔后被跳过,因此宕机的网关不会让来电者等完整个振铃时长。
  • 如果网关以 SIP 失败代码拒绝来电,寻线会转到下一个网关,除非该代码列在组的 Stop the hunt on 中。
  • 当某个网关接听,或组内所有网关都已尝试过时,寻线结束。

Bird 对每通呼叫单独排序,不在呼叫之间保留轮转状态,因此没有轮询。均匀分配来自多通呼叫上的随机排序或加权排序。

顺序如何为每通呼叫排列网关适用场景
Sequential按列表顺序,从上到下固定的主网关和备用网关
Random每次重新生成随机顺序均匀分配呼叫
Weighted先按 Priority 从低到高排列。同一优先级内采用随机顺序,每个网关排在首位的概率等于其权重在总权重中的占比同时实现故障转移和按权重分配

使用自动组

中继的每个网关都属于 All gateways (automatic),除非中继已保存的路由用自己的组替代了它(见本节末尾)。您添加或移除的网关会随之加入或离开该组。该组使用 Weighted 顺序、相同的权重和 30 秒振铃时长,并按您在 Gateways 标签页中设置的 Priority 顺序尝试各网关。在组本身中,其名称、Order、振铃时长和成员都无法编辑。

如需通过该组实现故障转移,请在 Gateways 标签页中为主网关设置比备用网关更低的 Priority。Priority 相同的网关会平均分担呼叫。如需其他振铃时长、权重或 Stop the hunt on 代码,请添加一个包含相同网关的自定义组,具体见后续各节。

如果控制台在您添加第一个网关时创建了名为 All gateways 的组,那么它是您自己的组:它只包含保存时的网关。如果 Groups 标签页中没有 All gateways (automatic),说明中继已保存的路由用一个自己的组替代了它,该组通常名为 All gateways。删除这个组后,自动组会恢复到原位置:原先转到该组的呼叫随后会按 Priority 顺序、以 30 秒振铃时长呼叫所有网关。如果该组包含您需要的网关、振铃时长或 Stop the hunt on 代码,请保留它。

设置故障转移

  1. 打开 Voice > SIP Trunks,打开该中继,然后进入 Inbound routing > Groups。
  2. 打开一个自定义组,或选择 Add group 并为其命名。All gateways (automatic) 无法编辑。
  3. 使用 Add gateway to group 添加主网关和备用网关。
  4. 将 Order 设为 Sequential,并使用 Move up 和 Move down 让主网关保持在最上方。也可以将 Order 设为 Weighted,并将主网关的 Priority 设为 1、备用网关的 Priority 设为 2。
  5. 设置每个网关的 Ring time。主网关的振铃时间越短,未接听的呼叫就越早转到备用网关。
  6. 在 Rules 标签页中,将 Default route 的 Then 设为 Route to group 并选择该组,或将某条规则指向该组。没有任何路由使用的组不会接收呼叫。
  7. 选择 Review and save,然后确认。

在网关之间分配呼叫

  1. 打开该中继的 Inbound routing > Groups。打开一个自定义组,或选择 Add group 并为其命名,然后使用 Add gateway to group 添加网关。
  2. 将 Order 设为 Weighted,为各网关设置相同的 Priority,并将每个网关的 Weight 设为 1 到 100 之间的值。权重为 70 和 30 时,两个网关分别接收约 70% 和 30% 的呼叫。如需平均分配,请使用相同的权重,或将 Order 设为 Random。
  3. 如果还要保留备用网关,请将分担呼叫的网关设为 Priority 1,将备用网关设为 Priority 2。只有当所有优先级为 1 的网关都失败后,备用网关才会振铃。
  4. 在 Rules 标签页中,将 Default route 的 Then 设为 Route to group 并选择该组,或将某条规则指向该组。
  5. 选择 Review and save,然后确认。

遇到忙音时停止寻线

默认情况下,Bird 在每次失败后都会尝试下一个网关。如果某种失败意味着换一个网关也无济于事,请将其代码添加到组的 Stop the hunt on 中。例如,添加 486(Busy Here),这样正在通话的人就不会通过第二个网关再次被呼叫。可以输入 400 到 699 之间的任意代码。

将不同的呼叫路由到不同的组

一个中继可以有多个组。Default route 将未匹配任何规则的呼叫发送到一个组,Rules 标签页中的规则可以将其他呼叫发送到其他组。将呼叫送达 SIP 中继介绍了规则和默认路由。

故障排除

现象检查内容
备用网关从不振铃备用网关位于默认路由(或匹配的规则)所使用的组中。使用 Weighted 时,其 Priority 数值高于主网关。Stop the hunt on 中的某个代码在轮到备用网关之前就结束了寻线
使用 Weighted 时所有呼叫都由一个网关接听优先级不同的网关不会分担呼叫。请为它们设置相同的 Priority
呼叫在转到备用网关前振铃时间过长调低主网关的 Ring time
某个网关从不振铃该网关不在任何规则或默认路由所使用的组中。保存时,控制台会提示 Calls never reach some gateways

后续步骤

页面涵盖内容
设置 SIP 中继按顺序完成整个中继设置,从创建到测试呼叫
接听呼叫号码路由、规则、默认路由和被拒绝的呼叫
语音故障排查根据症状诊断通话问题

继续查看此主题的文档、指南和示例。