The actual implementation is based on the cfg actions, so when there is no 'return' action defined the route flow detected is wrong.
---
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/569
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
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
<!-- 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
### Description
I use kazoo and postgres modules on my host. I found that many database operation generates error like
```
19(150) exec: *** cfgtrace:request_route=[kazoo:consumer-event-presence-dialog-update] c=[//etc/kamailio/presence-role.cfg] l=270 a=32 n=kazoo_pua_publish_presence
17(148) exec: *** cfgtrace:request_route=[kazoo:consumer-event-presence-dialog-update] c=[//etc/kamailio/presence-role.cfg] l=271 a=27 n=pres_refresh_watchers
Entity: line 1: parser error : Start tag expected, '<' not found
\x3c3f786d6c2076657273696f6e3d22312e302220656e636f64696e673d225554462d38223f3e3c
^
17(148) ERROR: presence_xml [notify_body.c:551]: agregate_xmls(): while parsing xml body message
17(148) ERROR: presence_xml [notify_body.c:156]: pres_agg_nbody(): while aggregating body
19(150) exec: *** cfgtrace:request_route=[kazoo:consumer-event-presence-dialog-update] c=[//etc/kamailio/presence-role.cfg] l=271 a=27 n=pres_refresh_watchers
Entity: line 1: parser error : Start tag expected, '<' not found
\x3c3f786d6c2076657273696f6e3d22312e302220656e636f64696e673d225554462d38223f3e3c
^
19(150) ERROR: presence_xml [notify_body.c:551]: agregate_xmls(): while parsing xml body message
19(150) ERROR: presence_xml [notify_body.c:156]: pres_agg_nbody(): while aggregating body
18(149) exec: *** cfgtrace:request_route=[kazoo:consumer-event-nodes-advertise] c=[//etc/kamailio/nodes-role.cfg] l=66 a=63 n=assign
18(149) exec: *** cfgtrace:request_route=[kazoo:consumer-event-nodes-advertise] c=[//etc/kamailio/nodes-role.cfg] l=74 a=16 n=if
18(149) exec: *** cfgtrace:request_route=[kazoo:consumer-event-nodes-advertise] c=[//etc/kamailio/nodes-role.cfg] l=74 a=16 n=if
18(149) exec: *** cfgtrace:request_route=[kazoo:consumer-event-nodes-advertise] c=[//etc/kamailio/nodes-role.cfg] l=75 a=27 n=mq_add
Entity: line 1: parser error : Start tag expected, '<' not found
\x3c3f786d6c2076657273696f6e3d22312e302220656e636f64696e673d225554462d38223f3e3c
^
17(148) ERROR: presence_xml [notify_body.c:551]: agregate_xmls(): while parsing xml body message
17(148) ERROR: presence_xml [notify_body.c:156]: pres_agg_nbody(): while aggregating body
Entity: line 1: parser error : Start tag expected, '<' not found
\x3c3f786d6c2076657273696f6e3d22312e302220656e636f64696e673d225554462d38223f3e3c
^
19(150) ERROR: presence_xml [notify_body.c:551]: agregate_xmls(): while parsing xml body message
19(150) ERROR: presence_xml [notify_body.c:156]: pres_agg_nbody(): while aggregating body
Entity: line 1: parser error : Start tag expected, '<' not found
\x3c3f786d6c2076657273696f6e3d22312e302220656e636f64696e673d225554462d38223f3e3c
^
17(148) ERROR: presence_xml [notify_body.c:551]: agregate_xmls(): while parsing xml body message
17(148) ERROR: presence_xml [notify_body.c:156]: pres_agg_nbody(): while aggregating body
17(148) exec: *** cfgtrace:request_route=[kazoo:consumer-event-presence-dialog-update] c=[//etc/kamailio/presence-role.cfg] l=276 a=26 n=xlog
17(148) INFO: <script>: 3O75Qw3gqR3ZNla5RfCgQLVW0-8KKbrT|log|finished processing dialog update for sip:2496@rcsnet.ru state confirmed from sip:217.12.247.98:11000 at 1506632313/1506632313/1506632313
Entity: line 1: parser error : Start tag expected, '<' not found
\x3c3f786d6c2076657273696f6e3d22312e302220656e636f64696e673d225554462d38223f3e3c
^
```
After some debugging i found that kamailio wants save to database xml string like this as BLOB object
```
<?xml version="1.0" encoding="UTF-8"?><presence xmlns="urn:ietf:params:xml:ns:pidf" xmlns:dm="urn:ietf:params:xml:ns:pidf:data-model" xmlns:rpid="urn:ietf:params:xml:ns:pidf:rpid" xmlns:c="urn:ietf:params:xml:ns:pidf:cipid" entity="2496"> <tuple xmlns="urn:ietf:params:xml:ns:pidf" id="t8No1hQnp65U33jS1oqFMgxbIRPq-iFP"><status><basic>open</basic></status></tuple><note xmlns="urn:ietf:params:xml:ns:pidf">On the Phone</note><dm:person xmlns:dm="urn:ietf:params:xml:ns:pidf:data-model" xmlns:rpid="urn:ietf:params:xml:ns:pidf:rpid" id="1"><rpid:activities><rpid:on-the-phone/></rpid:activities><dm:note>On the Phone</dm:note></dm:person></presence>
```
And later tries to read. But when this XML read reverse conversion of BLOB to string is not take place. And late used BLOB as is. This breaks presentation logic completely.
#### Reproduction
Configure kamailio on kazoo cluster to use PostgreSQL database
On phone create subscribe to second
>From second phone create new call.
#### Operating System
CentOS 7
Linux node2.docker.rcsnet.ru 3.10.0-514.16.1.el7.x86_64 #1 SMP Wed Apr 12 15:04:24 UTC 2017 x86_64 x86_64 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/1255
<!-- 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
- [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 -->
- [x] PR should be backported to stable branches
- [x] Tested changes locally
- [ ] Related to issue #XXXX (replace XXXX with an open issue number)
#### Description
I can’t get big responses via jsonrpcs with default tcp params. According to log response size ~3200k, kamailio send ~2500k of data and can’t add 700k to queue after. This patch should fix, if my understanding of “queued” value is right.
You can view, comment on, or merge this pull request online at:
https://github.com/kamailio/kamailio/pull/1376
-- Commit Summary --
* tcp: correct queued length checking
-- File Changes --
M src/core/tcp_main.c (2)
-- Patch Links --
https://github.com/kamailio/kamailio/pull/1376.patchhttps://github.com/kamailio/kamailio/pull/1376.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/1376