kamailio
kamailio copied to clipboard
siptrace: handle trace_to_database param at runtime
Pre-Submission Checklist
- [x] Commit message has the format required by CONTRIBUTING guide
- [x] Commits are split per component (core, individual modules, libs, utils, ...)
- [x] Each component has a single commit (if not, squash them into one commit)
- [x] No commits to README files for modules (changes must be done to docbook files
in
doc/subfolder, the README file is autogenerated)
Type Of Change
- [ ] Small bug fix (non-breaking change which fixes an issue)
- [x] New feature (non-breaking change which adds new functionality)
- [ ] Breaking change (fix or feature that would change existing functionality)
Checklist:
- [x] PR should be backported to stable branches
- [x] Tested changes locally
- [ ] Related to issue #XXXX (replace XXXX with an open issue number)
Description
This change allows to enable/disable the insertion of SIP traces into the DB at runtime (i know we could do this with siptrace.status, but this is a different case).
This feature is strictly important if you start Kamailio with trace_to_database parameter disabled, and you want to enable it later and at runtime.
Nowadays, if you try to start Kamailio with trace_to_database enabled, but without a connection to the DB, the service won't start (child_init logic).
In this type of situation, it makes sense to start Kamailio disabling the trace_to_database parameter, and when the DB is ok, at runtime, we enable trace_to_database parameter. This prevents the need to restart the service, and also we can start Kamailio without problems, if DB of SIP Traces is NOK at that time.
My PR may need some improvements, especially on the enable side, so feel free to make any changes to improve that.