首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用openser/opensips的asterisk负载均衡

使用openser/opensips的asterisk负载均衡
EN

Stack Overflow用户
提问于 2009-07-10 21:56:20
回答 2查看 4.2K关注 0票数 1

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

提前谢谢你

EN

回答 2

Stack Overflow用户

发布于 2010-03-05 08:30:42

dispatcher模块不能执行任何类型的负载平衡。它是一个“无状态”模块,这意味着它不会记录有多少调用被发送到每个机器。

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

代码语言:javascript
复制
“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的路由部分调用以下函数:

代码语言:javascript
复制
ds_select_dst("1", "5");

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

有关更多信息,请查看this page

希望这能有所帮助

票数 0
EN

Stack Overflow用户

发布于 2010-03-05 08:35:40

dispatcher模块无法做到这一点。你必须使用(惊喜!) load balancer module

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1112191

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档