<!-- Kamailio Pull Request Template -->
<!-- IMPORTANT: - for detailed contributing guidelines, read: https://github.com/kamailio/kamailio/blob/master/.github/CONTRIBUTING.md - pull requests must be done to master branch, unless they are backports of fixes from master branch to a stable branch - backports to stable branches must be done with 'git cherry-pick -x ...' - code is contributed under BSD for core and main components (tm, sl, auth, tls) - code is contributed GPLv2 or a compatible license for the other components - GPL code is contributed with OpenSSL licensing exception -->
#### Pre-Submission Checklist <!-- Go over all points below, and after creating the PR, tick all the checkboxes that apply --> <!-- All points should be verified, otherwise, read the CONTRIBUTING guidelines from above--> <!-- If you're unsure about any of these, don't hesitate to ask on sr-dev mailing list --> - [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: <!-- Go over all points below, and after creating the PR, tick the checkboxes that apply --> - [ ] PR should be backported to stable branches - [X] Tested changes locally - [ ] Related to issue #XXXX (replace XXXX with an open issue number)
#### Description <!-- Describe your changes in detail --> Currently, when making an AAR, transaction is suspended and then continued. This is because one may want to block call upon AAR failure.
In our use case, we don't want to block any calls, regardless of AAR return code. This makes suspend/continue of the transaction an overhead. Moreover, if the PCRF is slow, transaction blocks untill PCRF responds.
Add a module parameter to control if one wants to suspend or not the tm transaction (default is the current behavior). Local basic tests work ok, more testing will follow. You can view, comment on, or merge this pull request online at:
https://github.com/kamailio/kamailio/pull/3581
-- Commit Summary --
* ims_qos: Add suspend_transaction parameter
-- File Changes --
M src/modules/ims_qos/doc/ims_qos_admin.xml (19) M src/modules/ims_qos/ims_qos_mod.c (49) M src/modules/ims_qos/rx_aar.c (57)
-- Patch Links --
https://github.com/kamailio/kamailio/pull/3581.patch https://github.com/kamailio/kamailio/pull/3581.diff
From my point of view after a very brief code review, it is fine to merge.
I do have a comment, though. I would suggest to prefix global variables with some value specific to the module, like (`ims_qos_` or `_ims_qos_`, e.g., `_ims_qos_suspend_transaction`) because there might be cases when global variables become exposed across modules or core and when they have rather common words then it can result in duplicates and conflicts. IMS modules might not have such common prefix to global variables yet, but it would be good to start doing it, at least for the newly added variables. This can be done as a follow up commit after merging this PR.
The name of the exposed modparam can stay the same, it is only about the C variable name.
Merged #3581 into master.
Ok, will push a new commit to rename the C var, directly on master.