Hi,
I've encountered a problem using db_redis for location, we recently migrated to
redis from mysql and just found out this yesterday.
We are using the usrloc module with db_mode = 2, so the location info is
written to redis every 60 seconds. When restarting, Kamailio reads all the
contacts and loads them into memory, but for some contacts it loads the
“methods” key with an incorrect value.
If in the REGISTER there are no methods kamailio saves it with methods= -1:
{
"jsonrpc": "2.0",
"result": {
"AoR": “zzzzzzz",
"Contacts": [{
"Contact": {
"Address": "sip:[email protected]:5060",
"Expires": 2752,
"Q": -1,
"Call-ID": "[email protected]",
"CSeq": 11,
"User-Agent": “xxxxxxx",
"Received": "sip:W.X.Y.Z:5060",
"Path": "<sip:A.B.C.D;lr;received=sip:W.X.Y.Z:5060>",
"State": "CS_SYNC",
"Flags": 0,
"CFlags": 64,
"Socket": “udp:A.B.C.D:5060",
"Methods": -1,
"Ruid": "uloc-644a176b-6472-4641",
"Instance": "[not set]",
"Reg-Id": 0,
"Server-Id": 0,
"Tcpconn-Id": -1,
"Keepalive": 1,
"Last-Keepalive": 1684246829,
"Last-Modified": 1684246829
}
}]
},
"id": 19286
}
But when restarting kamailio, the same contacts has a methods= 0
{
"jsonrpc": "2.0",
"result": {
"AoR": “zzzzzzz",
"Contacts": [{
"Contact": {
"Address": "sip:[email protected]:5060",
"Expires": 2697,
"Q": -1,
"Call-ID": "[email protected]",
"CSeq": 11,
"User-Agent": “xxxxxxx",
"Received": "sip:W.X.Y.Z:5060",
"Path": "<sip:A.B.C.D;lr;received=sip:W.X.Y.Z:5060>",
"State": "CS_SYNC",
"Flags": 0,
"CFlags": 64,
"Socket": “udp:A.B.C.D:5060",
"Methods”: 0,
"Ruid": "uloc-644a176b-6472-4641",
"Instance": "[not set]",
"Reg-Id": 0,
"Server-Id": 0,
"Tcpconn-Id": -1,
"Keepalive": 1,
"Last-Keepalive": 1684246829,
"Last-Modified": 1684246829
}
}]
},
"id": 19286
}
In the schema file for redis the key is correctly set as int and in redis I can
see it saved as -1.
So when a call comes in, the lookup() function returns a -2 as it doesn’t
support the INVITE method and the call fails.
This is happening in kamailio 5.2.8 and kamailio 5.2.1 (old versions, I know,
we are working on updating it); with mysql as a backend it works perfectly
after a restart.
We do have the param method_filtering=1 , changing to 0 makes it works. We
seem to have this since forever and for what I can see, is not unusual as is in
the default kamailio.cfg provided (even the default value for it is 0).
Has anyone else encountered this?
Thanks!
========================================
Koldo Aingeru Marcos Fdez.
Ingeniería de Sistemas
Sarenet S.A.U.
944209470
Parque Tecnológico, Edificio 103
48170 Zamudio, Bizkaia
www.sarenet.es
========================================
__________________________________________________________
Kamailio - Users Mailing List - Non Commercial Discussions
To unsubscribe send an email to [email protected]
Important: keep the mailing list in the recipients, do not reply only to the
sender!
Edit mailing list options or unsubscribe: