#### 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 -->
Introduce a versatile behavior of the rtpengine module
in terms of ability to parse flags on rtpengine side,
instead of module. Previous behavior is also kept (so backwards compatibility).
General points:
- rtpengine daemon supports rtpp flags processing from now on
- module still provides in the bencode (when calling daemon):
call-id, to/from tags, viabranch (so identification call data)
- even though the module's interface is updated,
a backwards compatibility is given, so no obligatory changes
from kamailio script users required
- each rtpengine module's function where it's reasonable to use rtpp flags
as a parameter, now is able to get a third parameter `viabranch`,
which is used to detect, which approach to use (older/newer):
- without the viabranch - older one used
- with the viabrnach - new one used, so rtpp flags parsing on
rtpengine side
The reason why the `via-branch` has been selected as a point of behavior
differentiation is that currently it's only given via option flags list (raw string),
meanwhile with a newer behavior option flags will not be parsed by the module.
Since the module still has to provide all the basic identifiers, such as:
call-id, From/To tags and via-branch, via-branch now is moved to a separate parameter,
and gives to the module a clue a newer behavior is to be applied.
The goal (for the future) is to deprecate processing of option flags
on the module side and only parse them using rtpengine.
This brings a list of benifits, such as:
- no need to keep in sync rtpengine and module (for specific flags)
- support of different rtpp flag string formats (raw), so that,
for example, kamailio script users can use plain text or
bencode dictionary like format, when providing flags from
the kamailio script
Current change is only applicable with rtpengine versions equal or later than mr12.3
Backwards compatibility provided, so users are not forced to change anything.
You can view, comment on, or merge this pull request online at:
https://github.com/kamailio/kamailio/pull/3788
-- Commit Summary --
* rtpengine: add flags processing on the daemon side
* rtpengine: update documentation in regards of flags processing
-- File Changes --
M src/modules/rtpengine/doc/rtpengine.xml (8)
M src/modules/rtpengine/doc/rtpengine_admin.xml (45)
M src/modules/rtpengine/rtpengine.c (847)
-- Patch Links --
https://github.com/kamailio/kamailio/pull/3788.patchhttps://github.com/kamailio/kamailio/pull/3788.diff
--
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/pull/3788
You are receiving this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/pull/3788(a)github.com>
Module: kamailio
Branch: master
Commit: 5cd02f5653e9b9f523a62a0dae78b801f962ce8e
URL: https://github.com/kamailio/kamailio/commit/5cd02f5653e9b9f523a62a0dae78b80…
Author: Donat Zenichev <dzenichev(a)sipwise.com>
Committer: Richard Fuchs <rfuchs(a)sipwise.com>
Date: 2024-03-21T11:04:53-04:00
rtpengine: add flags processing on the daemon side
Introduce a versatile behavior of the rtpengine module
in terms of ability to parse flags on rtpengine side,
instead of module. Previous behavior is also kept.
General points:
- rtpengine daemon supports rtpp flags processing from now on
- module still provides in the bencode (when calling daemon):
call-id, to/from tags, viabranch (so identification call data)
- even though the module's interface is updated,
a backwards compatibility is given, so no obligatory changes
from kamailio script users required
- each rtpengine module's function which takes rtpp flags
as a parameter, now is able to get a third parameter `viabranch`,
which is used to detect, which approach to use (older/newer):
- without the viabranch - older one used
- with the viabrnach - new one used, so rtpp flags parsing on
rtpengine side
The goal (for the future) is to deprecate processing of option flags
on the module side and only parse them using rtpengine.
This brings a list of benifits, such as:
- no need to keep in sync rtpengine and module (for specific flags)
- support of different rtpp flag string formats (raw), so that,
for example, kamailio script users can use plain text or
bencode dictionary like format, when providing flags from
the kamailio script
---
Modified: src/modules/rtpengine/rtpengine.c
---
Diff: https://github.com/kamailio/kamailio/commit/5cd02f5653e9b9f523a62a0dae78b80…
Patch: https://github.com/kamailio/kamailio/commit/5cd02f5653e9b9f523a62a0dae78b80…
Module: kamailio
Branch: master
Commit: b59812ff025a4c7e531ce9ad29d435820908fa8a
URL: https://github.com/kamailio/kamailio/commit/b59812ff025a4c7e531ce9ad29d4358…
Author: Kamailio Dev <kamailio.dev(a)kamailio.org>
Committer: Kamailio Dev <kamailio.dev(a)kamailio.org>
Date: 2024-03-21T07:31:23+01:00
modules: readme files regenerated - secsipid ... [skip ci]
---
Modified: src/modules/secsipid/README
---
Diff: https://github.com/kamailio/kamailio/commit/b59812ff025a4c7e531ce9ad29d4358…
Patch: https://github.com/kamailio/kamailio/commit/b59812ff025a4c7e531ce9ad29d4358…
---
diff --git a/src/modules/secsipid/README b/src/modules/secsipid/README
index 0433f481cf3..9297251072a 100644
--- a/src/modules/secsipid/README
+++ b/src/modules/secsipid/README
@@ -346,8 +346,8 @@ request_route {
...
request_route {
...
- http_client_query("https://provider.com/stir-shaken/cert.pem", "$var(pubkey)
-");
+ secsipid_get_url("https://provider.com/stir-shaken/cert.pem", "$var(pubkey)"
+);
if(secsipid_verify("$hdr(Identity)", "$var(pubkey)", "A")) { ... }
...
}
@@ -359,7 +359,8 @@ request_route {
4.5. secsipid_get_url(url, ovar)
- Get the content of a URL and store the result in a variable.
+ Get the content of a URL and store the result in a variable. The result
+ is cached by libsecsipid, if caching is enabled.
The url parameters can contain pseudo-variables and ovar has to be the
name of a writable pseudo-variable.
Module: kamailio
Branch: master
Commit: 01ec19f73a7257a83bd9abb9a02c12e2c3d225e0
URL: https://github.com/kamailio/kamailio/commit/01ec19f73a7257a83bd9abb9a02c12e…
Author: Daniel-Constantin Mierla <miconda(a)gmail.com>
Committer: Daniel-Constantin Mierla <miconda(a)gmail.com>
Date: 2024-03-21T07:21:27+01:00
secsipid: note that get url function is doing caching
- use get url function in example for verify
---
Modified: src/modules/secsipid/doc/secsipid_admin.xml
---
Diff: https://github.com/kamailio/kamailio/commit/01ec19f73a7257a83bd9abb9a02c12e…
Patch: https://github.com/kamailio/kamailio/commit/01ec19f73a7257a83bd9abb9a02c12e…
---
diff --git a/src/modules/secsipid/doc/secsipid_admin.xml b/src/modules/secsipid/doc/secsipid_admin.xml
index c43ccf3c637..f8f2e823a21 100644
--- a/src/modules/secsipid/doc/secsipid_admin.xml
+++ b/src/modules/secsipid/doc/secsipid_admin.xml
@@ -338,7 +338,7 @@ request_route {
...
request_route {
...
- http_client_query("https://provider.com/stir-shaken/cert.pem", "$var(pubkey)");
+ secsipid_get_url("https://provider.com/stir-shaken/cert.pem", "$var(pubkey)");
if(secsipid_verify("$hdr(Identity)", "$var(pubkey)", "A")) { ... }
...
}
@@ -356,7 +356,8 @@ request_route {
<function moreinfo="none">secsipid_get_url(url, ovar)</function>
</title>
<para>
- Get the content of a URL and store the result in a variable.
+ Get the content of a URL and store the result in a variable. The result
+ is cached by libsecsipid, if caching is enabled.
</para>
<para>
The url parameters can contain pseudo-variables and ovar has to be
<!-- Kamailio Pull Request Template -->
#### 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
- [x] 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
- [x] Tested changes locally
- [x] Related to issue #3720
#### Description
Fixing R-RURI and adding necessary headers when creating fake_msg in xhttp_mod.c for successful message validation and the ability to perform various kamailio functions from event_route[xhttp:request].
You can view, comment on, or merge this pull request online at:
https://github.com/kamailio/kamailio/pull/3723
-- Commit Summary --
* xhttp: fix execution of async functions
-- File Changes --
M src/modules/xhttp/xhttp_mod.c (39)
-- Patch Links --
https://github.com/kamailio/kamailio/pull/3723.patchhttps://github.com/kamailio/kamailio/pull/3723.diff
--
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/pull/3723
You are receiving this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/pull/3723(a)github.com>
Module: kamailio
Branch: master
Commit: eca79b066984d8bd219c19a8c0dccb4955503bfc
URL: https://github.com/kamailio/kamailio/commit/eca79b066984d8bd219c19a8c0dccb4…
Author: Kamailio Dev <kamailio.dev(a)kamailio.org>
Committer: Kamailio Dev <kamailio.dev(a)kamailio.org>
Date: 2024-03-20T16:16:11+01:00
modules: readme files regenerated - pvtpl ... [skip ci]
---
Modified: src/modules/pvtpl/README
---
Diff: https://github.com/kamailio/kamailio/commit/eca79b066984d8bd219c19a8c0dccb4…
Patch: https://github.com/kamailio/kamailio/commit/eca79b066984d8bd219c19a8c0dccb4…
---
diff --git a/src/modules/pvtpl/README b/src/modules/pvtpl/README
index 4ed20d00202..5bf5553aa97 100644
--- a/src/modules/pvtpl/README
+++ b/src/modules/pvtpl/README
@@ -30,12 +30,15 @@ Daniel-Constantin Mierla
4. Functions
- 4.1. pvtpl_apply(tplname, res)
+ 4.1. pvtpl_render(tplname, res)
+
+ 5. Template File
List of Examples
1.1. Set tpl parameter
- 1.2. gcrypt_aes_encrypt usage
+ 1.2. pvtpl_render usage
+ 1.3. Template file
Chapter 1. Admin Guide
@@ -53,7 +56,9 @@ Chapter 1. Admin Guide
4. Functions
- 4.1. pvtpl_apply(tplname, res)
+ 4.1. pvtpl_render(tplname, res)
+
+ 5. Template File
1. Overview
@@ -101,18 +106,33 @@ modparam("pvtpl", "tpl", "name=tpl2;fpath=/etc/kamailio/tpl2.pvtpl;bsize=256;")
4. Functions
- 4.1. pvtpl_apply(tplname, res)
+ 4.1. pvtpl_render(tplname, res)
-4.1. pvtpl_apply(tplname, res)
+4.1. pvtpl_render(tplname, res)
- Encrypts the text with the key using AES256 ECB encryption algorithm.
- The result is encoded in base64 format and stored in res. The parameter
- res must be a read-write variables. The parameters text and key can be
- static strings or strings with variables (dynamic strings).
+ Render the template 'tplname' using config variables, setting the
+ result in the variable specified by 'res'.
This function can be used from ANY_ROUTE.
- Example 1.2. gcrypt_aes_encrypt usage
+ Example 1.2. pvtpl_render usage
+...
+pvtpl_render("t1", "$var(out)");
+...
+
+5. Template File
+
+ The template file can contain text and config variables that are
+ evaluate when running pvtpl_render() functions.
+
+ The templates files are loaded at startup and prepared for runtime. It
+ is no option to reload the template files.
+
+ Example 1.3. Template file
...
-gcrypt_aes_encrypt("$rb", "my-secret-key", "$var(encrypted)");
+{
+ "from": "$fu",
+ "to": "$tu",
+ "x" : $var(x)
+}
...