<!-- 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
##### **Summary**
This update introduces new functionality to the `secfilter` module, enabling the removal of entries from both the Blacklist and Whitelist. It also includes automatic detection and removal of duplicate values from these lists.
##### **Details**
* Users can now remove specific entries from the Blacklist or Whitelist based on type (e.g., IP, domain, user) and a given value.
* Supports removal of single or multiple matching entries in one operation.
##### **Benefits**
- Improves the usability and flexibility of the `secfilter` module by allowing fine-grained control over list management.
- Ensures that the Blacklist and Whitelist are kept clean and free from redundant entries.
- Enhances performance by reducing unnecessary duplication in the lists.
##### Testing
This feature was tested using `kmcmd` commands in various scenarios:
- Removing the **first element** in the list.
- Removing an element from the **middle** of the list.
- Removing the **last element** in the list.
- Removing **all matching elements** in the list.
In all cases, the commands worked correctly, and the lists were updated and cleaned as expected.
You can view, comment on, or merge this pull request online at:
https://github.com/kamailio/kamailio/pull/4089
-- Commit Summary --
* secfilter: support remove rule in Whitelist and Blacklist
-- File Changes --
M src/modules/secfilter/secfilter.c (8)
M src/modules/secfilter/secfilter.h (3)
M src/modules/secfilter/secfilter_db.c (106)
M src/modules/secfilter/secfilter_rpc.c (95)
-- Patch Links --
https://github.com/kamailio/kamailio/pull/4089.patchhttps://github.com/kamailio/kamailio/pull/4089.diff
--
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/pull/4089
You are receiving this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/pull/4089(a)github.com>
**Description**
The `secfilter` module in `kamcmd` currently allows duplicate entries when adding values to certain lists (e.g., blacklists, whitelists). This can lead to unexpected behavior and potential inconsistencies. Could you clarify the reason behind accepting duplicate values?
Recently, I submitted a pull request to add delete commands to the `secfilter` module #4089. When a user, for example, executes:
`kamcmd secfilter.del_bl user 1005`
I iterate through the entire list to ensure all occurrences of `1005` are removed, as I realized duplicates might exist. This is inefficient and could be avoided by preventing duplicates in the first place.
**Proposed Solutions**
1. **Prevent Duplicates in Existing `add` Commands:**
* I can modify existing `add` commands to directly prevent the addition of duplicate values. This would simplify future operations and improve performance.
2. **Introduce New `add_unique` Commands:**
* I can maintain the current `add` commands for backward compatibility.
* I can introduce new `add_unique` commands (e.g., `secfilter.add_bl_unique`) that explicitly reject duplicate entries.
**Recommendation**
I recommend implementing the first solution (preventing duplicates in existing `add` commands) as it provides the most straightforward and efficient approach.
**Further Considerations**
* Consider adding a check for duplicates during the `add` operation and returning an appropriate error message if a duplicate is encountered.
* Document the behavior of duplicate values in the `secfilter` module's documentation.
**I would appreciate your feedback and guidance on the best course of action.**
--
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/issues/4091
You are receiving this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/issues/4091(a)github.com>
<!-- Kamailio Pull Request Template -->
Topos: Added get_callid_mask functin which will give the masked callID if actual callID is given and get_callid_unmask function which will unmask the given call-ID. This funtion is useful when the client sends a refer methord with refer-to header containing call-id
<!--
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 -->
You can view, comment on, or merge this pull request online at:
https://github.com/kamailio/kamailio/pull/3872
-- Commit Summary --
* add funtion to mask/unmask callID
* get_callid_mask /get_callid_unmask Document Update
-- File Changes --
M src/modules/topos/doc/topos_admin.xml (87)
M src/modules/topos/topos_mod.c (183)
-- Patch Links --
https://github.com/kamailio/kamailio/pull/3872.patchhttps://github.com/kamailio/kamailio/pull/3872.diff
--
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/pull/3872
You are receiving this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/pull/3872(a)github.com>
Added enable_register_publish parameter to enable REGISTER and PUBLISH method for topos
If set to 1 REGISTER and PUBLISH will be enabled for topos Currently only via header will be applied for topos and if mask_callid is set to 1 call-ID will be masked. Other headers should be manged by the user as required.
<!-- 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, ...)
- [ ] Each component has a single commit (if not, squash them into one commit)
- [ ] 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)
- [ ] 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
- [ ] Tested changes locally
- [ ] Related to issue #XXXX (replace XXXX with an open issue number)
#### Description
<!-- Describe your changes in detail -->
You can view, comment on, or merge this pull request online at:
https://github.com/kamailio/kamailio/pull/3766
-- Commit Summary --
* add enable_register_publish
-- File Changes --
M src/modules/topos/topos_mod.c (2)
M src/modules/topos/tps_msg.c (132)
M src/modules/topos/tps_msg.h (2)
M src/modules/topos/tps_storage.c (6)
-- Patch Links --
https://github.com/kamailio/kamailio/pull/3766.patchhttps://github.com/kamailio/kamailio/pull/3766.diff
--
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/pull/3766
You are receiving this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/pull/3766(a)github.com>
- allows custom tags to be added to prometheus metrics
- Addresses GH issue #4021
<!-- 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 -->
- [X] PR should be backported to stable branches
- [X] Tested changes locally
- [X] Related to issue #4021
#### Description
<!-- Describe your changes in detail -->
This change adds a new parameter `xhttp_prom_tags`. It allows the user to append tags to the prometheus metrics. This makes those metrics a lot more useful when having multiple kamailio instances running on a single host.
This is done by 2 shared memory helper variables which contain the parameter in different formats. This way it is easy to print them out with minimal changes.
You can view, comment on, or merge this pull request online at:
https://github.com/kamailio/kamailio/pull/4073
-- Commit Summary --
* xhttp_prom: new xhttp_prom_tags paramete
-- File Changes --
M src/modules/xhttp_prom/doc/xhttp_prom_admin.xml (25)
M src/modules/xhttp_prom/prom.c (30)
M src/modules/xhttp_prom/xhttp_prom.c (50)
M src/modules/xhttp_prom/xhttp_prom.h (15)
-- Patch Links --
https://github.com/kamailio/kamailio/pull/4073.patchhttps://github.com/kamailio/kamailio/pull/4073.diff
--
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/pull/4073
You are receiving this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/pull/4073(a)github.com>
<!-- 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)
- [ ] 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)
- [ ] 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
- [ ] Tested changes locally
- [ ] Related to issue #XXXX (replace XXXX with an open issue number)
#### Description
<!-- Describe your changes in detail -->
You can view, comment on, or merge this pull request online at:
https://github.com/kamailio/kamailio/pull/4090
-- Commit Summary --
* examples: fix kamailio ims cfg file for basic volte call
-- File Changes --
M misc/examples/ims/icscf/icscf.cfg.sample (12)
M misc/examples/ims/icscf/icscf.xml.sample (6)
M misc/examples/ims/icscf/kamailio.cfg (32)
M misc/examples/ims/pcscf/kamailio.cfg (182)
M misc/examples/ims/pcscf/pcscf.cfg.sample (55)
M misc/examples/ims/pcscf/pcscf.xml.sample (6)
M misc/examples/ims/pcscf/route/mo.cfg (99)
M misc/examples/ims/pcscf/route/mt.cfg (101)
M misc/examples/ims/pcscf/route/register.cfg (198)
M misc/examples/ims/pcscf/route/rtp.cfg (90)
M misc/examples/ims/scscf/kamailio.cfg (115)
M misc/examples/ims/scscf/scscf.cfg.sample (24)
M misc/examples/ims/scscf/scscf.xml.sample (6)
-- Patch Links --
https://github.com/kamailio/kamailio/pull/4090.patchhttps://github.com/kamailio/kamailio/pull/4090.diff
--
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/pull/4090
You are receiving this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/pull/4090(a)github.com>
Documentation https://www.kamailio.org/docs/modules/devel/modules/tm.html#tm.p.fr_timer says:
>Timer which hits if no **final reply** for a request or ACK for a negative INVITE reply arrives (in milliseconds).
Looks like it is not correct description - fr_timer value works until 1xx(not **final**) response received and then timer restarted with fr_inv_timer value there:
https://github.com/kamailio/kamailio/blob/master/src/modules/tm/t_reply.c#L…
Looks like old doc from sip router https://sip-router.org/wiki/ref_manual/timers explains it correctly:
> fr_timer
This timer is used for all SIP requests. It hits if no reply for an INVITE request or other request has been received (F in milliseconds). If a provisional reply is received for an INVITE (any 1xx), then the fr_inv_timer will be used instead. And if no replies (at all) for an INVITE are received before `fr_timer` hits, the transaction is terminated with a 408 in failure route.
--
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/issues/3939
You are receiving this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/issues/3939(a)github.com>
### Description
Hi!
We are in the progress of upgrading from Kamailio 5.5 to 5.8. During our testing we have noticed a new error being reported from Kamailio. We don’t see any other errors following it.
```jsx
/usr/sbin/kamailio[201]: CRITICAL: <core> [core/tcp_main.c:5544]: tcp_timer_check_connections(): message processing timeout on connection id: 67896 (state: 3) - closing
```
It does seem to be [new code](https://github.com/kamailio/kamailio/blob/master/src/core/tcp_main.c#… in Kamailio reporting this issue.
Given that this is a fairly expected thing, cleaning up a connection which receives no traffic within the given time, is there a need for it to be reported on CRITICAL?
I’d also expect it to be caught by
```
event_route[tcp:timeout] {
xlog("L_INFO","connection $conid timeouts (unanswered keepalives)");
}
```
given that [the description](https://www.kamailio.org/docs/modules/stable/modules/tcpops.ht… of this one is `Called for connection timeouts (unanswered keepalives).`.
### Troubleshooting
We don't have any way to reproduce it, we are still investigating it to figure out the cause. It happens around every 2 hours, so we think there might some some scheduled test or job running in our test system causing this.
### Additional Information
* **Kamailio Version** - 5.8.3
* **Operating System**: Debian 12 AMI from the AWS Marketplace.
--
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/issues/3995
You are receiving this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/issues/3995(a)github.com>