New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
dlgs v5.4.* dlgs_count wrong number #2568
Comments
- count the dialog in initial state - GH #2568
Thanks for the report and analysis. Can you test with master branch or using the patch from the commit referenced above? If works, then I will backport to 5.4 branch. |
The dlgs_tags_count() function also has this problem. |
Ihave tested with the patch from the commit , it works.
and it works |
I think you may need to check this module thoroughly. I just discovered that the dlgs.get and dlgs.getall functions also have bugs. |
Thanks, fixed also the dlgs_tags_count(). I will backport the patches. If you found problems with the rpc commands, describe them to be fixed, they can be specific for your use case. |
I am closing this one, if you find other issues in the dlgs module, open a new item in the tracker. Thanks! |
Description
Recently I upgraded kamailio to 5.4.2 using the dlgs module. No matter how many calls I make, the dlgs_count() and dlgs_tags_count() always return 1. After viewing the source code, I found the following bugs
Troubleshooting
Reproduction
dlgs_init($fu,$tu,"data");
dlgs_update();
dlgs_count("any","eq","1");
and then make several calls, the dlgs_count always return 1.
Debugging Data
Log Messages
nn
SIP Traffic
Possible Solutions
I find the
ki_dlgs_count
functions always return 1;I modified the retrun value = 10086, then the
dlgs_count
always return 10086 ! !I modified the return value = dlgs_count(msg, vfield, vop, vdata); then I found the dlgs_count always return 0; obviously there is still something wrong.
then I run the dlgs_ht_dbg() in the dlgs_count (dlgs_records.c) and get some useful dbg log as above.
as the picture shows,the slots[i].astats.c_init is always 0 or -1. I think maybe c_init is not initialized to 1 when dlgs_init . and I add the c_init's initial logic in the dlgs_add_items() then everything is fine !
Additional Information
The text was updated successfully, but these errors were encountered: