使用openser / opensips进行星号负载平衡

时间:2009-07-10 21:56:20

标签: load-balancing voip sip openser

我需要将来电平衡到星号。为此,我在其前面设置了Openser服务器,然后我加载并配置了调度程序模块。我想要做的是Openser服务器将接收呼叫并将它们路由到最不“忙”的Asterisk服务器,该服务器将负责其余部分(我在每个服务器中设置了IVR菜单)。我正在使用X-Lite软电话进行测试。在Asterisk和Openser中都注册了相同的用户。当我发起呼叫它只是通过Openser服务器时,它不会被转发到任何Asterisk框。我想知道我是否缺少设置中的任何配置或步骤。

提前谢谢

2 个答案:

答案 0 :(得分:0)

调度程序模块无法执行任何类型的负载平衡。它是一个“无状态”模块,这意味着它不会跟踪每个盒子发送的呼叫数量。

您可以选择不同类型的路由逻辑,可用的类型是:

“0” - hash over callid
“1” - hash over from uri.
“2” - hash over to uri.
“3” - hash over request-uri.
“4” - round-robin (next destination).
“5” - hash over authorization-username 
“6” - random (using rand()).
“7” - hash over the content of PVs string.
“X” - if the algorithm is not implemented, the first entry in set is chosen.

最有可能公平分配负载的是循环(选项5)。

要使用它,请在openser.cnf的路径部分调用以下函数:

ds_select_dst("1", "5");

第一个参数是您的GW组,第二个参数是路由类型。

有关详情,请查看this page

希望这有帮助

答案 1 :(得分:0)

调度程序模块不能这样做。你必须使用(惊喜!)load balancer module