Hello. I use this version of kamailio
kamailio -v
version: kamailio 4.3.0-dev4 (x86_64/linux) a6510b
flags: STATS: Off, USE_TCP, USE_TLS, TLS_HOOKS, USE_RAW_SOCKS,
DISABLE_NAGLE, USE_MCAST, DNS_IP_HACK, SHM_MEM, SHM_MMAP, PKG_MALLOC,
F_MALLOC, DBG_F_MALLOC, USE_FUTEX, FAST_LOCK-ADAPTIVE_WAIT, USE_DNS_CACHE,
USE_DNS_FAILOVER, USE_NAPTR, USE_DST_BLACKLIST, HAVE_RESOLV_RES
ADAPTIVE_WAIT_LOOPS=1024, MAX_RECV_BUFFER_SIZE 262144, MAX_LISTEN 16,
MAX_URI_SIZE 1024, BUF_SIZE 65535, DEFAULT PKG_SIZE 8MB
poll method support: poll, epoll_lt, epoll_et, sigio_rt, select.
id: a6510b
compiled on 05:30:34 Feb 18 2015 with gcc 4.8.2
Now i Have some problems with redis.
I try to get some replies from redis. Time after time redis request give
me null result.
I see this error at log when this reply received
redisc_exec(): Redis error: Server closed the connection
This happens only with websocket endpoints. My queries is:
redis_cmd("srv1", "EXISTS $si", "s");
So at xLOG i see that $si correctly sended, but result is null. At db I
keep key IP with value TIMESTAMP
Intresting that route, that gives me this result idependend of WS or UDP
endpoint. IT does not know about it anything.
I try to cach redis-cli: monitor log, but this answered me nothing.
I Logging $si before redis replies and it is ok.
My exaple of ROUTE that takes this walues from redis is:
route[TOASTERISK] {
redis_cmd("srv1", "EXISTS $si", "s");
xlog("L_INFO","ASTERISK with ip $si is {$redis(s=>value)}");
}
Asterisk sends me option method requests every 10 seconds and I set it to
redis with key
$si and value $TS
IT lives at redis 20 seconds and rewrites with every new request
so when invite come to kamailio it just check - does this key exists (ROUTE
TOASTERISK)
When I catch this error (null) I look at redis and see that key exisit. But
it does not mateer. If it not exisit redis myst reply with 0. Now with null.