kamailio与调度程序负载均衡

时间:2015-05-11 06:58:49

标签: kamailio opensips

我正在使用来自调度程序的2个或更多星号服务器配置kamailio。我配置了带有2个星号服务器的调度程序表。

+----+-------+------------------------+-------+----------+---------------------------------------+-------------+
| id | setid | destination            | flags | priority | attrs                                 | description |
+----+-------+------------------------+-------+----------+---------------------------------------+-------------+
|  1 |     1 | sip:*.*.*.*:5160 |     2 |        1 | duid=ABC;maxload=0;my=XYZ             | sip 1       |
|  2 |     1 | sip:*.*.*.*:5160 |     2 |        1 | duid=DEF;weight=10;maxload=1;my=SRV02 | sip 2       |
+----+-------+------------------------+-------+----------+---------------------------------------+-------------+

在kamailio.cfg文件中,我配置为

 ds_select_dst("1", "10");

连接星号时遇到问题。它给出了错误,它从调度员表中首次进入。

错误是:

ERROR: dispatcher [dispatch.c:1748]: ds_select_dst_limit(): no dst ID avp for load distribution - using first entry...

请告诉我ds_select_dest()中带参数10的配置。 我应该放弃什么" dstid_avp"。

1 个答案:

答案 0 :(得分:1)

必须将参数 dstid_avp 设置为AVP变量的名称,并确保除调度程序模块之外的其他任何内容都不使用AVP。例如:

modparam("dispatcher", "dstid_avp", "$avp(dsdstid)")

如果 $ avp(dsdstid)未在配置中的任何其他地方使用,那么一切都应该没问题。 Actuallt,AVP可用于读取其值,但不删除或修改它。

作为额外注释,可能需要设置其他调度程序参数,并附加 _avp (例如,如果您需要重新路由失败),调度程序模块的README中的示例可以是只需采取并添加到kamailio.cfg。