At this point it is a bit challenging to conclude what is wrong :)
The other modules, `acc_diameter`, `acc_raduis` and `acc_json` are using the
`acc_engine` interface and the logic in the acc module is slightly different
because it is using functions like `acc_run_engines`
In these modules it was assumed that `acc_flag` and `missed_flag` should be
stored bit shifted, because of the fact `is_eng_acc_on` was expecting already
bit shifted values.
However the main acc module is not bit shifting them, so this is one thing not
making sense.
(Problem A*) Back to normal ACC module, consider the following combination
found in `acc_logic.c` :
`flags_to_reset |= log_missed_flag;` + `reset_acc_flag(req,
flags_to_reset);`
`log_missed_flag` is what ? (depending on the module it can be 1 or 2)
1: bit shifted, then `reset_acc_flag` is not compatible
`#define reset_acc_flag(_rq,_flag) (resetflag((_rq), (_flag)))`
2: no bit shifted, then we need to use the assignment operator and we can not
keep track of multiple flags.
In fact thanks to the review, I just realized this is not good enough for
fixing normal ACC module behavior, we need to keep track of multiple flags to
reset until the very end of `on_missed` in case the same flag is used for
`db_missed_flag` and `log_missed_flag`, I will revisit my patch.
When I look at `acc_mod.c` and when I debug the running program.
`log_missed_flag` and `db_missed_flag` are not storing bit shifted values, this
is why I think we need to align the acc_engine and modules using it with the
default behavior.
The main acc module logic will also be fixed at the same time since the code
should not always be working well as describer in (A*)
I hope I am not getting confused :)
I will definitely revisit the patch knowing it is not good enough.
--
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/pull/1674#issuecomment-429399926
_______________________________________________
Kamailio (SER) - Development Mailing List
[email protected]
https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-dev