Greetings,
I'm sorry if this isn't the right place to post this
$sipt(redirection_number) from module sipt evaluates the value of redirection number as a numerical value however, it can contain hexadecimal values.
Best Regards
--
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/1789
Hi,
we do a lot of DNS requests (ENUM, Domain-Lookups, etc.).
It would be quite awesome, if Kamailio would produce a statistic on the average duration of a DNS-Query.
Thanks,
Carsten
P.S.: It would also be nice, to have similar stats on MySQL-DB-Queries. One day, if I find time....
--
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/821
### Description
Since we upgraded from v5.0.2 to v5.1.4 we are seeing spikes in our monitoring platform regarding current active and early dialogs.
Every 10s we gather metrics using Kamailio's HTTP server:
```
# Statistics endpoint
if ($hu =~ "^/statistics") {
jsonrpc_exec('{"jsonrpc": "2.0","method": "stats.get_statistics","params": ["all"],"id": 1}');
xhttp_reply("200", "OK", "application/json", "$jsonrpl(body)");
exit;
}
```
stats.get_statistics has lots of metrics, the problematic ones we have found are:
```
"dialog.active_dialogs": "84",
"dialog.early_dialogs": "16",
```
The issue is that randomly, instead of reporting the real active/early dialogs, it will return **9223372036854776000**.
Example:
```
...
"dialog.active_dialogs": "77",
"dialog.early_dialogs": "9223372036854776000",
...
...
"dialog.active_dialogs": "9223372036854776000",
"dialog.early_dialogs": "20",
...
...
"dialog.active_dialogs": "83",
"dialog.early_dialogs": "18",
...
```
### Troubleshooting
I added logging for kamailio to print the value for active-dialogs just to make sure it wasn't a problem further down in the pipeline, and I could see that same number, so it's definitely coming from Kamailio. Also, on version v5.0.2 installed from deb repo this did not happen.
#### Reproduction
I cannot reproduce on purpose, I see it happen several times a day though.
#### Debugging
Please let me know what I can provide to troubleshoot this, I don't know where to start, I'm concerned of activating debug logs in prod and waiting for this to happen might overload the system, any alternatives?
### Additional Information
* **Kamailio Version** - output of `kamailio -v`
```
# kamailio -v
version: kamailio 5.1.4 (x86_64/linux)
flags: STATS: Off, USE_TCP, USE_TLS, USE_SCTP, TLS_HOOKS, DISABLE_NAGLE, USE_MCAST, DNS_IP_HACK, SHM_MEM, 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
ADAPTIVE_WAIT_LOOPS=1024, MAX_RECV_BUFFER_SIZE 262144, MAX_LISTEN 16, 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 6.3.0
```
* **Operating System**:
```
OS: Debian stretch 9.4
Kernel: Linux kamailio 4.9.0-6-amd64 #1 SMP Debian 4.9.88-1+deb9u1 (2018-05-07) 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/1591
Currently i am trying to test mongodb for usrloc module of kamailio.
As expected kamailio is saving the contacts on DB.
However i am encountering a problem that the nathelper does not ping the registered contact on mongodb but when mysql is used it is ok even if ping_nated_only is set to 0.
If mysql:
```
modparam("usrloc", "db_url", DBURL)
modparam("usrloc", "db_mode", 3)
modparam("usrloc", "use_domain", 0)
modparam("usrloc", "timer_interval", 60)
modparam("usrloc", "db_ops_ruid", 1)
modparam("nathelper", "natping_interval", 30)
modparam("nathelper", "ping_nated_only", 0)
modparam("nathelper", "sipping_bflag", 7)
modparam("nathelper", "sipping_from", "sip:pinger@kamailio.org")
```
if mongodb
```
modparam("usrloc", "db_url", MONGODBURL)
modparam("usrloc", "db_mode", 3)
modparam("usrloc", "use_domain", 0)
modparam("usrloc", "timer_interval", 60)
modparam("usrloc", "db_insert_null", 1)
modparam("usrloc", "db_ops_ruid", 1)
modparam("nathelper", "natping_interval", 30)
modparam("nathelper", "ping_nated_only", 0)
modparam("nathelper", "sipping_bflag", 7)
modparam("nathelper", "sipping_from", "sip:pinger@kamailio.org")
```
```
version: kamailio 4.4.5 (x86_64/linux) f98162
flags: STATS: Off, USE_TCP, USE_TLS, USE_SCTP, TLS_HOOKS, DISABLE_NAGLE, USE_MCAST, DNS_IP_HACK, SHM_MEM, 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
ADAPTIVE_WAIT_LOOPS=1024, MAX_RECV_BUFFER_SIZE 262144, MAX_LISTEN 16, MAX_URI_SIZE 1024, BUF_SIZE 65535, DEFAULT PKG_SIZE 8MB
poll method support: poll, epoll_lt, epoll_et, sigio_rt, select.
id: f98162
compiled on 08:56:05 Jan 10 2019 with gcc 4.6.3
```
Ah by the way only usrloc table is using mongodb, the rest of the module is using mysql, for testing only.
Can you advice if i am missing something?
Regards,
--
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/1805
If I enable dialog module Kamailio will fail to start with following error:
ERROR: dialog [dialog.c:498]: mod_init(): no dlg flag set!!
In the documentation this parameter is set to 4 as an example:
modparam("dialog", "dlg_flag", 4)
But no comments made as to why number 4 is used, which numbers are possible to use and most importantly - why such default value is chosen?
In any case - module should use default which does not break server's configuration.
---
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/issues/372
- forward in dialog messages using RMS bridge in B2BUA manner
- move all code related to rms_session_info to dedicated source file
- session_list refactoring to always include all dialog information
needed
- suspend transaction to have non blocking bridging
- random rtp port
- stop using shared memory for MS2 and oRTP, manage all the allocation
from one dedicated process
<!-- 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
- [x] Tested changes locally
- [ ] Related to issue #XXXX (replace XXXX with an open issue number)
#### Description
Even if this module is very much Alpha, I am getting closer to the minimal feature set I was having in mind, I should be able to focus my work on stabilizing the code and validate the behavior.
```
route {
if (t_precheck_trans()) {
t_check_trans();
exit;
}
t_check_trans();
xnotice("[$rm][$ci]\n");
if (is_method("INVITE") && !has_totag()) {
fix_nated_contact();
if ($rU == "777") {
setflag(2);
if (rms_answer() != 1) {
send_reply("503", "server error");
xerr("rtp_media_server error!\n");
exit;
} else {
exit;
}
}
$var(target) = "sip:1234@11.12.69.51:5060;";
if (!rms_bridge("$var(target)", "rms:bridged")) {
send_reply("604", "server error");
xerr("rtp_media_server bridge error!\n");
exit;
}
}
if(rms_session_check())
rms_sip_request();
exit;
}
```
You can view, comment on, or merge this pull request online at:
https://github.com/kamailio/kamailio/pull/1823
-- Commit Summary --
* rtp_media_server: adding call bridging
-- File Changes --
M src/core/dns_cache.c (1)
M src/core/resolve.c (11)
M src/modules/rtp_media_server/Makefile (0)
M src/modules/rtp_media_server/config_example/kamailio.cfg (5)
M src/modules/rtp_media_server/doc/rtp_media_server_admin.xml (40)
A src/modules/rtp_media_server/doc/state.txt (14)
M src/modules/rtp_media_server/rms_media.c (160)
M src/modules/rtp_media_server/rms_media.h (7)
M src/modules/rtp_media_server/rms_sdp.c (106)
M src/modules/rtp_media_server/rms_sdp.h (2)
A src/modules/rtp_media_server/rms_session_info.c (202)
A src/modules/rtp_media_server/rms_session_info.h (109)
M src/modules/rtp_media_server/rms_util.h (4)
M src/modules/rtp_media_server/rtp_media_server.c (887)
M src/modules/rtp_media_server/rtp_media_server.h (46)
M src/modules/tm/ut.h (2)
-- Patch Links --
https://github.com/kamailio/kamailio/pull/1823.patchhttps://github.com/kamailio/kamailio/pull/1823.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/1823
<!-- 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
- [ ] Commits are split per component (core, individual modules, libs, utils, ...)
- [ ] 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 -->
If Kamailio sends a 301/302, the current dset is added as Contact header automatically. The feature in this PR will optionally extend this Contact header with more information.
- The path vector for each contact can be added as a Contact-uri Route header (rfc 3327 conformant).
- The branch flags can be added as a Contact-header parameter (non-standard).
In addition, the get_redirects function is extended to optionally parse the new flags parameter. The Route header can be extracted from the r-uri in the script.
The new functionality must be enabled with module parameters, by default the behavior is unchanged.
You can view, comment on, or merge this pull request online at:
https://github.com/kamailio/kamailio/pull/1243
-- Commit Summary --
* core: Cleanup printing the dset
* core: dset: Create Contacts header with path vector as Route header
* core: dset: Create contacts with flags as header parameter
* core modules/tm modules/sl: Make adding path and flags to redirected contacts optional
* core: Increase MAX_REDIRECTION_LEN from 512 to 4096
* uac_redirect: Parse Contact's "flags" header parameter into branch flags.
-- File Changes --
M src/core/config.h (2)
M src/core/dset.c (252)
M src/core/dset.h (6)
M src/core/parser/contact/contact.c (2)
M src/core/parser/contact/contact.h (1)
M src/core/parser/parse_param.c (11)
M src/core/parser/parse_param.h (2)
M src/modules/pv/pv_core.c (2)
M src/modules/sl/doc/sl_params.xml (30)
M src/modules/sl/sl.c (1)
M src/modules/sl/sl_funcs.c (5)
M src/modules/sl/sl_funcs.h (2)
M src/modules/tm/doc/params.xml (30)
M src/modules/tm/t_reply.c (4)
M src/modules/tm/tm.c (1)
M src/modules/uac_redirect/doc/uac_redirect_admin.xml (40)
M src/modules/uac_redirect/rd_funcs.c (11)
M src/modules/uac_redirect/rd_funcs.h (2)
M src/modules/uac_redirect/uac_redirect.c (2)
M src/modules/xprint/xp_lib.c (2)
-- Patch Links --
https://github.com/kamailio/kamailio/pull/1243.patchhttps://github.com/kamailio/kamailio/pull/1243.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/1243
As discused on #1569, here is a new feature request.
### What this feature request is all about?
Currently there is a feature on topos module, which allows Kamailio to disable topos on requests destined to specific IP address. This event_route however has a drawback since it is only usable if the specified IP address is never sending requests to Kamailio.
Consider a following scenario:
Asterisk is sending an INVITE to Kamailio, which will reroute it to Provider. Kamailio has event_route 'topos:msg-outgoing' enabled and there is the following statement:
```
event_route[topos:msg-outgoing] {
if($sndto(ip)=="89.18.234.47") {
xlog("L_INFO","Not going to topos this request\n");
drop;
}
}
```
In this case 10.20.234.47 is IP address of Asterisk since system admin does not want to hide topology when requests are going to Asterisk. However after this INVITE call is ended from the receiving end, which is causing a BYE message coming from Provider to Asterisk. On this BYE request, topos event_route is triggered and BYE message is dropped out of topos process. Then the originally masked contact uri stays in the message and BYE request does not find its final destination.
### What should be done?
Current event_route is designed to only make a decision by destination IP address for speed reasons. To be able to properly investigate each SIP message throughly before making a decision to topos or not, we need to have another event_route. An example of this event_route call could be as follows:
```
event_route[topos:msg-parse] {
if($rd=="89.18.234.47" && $rm != "BYE") {
xlog("L_INFO","Not going to topos this request <$rm> from <$si> to <$rd>\n");
drop;
}
}
```
--
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/1573