- updating code base to actual state. - adding repliation for DLG_STATE_EARLY to prevent hanging up unconfirmed dialogs and its infinite replication. - fixing dialog removal on peers to prevent die on timeout and possible infinite replication. - fixing dialog removal on peers when master node cleanly restart. You can view, comment on, or merge this pull request online at:
https://github.com/kamailio/kamailio/pull/831
-- Commit Summary --
* Adding dialog replication via DMQ
-- File Changes --
M modules/dialog/dialog.c (14) M modules/dialog/dlg_db_handler.c (6) A modules/dialog/dlg_dmq.c (604) A modules/dialog/dlg_dmq.h (48) M modules/dialog/dlg_handlers.c (67) M modules/dialog/dlg_hash.c (8) M modules/dialog/dlg_hash.h (2) M modules/dialog/dlg_profile.c (2) M modules/dialog/doc/dialog_admin.xml (23)
-- Patch Links --
https://github.com/kamailio/kamailio/pull/831.patch https://github.com/kamailio/kamailio/pull/831.diff
Thanks, useful patch!
One thing, two new global variables are defined, exported as module parameters, but they are not actually used:
``` int dlg_id_offset = 1; int dlg_id_increment = 1; ```
By name, I guess they are intended to be used for dialog id generation, but no code or docs related to them.
We are glad to help improving kamailio. Our company is very interested in this feature (and some other - now troubleshooting dmq_usrloc). Yeah, I'm so sorry - I missed this variables during last code clean - fuction which use them was removed.
So, you say they are not needed for the new functionality to work properly, right?
Of courese not. Do not get me wrong. dlg_dmq works proprely, we double check they funcs and stability before I write for you. I'm already have a commit, which removes those two unused variables.
@Soapnix pushed 1 commit.
586fe44 dialog: removing unused DMQ variables
Merged #831.
I quickly scanned the current code, but fail to see how hash id collisions are avoided now that dlg_id_offset/increment are removed. Can you elaborate on that?
No explanation?
We are working on it.