hello all
using version 5.2.0-rc0 of kamailio, we are trying to track the dialogs of dialog module
using db_redis module with this setup
#!define DBURL_DIALOG "redis://127.0.0.1:6390/7"
# ----- dialog params -----
modparam("dialog", "db_url", DBURL_DIALOG)
modparam("dialog", "enable_stats", 1)
modparam("dialog", "hash_size", 16384)
modparam("dialog", "dlg_flag", 31)
modparam("dialog", "dlg_match_mode", 1)
modparam("dialog", "db_mode", 1)
modparam("dialog", "timer_procs", 1)
modparam("dialog", "db_update_period", 1)
# ----- db_redis params -----
modparam("db_redis", "schema_path",
"/usr/local/kamailio/share/kamailio/db_redis/kamailio")
modparam("db_redis", "keys",
"dialog=entry:hash_entry,hash_id,callid")
modparam("db_redis", "keys",
"dialog_vars=entry:hash_entry,hash_id,dialog_key,dialog_value")
and we see it works and if a kamailio instance resets in the middle of a dialog it
recovers all the dlg_vars and values because we have the db_skip_load to 0 in dialog
module.
But we have noticed that the redis is being written with the information of the dlg_var
assigned until that moment when we get a provisional response with SDP, and we dom see a
set on the redis with the dialog entry and id untill call is connected.
Nov 16 13:22:55 proxy-1 /usr/local/kamailio/sbin/kamailio[22424]: INFO: Call-ID
1-1511(a)9.7.8.1: Status 180
Nov 16 13:22:55 proxy-1 /usr/local/kamailio/sbin/kamailio[22424]: WARNING: db_redis
[redis_dbase.c:1489]: db_redis_perform_update(): performing full table scan on table
'dialog' while performing update
Nov 16 13:22:55 proxy-1 /usr/local/kamailio/sbin/kamailio[22424]: WARNING: db_redis
[redis_dbase.c:1492]: db_redis_perform_update(): scan key 0 is 'hash_entry'
Nov 16 13:22:55 proxy-1 /usr/local/kamailio/sbin/kamailio[22424]: WARNING: db_redis
[redis_dbase.c:1492]: db_redis_perform_update(): scan key 1 is 'hash_id'
on the redis (we only see hmset for dialog_vars key)
1542374575.721816 [7 127.0.0.1:56858] "HMSET"
"dialog_vars:entry::13725:16494:_uac_funew:sip:1231215423@voda.interconnect.manxtelecom.im"
"hash_entry" "13725" "hash_id" "16494"
"dialog_key" "_uac_funew" "dialog_value"
"sip:1231215423@voda.interconnect.manxtelecom.im"
1542374575.722001 [7 127.0.0.1:56858] "HMSET"
"dialog_vars:entry::13725:16494:_uac_fu:sip:anonymous@voda.interconnect.manxtelecom.im"
"hash_entry" "13725" "hash_id" "16494"
"dialog_key" "_uac_fu" "dialog_value"
"sip:anonymous@voda.interconnect.manxtelecom.im"
....
Nov 16 13:23:05 proxy-1 /usr/local/kamailio/sbin/kamailio[22425]: INFO: Call-ID
1-1511(a)9.7.8.1: Status 200
Nov 16 13:23:05 proxy-1 /usr/local/kamailio/sbin/kamailio[22425]: WARNING: db_redis
[redis_dbase.c:1489]: db_redis_perform_update(): performing full table scan on table
'dialog_vars' while performing update
Nov 16 13:23:05 proxy-1 /usr/local/kamailio/sbin/kamailio[22425]: WARNING: db_redis
[redis_dbase.c:1492]: db_redis_perform_update(): scan key 0 is 'hash_entry'
Nov 16 13:23:05 proxy-1 /usr/local/kamailio/sbin/kamailio[22425]: WARNING: db_redis
[redis_dbase.c:1492]: db_redis_perform_update(): scan key 1 is 'hash_id'
Nov 16 13:23:05 proxy-1 /usr/local/kamailio/sbin/kamailio[22425]: WARNING: db_redis
[redis_dbase.c:1492]: db_redis_perform_update(): scan key 2 is 'dialog_key'
Nov 16 13:23:05 proxy-1 /usr/local/kamailio/sbin/kamailio[22426]: WARNING: db_redis
[redis_dbase.c:1489]: db_redis_perform_update(): performing full table scan on table
'dialog' while performing update
Nov 16 13:23:05 proxy-1 /usr/local/kamailio/sbin/kamailio[22426]: WARNING: db_redis
[redis_dbase.c:1492]: db_redis_perform_update(): scan key 0 is 'hash_entry'
Nov 16 13:23:05 proxy-1 /usr/local/kamailio/sbin/kamailio[22426]: WARNING: db_redis
[redis_dbase.c:1492]: db_redis_perform_update(): scan key 1 is 'hash_id'
Nov 16 13:23:05 proxy-1 /usr/local/kamailio/sbin/kamailio[22426]: WARNING: db_redis
[redis_dbase.c:1489]: db_redis_perform_update(): performing full table scan on table
'dialog' while performing update
Nov 16 13:23:05 proxy-1 /usr/local/kamailio/sbin/kamailio[22426]: WARNING: db_redis
[redis_dbase.c:1492]: db_redis_perform_update(): scan key 0 is 'hash_entry'
Nov 16 13:23:05 proxy-1 /usr/local/kamailio/sbin/kamailio[22426]: WARNING: db_redis
[redis_dbase.c:1492]: db_redis_perform_update(): scan key 1 is 'hash_id'
Nov 16 13:23:05 proxy-1 /usr/local/kamailio/sbin/kamailio[22426]: INFO: Call-ID
1-1511(a)9.7.8.1: ACK received in A-Leg
on the redis
1542374585.810520 [7 127.0.0.1:56882] "SCAN" "0" "MATCH"
"dialog:entry::*" "COUNT" "1000"
1542374585.810672 [7 127.0.0.1:56882] "EXISTS"
"dialog:entry::13725:16494:1-1511@9.7.8.1"
1542374585.810683 [7 127.0.0.1:56882] "HMGET"
"dialog:entry::13725:16494:1-1511@9.7.8.1" "hash_entry"
"hash_id"
1542374585.810776 [7 127.0.0.1:56882] "HMSET"
"dialog:entry::13725:16494:1-1511@9.7.8.1" "state" "4"
"timeout" "1542377585" "caller_cseq" "1"
"callee_cseq" "0" "caller_contact"
"sip:0000123456@9.7.8.1:5084" "callee_contact"
"sip:50622959898@9.70.1.52:5060;transport=udp"
1542374585.810899 [7 127.0.0.1:56882] "SCAN" "0" "MATCH"
"dialog:entry::*" "COUNT" "1000"
1542374585.810969 [7 127.0.0.1:56882] "EXISTS"
"dialog:entry::13725:16494:1-1511@9.7.8.1"
1542374585.810977 [7 127.0.0.1:56882] "HMGET"
"dialog:entry::13725:16494:1-1511@9.7.8.1" "hash_entry"
"hash_id"
1542374585.811059 [7 127.0.0.1:56882] "HMSET"
"dialog:entry::13725:16494:1-1511@9.7.8.1" "state" "4"
"timeout" "1542377585" "caller_cseq" "1"
"callee_cseq" "0" "caller_contact"
"sip:0000123456@9.7.8.1:5084" "callee_contact"
"sip:50622959898@9.70.1.52:5060;transport=udp"
i don't see a redis set order to update the dialog entry key before the 200OK is
received, to create and update state 1, etc. when created with dlg_manage command
could you please check if we might be missing something?
thanks a lot and regards
david