The function lookup_to_dset() is a config command implemented inside the registrar module.
https://github.com/kamailio/kamailio/blob/351efd29d332703e79104a106ade08c9d…
As you can see from the link above, It triggers w_lookup_to_dset() and it ends up calling lookup_helper() with the mode flag set to zero that causes lookup_helper() to not overwrite the request uri (and destination uri if it's the case).
For me it's worth documenting lookup_to_dset() inside modules/registrar/README file, this function it was very useful to me and I found out about it only digging into the code.
Thanks
--
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/issues/2623
Hi all,
I have one question.
What softphones can I use when trying VoLTE (not VoIP) with Kamailio? I would like to verify VoLTE of private LTE with Open5GS and Kamailio.
I'm sorry to ask you a question without much understanding of Kamailio, VoIP and VoLTE.
Thank you very much in advance.
--Shigeru
--
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/issues/2673
### Description
According to the documentation for the UAC module, the `uac_reg` command can accept an optional argument to use the pre-calculated HA1 format:
```
4.7. uac_auth([mode])
This function can be called only from failure route and will build the authentication response header and insert it into the request without sending anything.
If mode is set to 1, then the password has to be provided in HA1 format. The parameter can be a static integer or a variable holding an integer value
```
However, when I attempt to use this in my configuration file, Kamailio fails to start.
### Troubleshooting
#### Reproduction
The problem is reproducible in the 5.4, 5.4-nightly, and dev-nightly debian packages with the following config file:
```
#!KAMAILIO
loadmodule "tm"
loadmodule "sl"
loadmodule "pv"
loadmodule "uac"
loadmodule "rr"
modparam("uac","auth_username_avp","$avp(auser)")
modparam("uac","auth_password_avp","$avp(apass)")
modparam("uac","auth_realm_avp","$avp(arealm)")
request_route {
if( $rm == "INVITE" ) {
t_on_failure("TRUNKAUTH");
}
t_relay();
}
failure_route[TRUNKAUTH] {
$avp(auser) = "user";
$avp(arealm) = "realm";
$avp(apass) = "password";
if (uac_auth(1)) {
t_relay();
}
exit;
}
```
A check on syntax file syntax gives an error of:
```
$ sudo kamailio -eEc
0(18427) ERROR: <core> [core/cfg.y:3451]: yyparse(): cfg. parser: failed to find command uac_auth (params 1)
0(18427) CRITICAL: <core> [core/cfg.y:3592]: yyerror_at(): parse error in config file /etc/kamailio/kamailio.cfg, line 30, column 19: unknown command, missing loadmodule?
ERROR: bad config file (1 errors)
```
No failures are observed if the parameter is removed from line 30. Changed from `if (uac_auth(1)) {` to `if (uac_auth()) {`.
### Additional Information
* **Kamailio Version** - output of `kamailio -v`
```
version: kamailio 5.4.4 (x86_64/linux)
flags: USE_TCP, USE_TLS, USE_SCTP, TLS_HOOKS, USE_RAW_SOCKS, DISABLE_NAGLE, USE_MCAST, DNS_IP_HACK, SHM_MMAP, PKG_MALLOC, Q_MALLOC, F_MALLOC, TLSF_MALLOC, DBG_SR_MEMORY, USE_FUTEX, FAST_LOCK-ADAPTIVE_WAIT, USE_DNS_CACHE, USE_DNS_FAILOVER, USE_NAPTR, USE_DST_BLACKLIST, HAVE_RESOLV_RES, TLS_PTHREAD_MUTEX_SHARED
ADAPTIVE_WAIT_LOOPS 1024, MAX_RECV_BUFFER_SIZE 262144, MAX_URI_SIZE 1024, BUF_SIZE 65535, DEFAULT PKG_SIZE 8MB
poll method support: poll, epoll_lt, epoll_et, sigio_rt, select.
id: unknown
compiled with gcc 8.3.0
```
* **Operating System**:
<!--
Details about the operating system, the type: Linux (e.g.,: Debian 8.4, Ubuntu 16.04, CentOS 7.1, ...), MacOS, xBSD, Solaris, ...;
Kernel details (output of `uname -a`)
-->
```
Linux aarenet-sipdir2 4.19.0-14-cloud-amd64 #1 SMP Debian 4.19.171-2 (2021-01-30) x86_64 GNU/Linux
```
--
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/issues/2672
Module: kamailio
Branch: 5.4
Commit: 0ddb019f3d80e4bef2d00a504dbe1baa6b982bba
URL: https://github.com/kamailio/kamailio/commit/0ddb019f3d80e4bef2d00a504dbe1ba…
Author: Victor Seva <vseva(a)sipwise.com>
Committer: Victor Seva <linuxmaniac(a)torreviejawireless.org>
Date: 2021-03-11T13:44:07+01:00
pv_headers: fix detection of split marker
If we set Diversion in split_headers and we get a header like
> "RULTEST, normalaa" <sip:0046341355354340@whatever.net;user=phone>;reason=unconditional
There was false detection of two Diversion headers.
Skip split marker between double quotes to avoid this
(cherry picked from commit c05c7133a5657a547a5b0ced0b0a05707b44bc06)
---
Modified: src/modules/pv_headers/pvh_func.c
Modified: src/modules/pv_headers/pvh_hash.c
Modified: src/modules/pv_headers/pvh_str.c
Modified: src/modules/pv_headers/pvh_str.h
---
Diff: https://github.com/kamailio/kamailio/commit/0ddb019f3d80e4bef2d00a504dbe1ba…
Patch: https://github.com/kamailio/kamailio/commit/0ddb019f3d80e4bef2d00a504dbe1ba…
Module: kamailio
Branch: master
Commit: c05c7133a5657a547a5b0ced0b0a05707b44bc06
URL: https://github.com/kamailio/kamailio/commit/c05c7133a5657a547a5b0ced0b0a057…
Author: Victor Seva <vseva(a)sipwise.com>
Committer: Victor Seva <linuxmaniac(a)torreviejawireless.org>
Date: 2021-03-11T13:41:41+01:00
pv_headers: fix detection of split marker
If we set Diversion in split_headers and we get a header like
> "RULTEST, normalaa" <sip:0046341355354340@whatever.net;user=phone>;reason=unconditional
There was false detection of two Diversion headers.
Skip split marker between double quotes to avoid this
---
Modified: src/modules/pv_headers/pvh_func.c
Modified: src/modules/pv_headers/pvh_hash.c
Modified: src/modules/pv_headers/pvh_str.c
Modified: src/modules/pv_headers/pvh_str.h
---
Diff: https://github.com/kamailio/kamailio/commit/c05c7133a5657a547a5b0ced0b0a057…
Patch: https://github.com/kamailio/kamailio/commit/c05c7133a5657a547a5b0ced0b0a057…
* default behavior of rtpengine is trust-address
* use SIP-source-address for nat_uac_test("8")
<!-- 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 -->
- [ ] Commit message has the format required by CONTRIBUTING guide
- [ ] 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/2656
-- Commit Summary --
* kamailio.cfg: use SIP-source-address
-- File Changes --
M etc/kamailio.cfg (4)
-- Patch Links --
https://github.com/kamailio/kamailio/pull/2656.patchhttps://github.com/kamailio/kamailio/pull/2656.diff
--
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/2656
Module: kamailio
Branch: master
Commit: e19cb103fd16b186fed673aae2d04f1abe982110
URL: https://github.com/kamailio/kamailio/commit/e19cb103fd16b186fed673aae2d04f1…
Author: Daniel-Constantin Mierla <miconda(a)gmail.com>
Committer: Daniel-Constantin Mierla <miconda(a)gmail.com>
Date: 2021-03-11T09:49:45+01:00
jwt: docs - updates for key_mode parameter
---
Modified: src/modules/jwt/doc/jwt_admin.xml
---
Diff: https://github.com/kamailio/kamailio/commit/e19cb103fd16b186fed673aae2d04f1…
Patch: https://github.com/kamailio/kamailio/commit/e19cb103fd16b186fed673aae2d04f1…
---
diff --git a/src/modules/jwt/doc/jwt_admin.xml b/src/modules/jwt/doc/jwt_admin.xml
index e222e81dc7..dba928b523 100644
--- a/src/modules/jwt/doc/jwt_admin.xml
+++ b/src/modules/jwt/doc/jwt_admin.xml
@@ -60,10 +60,9 @@
<section id="jwt.p.key_mode">
<title><varname>key_mode</varname> (int)</title>
<para>
- Mode to store the private and public keys.
- </para>
- <para>
- Work in progress.
+ Mode to use the private and public keys. If set to 0, they are read
+ always from the disk. If set to 1, they are cached in memory with
+ the first use (no reload support yet).
</para>
<para>
<emphasis>
@@ -74,7 +73,7 @@
<title>Set <varname>key_mode</varname> parameter</title>
<programlisting format="linespecific">
...
-modparam("jwt", "key_mode", 0)
+modparam("jwt", "key_mode", 1)
...
</programlisting>
</example>
- a permanently registered contact has an "expires" value of 0 in usrloc
when processing lookup, cplc module checks that contacts are not expired by
checking that the "expires" value of the contact is not lower than current
time
as a consequence, permanently registered contact are alsways skipped and
never targeted
<!-- 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
- [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
- [ ] 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/2665
-- Commit Summary --
* cplc: permanent contact not skipped by lookup anymore
-- File Changes --
M src/modules/cplc/cpl_run.c (2)
-- Patch Links --
https://github.com/kamailio/kamailio/pull/2665.patchhttps://github.com/kamailio/kamailio/pull/2665.diff
--
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/2665
Module: kamailio
Branch: master
Commit: 525ee139abcb45f71bda42b417b5f8e75c12a622
URL: https://github.com/kamailio/kamailio/commit/525ee139abcb45f71bda42b417b5f8e…
Author: easyrider14 <stephane.houssin(a)hotmail.fr>
Committer: easyrider14 <stephane.houssin(a)hotmail.fr>
Date: 2021-03-10T10:54:25+01:00
cplc: permanent contact not skipped by lookup anymore
- a permanently registered contact has an "expires" value of 0 in usrloc
when processing lookup, cplc module checks that contacts are not expired by
checking that the "expires" value of the contact is not lower than current
time
as a consequence, permanently registered contact are alsways skipped and
never targeted
---
Modified: src/modules/cplc/cpl_run.c
---
Diff: https://github.com/kamailio/kamailio/commit/525ee139abcb45f71bda42b417b5f8e…
Patch: https://github.com/kamailio/kamailio/commit/525ee139abcb45f71bda42b417b5f8e…
---
diff --git a/src/modules/cplc/cpl_run.c b/src/modules/cplc/cpl_run.c
index 768f6b3d4a..437e512667 100644
--- a/src/modules/cplc/cpl_run.c
+++ b/src/modules/cplc/cpl_run.c
@@ -283,7 +283,7 @@ static inline char *run_lookup( struct cpl_interpreter *intr )
} else {
contact = r->contacts;
/* skip expired contacts */
- while ((contact) && (contact->expires <= tc))
+ while ((contact) && (contact->expires > 0) && (contact->expires <= tc))
contact = contact->next;
/* any contacts left? */
if (contact) {
I was trying to install kamailio for the first time but I could not activate it.
I follow the steps of this installation https://powerpbx.org/content/kazoo-v4-single-server-install-guide-v1#detail…
The error given was

"Active: failed (Result: exit-code= since Mon 2021-03-08 15:44:55 (code=exited, status=255)"
The work around I found to solve this was to modify this archive vi /etc/kazoo/kamailio/local.cfg
More precisely you need to uncomment some lines and verify the information is right and similar to the one I post here.
In my case the hostname is ServerTest, the IP Address is 192.168.0.123.
################################################################################
## SERVER INFORMATION
################################################################################
## UNCOMMENT & CHANGE "somedomain.local" TO YOUR SERVERS HOSTNAME
**#!substdef "!MY_HOSTNAME!ServerTest.local!g"**
## UNCOMMENT & CHANGE "192.168.88.51" TO YOUR SERVERS IP ADDRESS
## Usually your public IP. If you need
## to listen on addtional ports or IPs
## add them in "BINDINGS" at the bottom.
**#!substdef "!MY_IP_ADDRESS!192.168.0.123!g"**
## CHANGE "kazoo://guest:guest@192.168.88.51:5672" TO THE AMQP URL
## This should be the primary RabbitMQ server
## in the zone that this server will service.
**#!substdef "!MY_AMQP_URL!amqp://guest:guest@192.168.88.51:5672!g"**
--
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/issues/2670
Compiling the new `lrkproxy` module with clang throws the following warning:
```
CC (gcc) [M lrkproxy.so] lrkproxy.o
lrkproxy.c:1228:28: warning: address of array 'e->node->lrkp_n_c->internal_ip' will always evaluate to 'true' [-Wpointer-bool-conversion]
if (e->node->lrkp_n_c->internal_ip && flags) {
~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~ ~~
1 warning generated.
```
Looks like something that needs to be sorted out, comparison with an array address.
--
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/issues/2663
<!-- 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 -->
- [ ] Commit message has the format required by CONTRIBUTING guide
- [ ] 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/2666
-- Commit Summary --
* Merge pull request #1 from kamailio/master
* Merge pull request #2 from kamailio/master
* Merge pull request #3 from kamailio/master
* lrkproxy:fix flag parameter in change_media_sdp
* Merge branch 'lrkproxy_warning2663'
-- File Changes --
M src/modules/lrkproxy/lrkproxy.c (15)
-- Patch Links --
https://github.com/kamailio/kamailio/pull/2666.patchhttps://github.com/kamailio/kamailio/pull/2666.diff
--
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/2666
### Description
`dns_int_match_ip` is broken on 5.3.0 and above
### Troubleshooting
#### Reproduction
Try this dialplan:
```
if (dns_int_match_ip('dns.google', '8.8.8.8')) {
xlog("L_INFO", "OK dns-ip match with dns_int_match_ip");
} else {
xlog("L_ERR", "FAIL dns-ip match with dns_int_match_ip");
}
if (dns_int_match_ip('100.100.100.100', '8.8.8.8')) {
xlog("L_ERR", "FAIL dns_int_match_ip on 2 ip's");
} else {
xlog("L_INFO", "OK dns_int_match_ip on 2 ip's");
}
```
On 5.2 releases, both checks succeed. On 5.3 and up, both fail.
#### Debugging Data
I've traced down the problem to `str2ip`.
In 5.2, this is a `static inline` function defined in the header file `resolve.h`. Therefore, the returned `ip` structure is allocated *once per compilation unit* - ie. `ipops_mod.c` and `dns_cache.c` both have their own versions of the variable.
Since fb75e90549a (5.3 and up) this function is defined in it's own compilation unit (`resolve.c`) and therefore shared by all callers.
See: https://stackoverflow.com/questions/185624/static-variables-in-an-inlined-f…
#### Log Messages
n/a
#### SIP Traffic
n/a
### Possible Solutions
- Have `ki_dns_sys_match_ip` make a local copy of the return value of `str2ip`
- Move `str2ip` back to a header file
- Refactor `str2ip` to take a pointer to an output struct
### Additional Information
In 5.3, this is what happens:
```
# - ki_dns_int_match_ip will call str2ip on 8.8.8.8, filling the static variable
# - resolvehost will call dns_a_get_he, which calls str2ip on dns.google.com, zeroing out the static variable
# - (dns_cache_do_request will call str2ip on dns.google.com, zeroing out the static variable again)
# - resolvehost queries DNS
# - the resolved IP's will be compared to the zero'd out struct
dns_int_match_ip('dns.google', '8.8.8.8') == false
# - ki_dns_int_match_ip will call str2ip on 8.8.8.8, filling the static variable
# - resolvehost will call dns_a_get_he, which calls str2ip on 100.100.100.100, overwriting the static variable
# - the static variable will be compared to itself
dns_int_match_ip('100.100.100.100', '8.8.8.8') == true
```
--
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/issues/2645
<!-- 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 -->
- [ ] Commit message has the format required by CONTRIBUTING guide
- [ ] 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/2664
-- Commit Summary --
* Merge pull request #1 from kamailio/master
* Merge pull request #2 from kamailio/master
* lrkproxy: lreproxy name is changed
* lrkproxy: add doc/ xml folder
* lrkproxy:some issue related to lrkproxy_manage
-- File Changes --
A src/modules/lrkproxy/Makefile (17)
A src/modules/lrkproxy/doc/Makefile (4)
A src/modules/lrkproxy/doc/lrkproxy.xml (33)
A src/modules/lrkproxy/doc/lrkproxy_admin.xml (364)
A src/modules/lrkproxy/lrkproxy.c (1732)
A src/modules/lrkproxy/lrkproxy.h (107)
A src/modules/lrkproxy/lrkproxy_funcs.c (479)
A src/modules/lrkproxy/lrkproxy_funcs.h (41)
A src/modules/lrkproxy/lrkproxy_hash.c (522)
A src/modules/lrkproxy/lrkproxy_hash.h (75)
-- Patch Links --
https://github.com/kamailio/kamailio/pull/2664.patchhttps://github.com/kamailio/kamailio/pull/2664.diff
--
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/2664
### Description
Hi,
I am migrating from Kamailio 4.4.7 (debian 8.1) to 5.4.3 (debian 10.7).
I changed the neccessary changes in configuration (replaced MI with RPC) and I tried to start the kamailio. The issue is that it takes about 3minutes to start. On the older version 4.4.7 it started aproximetly in 20s.
The modules I am using are:
```
"cfgutils.so","db_mysql.so","kex.so","tm.so","tmx.so","sl.so","rr.so","pv.so","maxfwd.so","textops.so","siputils.so","xlog.so","sanity.so","ctl.so","jsonrpcs.so","exec.so","carrierroute.so","avpops.so","sqlops.so","dmq.so","htable.so","dialog.so","acc.so","acc_radius.so","dispatcher.so","dialplan.so","textopsx.so","statsd.so","app_perl.so","http_async_client.so".
```
I assume the issue is caused by carrierroute module. It takes also about 3 minutes to reload routes (when the kamailio service is running) using rpc command cr.reload_routes.
I did not change anything in configuration related to carrierroute module.
```
modparam("carrierroute", "config_source", "db")
modparam("carrierroute", "db_url", DBURL)
modparam("carrierroute", "match_mode", 128)
modparam("carrierroute", "avoid_failed_destinations", 0)
modparam("carrierroute", "carrierroute_table", "carrierroute_view")
```
Carrierroute module loading on version 4.4.7 needed:
- INFO: carrierroute [cr_db.c:317]: load_route_data_db(): **took 1s**
- INFO: carrierroute [cr_carrier.c:100]: add_domain_data(): and INFO: carrierroute [cr_data.c:414]: get_domain_data_or_add(): **took 8s**
- INFO: carrierroute [cr_data.c:655]: rule_fixup(): **took 3s**
Carrierroute module loading on version 5.4.3 needed:
- INFO: carrierroute [cr_db.c:317]: load_route_data_db(): **took 1s**
- INFO: carrierroute [cr_carrier.c:100]: add_domain_data(): and INFO: carrierroute [cr_data.c:414]: get_domain_data_or_add(): **took 2min 23s**
- INFO: carrierroute [cr_data.c:655]: rule_fixup(): **took 17s**
I have also compiled kamailio version 5.0 on both (debian 8.1 and debian 10.7), but it also took so long to start on both machines.
### Additional Information
```
version: kamailio 5.4.3 (x86_64/linux) 06bd17
flags: USE_TCP, USE_TLS, USE_SCTP, TLS_HOOKS, USE_RAW_SOCKS, DISABLE_NAGLE, USE_MCAST, DNS_IP_HACK, SHM_MMAP, PKG_MALLOC, Q_MALLOC, F_MALLOC, TLSF_MALLOC, DBG_SR_MEMORY, USE_FUTEX, FAST_LOCK-ADAPTIVE_WAIT, USE_DNS_CACHE, USE_DNS_FAILOVER, USE_NAPTR, USE_DST_BLACKLIST, HAVE_RESOLV_RES, TLS_PTHREAD_MUTEX_SHARED
ADAPTIVE_WAIT_LOOPS 1024, MAX_RECV_BUFFER_SIZE 262144, MAX_URI_SIZE 1024, BUF_SIZE 65535, DEFAULT PKG_SIZE 8MB
poll method support: poll, epoll_lt, epoll_et, sigio_rt, select.
id: 06bd17
compiled on 16:10:30 Jan 25 2021 with gcc 8.3.0
```
* **Operating System**:
```
Linux 4.19.0-13-amd64 #1 SMP Debian 4.19.160-2 (2020-11-28) x86_64 GNU/Linux
Debian 10.7
```
Thank you for your help.
--
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/issues/2613
Module: kamailio
Branch: master
Commit: b81f7bcf4427b050a52ba20f563e993c9e87c3e0
URL: https://github.com/kamailio/kamailio/commit/b81f7bcf4427b050a52ba20f563e993…
Author: Daniel-Constantin Mierla <miconda(a)gmail.com>
Committer: Daniel-Constantin Mierla <miconda(a)gmail.com>
Date: 2021-03-09T13:43:28+01:00
uac_redirect: docs - updates for q_value param [skip ci]
---
Modified: src/modules/uac_redirect/doc/uac_redirect_admin.xml
---
Diff: https://github.com/kamailio/kamailio/commit/b81f7bcf4427b050a52ba20f563e993…
Patch: https://github.com/kamailio/kamailio/commit/b81f7bcf4427b050a52ba20f563e993…
---
diff --git a/src/modules/uac_redirect/doc/uac_redirect_admin.xml b/src/modules/uac_redirect/doc/uac_redirect_admin.xml
index 97cb6414ad..eb66416d05 100644
--- a/src/modules/uac_redirect/doc/uac_redirect_admin.xml
+++ b/src/modules/uac_redirect/doc/uac_redirect_admin.xml
@@ -342,12 +342,12 @@ modparam("uac_redirect","flags_hdr_mode",2)
</example>
</section>
<section>
- <title><varname>default_q_value</varname> (int)</title>
+ <title><varname>q_value</varname> (int)</title>
<para>
Specifies the q-value to asign to contacts without one. Because
Kamailio doesn't support float parameter types, the value in the
parameter is divided by 1000 and stored as float. For example, if
- you want default_q_value to be 0.38, use value 380 here.
+ you want q value to be 0.38, use value 380 here.
</para>
<para>
<emphasis>
@@ -355,10 +355,10 @@ modparam("uac_redirect","flags_hdr_mode",2)
</emphasis>
</para>
<example>
- <title>Set <varname>default_q_value</varname> parameter</title>
+ <title>Set <varname>q_value</varname> parameter</title>
<programlisting format="linespecific">
...
-modparam("uac_redirect","default_q_value",0)
+modparam("uac_redirect","q_value",0)
...
</programlisting>
</example>
The old, quite arbitrary, default of 0.01 is preserved.
<!-- 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 -->
You can view, comment on, or merge this pull request online at:
https://github.com/kamailio/kamailio/pull/2647
-- Commit Summary --
* uac_redirect: Make default q-value configurable
-- File Changes --
M src/modules/uac_redirect/doc/uac_redirect_admin.xml (19)
M src/modules/uac_redirect/rd_funcs.c (4)
M src/modules/uac_redirect/uac_redirect.c (4)
-- Patch Links --
https://github.com/kamailio/kamailio/pull/2647.patchhttps://github.com/kamailio/kamailio/pull/2647.diff
--
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/2647