Hi,
What is the Kamailio version you are using?
Your issue looks like the one described in this issue:
https://github.com/kamailio/kamailio/issues/2461
If you cannot upgrade Kamailio to a fixed version, you could use Redis sentinel instead of a Redis cluster.
Julien
De : sr-users <sr-users-bounces@lists.kamailio.org> au nom de Maharaja Azhagiah <er.maharaja@gmail.com>
Répondre à : "sr-users-bounces@lists.kamailio.org" <sr-users-bounces@lists.kamailio.org>
Date : mercredi 2 mars 2022 à 02:35
À : "sr-users@lists.kamailio.org" <sr-users@lists.kamailio.org>
Objet : [SR-Users] ndb_redis - redis-cluster error
Hi All,
I am new to Kamailio and testing location server using kamailio and redis-cluster.
My setup is simple: All SIP REGISTER messages will be forwarded to this location-server. The server checks for AUTH and then needs to save the usrloc in redis-cluster.
I have hiredis and hiredis-cluster libraries installed
I am using ndb_redis to support redis-cluster with below configuration:
modparam("ndb_redis", "server", "name=172.17.0.3:7000;addr=172.17.0.3;port=7000")
modparam("ndb_redis", "server", "name=172.17.0.4:7001;addr=172.17.0.4;port=7001")
modparam("ndb_redis", "server", "name=172.17.0.5:7002;addr=172.17.0.5;port=7002")
modparam("ndb_redis", "server", "name=172.17.0.6:7003;addr=172.17.0.6;port=7003")
modparam("ndb_redis", "server", "name=172.17.0.7:7004;addr=172.17.0.7;port=7004")
modparam("ndb_redis", "server", "name=172.17.0.8:7005;addr=172.17.0.8;port=7005")
modparam("ndb_redis", "cluster", 1)
If SIP method is REGISTER, Kamailio sends redis_cmd to store as below:
redis_cmd("172.17.0.3:7000", "sadd %s %s", "location:usrdom::437780082:mazhagiah.sip.zang.io", "location:entry::$xavp(ulrcd=>ruid)",
"r");
However, redis-cluster replies with MOVED message, but kamailio / ndb_redis throughs error as below:
0(3915) DEBUG: ndb_redis [redis_client.c:391]: redisc_get_server(): Hash 2590462363 (172.17.0.3:7000)
0(3915) DEBUG: ndb_redis [redis_client.c:395]: redisc_get_server(): Entry 2591109923 (172.17.0.8:7005)
0(3915) DEBUG: ndb_redis [redis_client.c:395]: redisc_get_server(): Entry 2590232843 (172.17.0.7:7004)
0(3915) DEBUG: ndb_redis [redis_client.c:395]: redisc_get_server(): Entry 2590175467 (172.17.0.6:7003)
0(3915) DEBUG: ndb_redis [redis_client.c:395]: redisc_get_server(): Entry 2590347603 (172.17.0.5:7002)
0(3915) DEBUG: ndb_redis [redis_client.c:395]: redisc_get_server(): Entry 2590290227 (172.17.0.4:7001)
0(3915) DEBUG: ndb_redis [redis_client.c:395]: redisc_get_server(): Entry 2590462363 (172.17.0.3:7000)
0(3915) DEBUG: ndb_redis [redis_client.c:896]: redisc_exec(): rsrv->ctxRedis = 0x558e4d739210
0(3915) DEBUG: ndb_redis [redis_client.c:903]: redisc_exec(): rsrv->ctxRedis = 0x558e4d739210
0(3915) DEBUG: ndb_redis [redis_client.c:957]: redisc_exec(): rpl->rplRedis->type:6
0(3915) ERROR: ndb_redis [redis_client.c:959]: redisc_exec(): Redis error:MOVED 10082
172.17.0.4:7001
0(3915) DEBUG: <core> [sruid.c:182]: sruid_next(): new sruid is [uloc-621e8438-f4b-b] (11 / 19)
0(3915) DEBUG: registrar [save.c:410]: pack_ci(): generated ruid is: uloc-621e8438-f4b-b
0(3915) DEBUG: <core> [sruid.c:182]: sruid_next(): new sruid is [uloc-621e8438-f4b-c] (12 / 19)
Please help if I am missing anything with my configuration or library.
Thanks
Raja