我正在使用来自调度程序的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"。
答案 0 :(得分:1)
必须将参数 dstid_avp 设置为AVP变量的名称,并确保除调度程序模块之外的其他任何内容都不使用AVP。例如:
modparam("dispatcher", "dstid_avp", "$avp(dsdstid)")
如果 $ avp(dsdstid)未在配置中的任何其他地方使用,那么一切都应该没问题。 Actuallt,AVP可用于读取其值,但不删除或修改它。
作为额外注释,可能需要设置其他调度程序参数,并附加 _avp (例如,如果您需要重新路由失败),调度程序模块的README中的示例可以是只需采取并添加到kamailio.cfg。