Hi kamailiers,
I ask your help for a strange situation with topos, 183 (before a 200OK)
and SIP INFO
My topology is kamailio in front of asterisks; so kamailio has 2 interfaces
(1Public to talk with customers and carriers and 1 Private to talk with
asterisk).
In the image:
- the first column is the customer
- the second is the public interface of kamailio
- the third is the private interface of kamaiio
- the fourth is asterisk
As you can see in the image, the customer send an INVITE and the carrier
give back the IVR messages in a 183 (before a 200OK) asking for an IVR
selection.
The customer (configured to use SIP INFO) types a key and sends in INFO,
but as you can see kamailio sends the INFO to himself to private interface
instead of sending it to asterisk as if the contact that handled topos
contained incorrect information.
[image: Schermata 2022-04-26 alle 19.40.32.png]
- If the customer is configured with a RFC2833
- or if the IVR messages is not in a 183 but is sent after a 200OK
- or if I disabe TOPOS
*all works fine*
I used kamailio 5.5.3, I also try to upgrade to 5.5.4 but nothing change
Maybe could be connected with
https://github.com/kamailio/kamailio/issues/2344https://github.com/kamailio/kamailio/issues/1077
Could be a kamailio bug for this particular situation or am I getting lost
in a glass of water?
thanks a lot
cheers
Giovanni Tommasini
*evoseed s.r.l.*
phone: +39 340 11 28 800
mail: giovanni.tommasini(a)evoseed.io
site: evoseed.io
address: Via Lucrezio 13, Trieste Italy
Hallo all,
I would need help with Kamailio. I hope, you can give me some hints.
I would like use Kamailio for CFNRy feature call forward no replay, i.e.
- call is forked to multiple destination
- 180 is received, call is ringing, but not answered, no 200 OK is received
from destinations
- after predefined time (CFNRy timer), the specific branch has to be
rerouted to another destination
Expected behaviour is described in this flow:
[image: image.png]
My current behavior:
- Kamailio TM module is involved for parallel forking (
https://www.kamailio.org/docs/modules/stable/modules/tm.html#:~:text=1.-,Ov…
)
- all branches are CANCEL-ed, it is not possible send CANCEL just to one
specific branch
[image: image.png]
My questions:
- is it possible to CANCEL just specific branch of parallel forked calls?
- is it possible start timer just for specific branch?
- do you think is it possible implement this feature with Kamailio?
Thanks a lot in advance for any comments.
Pavel.
Hello.
Kamailio 5.2.1, Debian 10.
I need to change session name (s=) in SDP before relaying it to next hop,
and for unknown reason I can't do it with virtually any TEXTOPS function,
everything replace*, subst*, *body*... For example this from TEXTOPS
documentation:
subst_body('/^s=(.*)/s=root/')
just before 'final' t_relay().
Either Kamailio just adds "s=root" to SDP leaving first "s=" intact, or
adds just "root", or does nothing.
Also I've tried msg_apply_changes() before and after these manipulations,
still no result.
Is it possible to make this in Kamailio without source code modification?
Hello! I have kamailio 5.5 configured with digest authentication.
DB Mysql, 2 rtpengine one on the same server with kamailio, the other is separate.
Rtpengins work in bridge mode, internal/external/external-ipV6.
Kamailio listen 3 address: internal/external/external-ipV6 work in mixed mode: ipV4-ipV4, ipV4-ipV6, ipV6-ipV6.
OS Debian 10, CPU 1 core, Ram 4gb, Disk not ssd.
internal address is used for the gateway model of the connection to the PSTN. Before sending a call to PSTN, a request is sent to Billing by Diameter (request over the network, ims_charging ), Billing responds in the region of 10-17 milliseconds. usrloc db_mode = 0; UAS contacts are received according to the PUSH scheme (we send PUSH via http and get a REGISTER). children = 8 for each;
When running synthetic tests with sipp, I get 36 cps as a maximum, but there are a lot of retrans.
This is a test environment.
Product:
I plan to get 100 cps; 20k concurrent calls, hardware will be 128GB RAM ddr4-2400; Intel Xeon Silver 4216, Optane SSD. 2 such servers, kamailio/rtpengine are configured exactly according to the scheme of the test environment.
Question:
Can you please tell me how many children, shm/pv do I need?
Is it worth going in the direction of asynchrony, or is the standard one enough for my purpose?
I will be very glad for any help.
Thank you!
--
Отправлено из Mail.ru для Android
Hi,
Intermittently we are observing the following error when checking if given
header is present in SIP INVITE:
SystemError: returned a result with an error set
The complete stack trace is (some names redacted):
11(28) ERROR: {1 195 INVITE nMHZDN.10nOIDt4ldOwz5cqz0XnMepA9} app_python3
[python_support.c:156]: python_handle_exception(): apy_exec:
modify_headers((null)): Unhandled exception in the Python code:
TypeError: an integer is required (got type NoneType)
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/etc/kamailio/kamailio.py", line 25, in modify_headers
self.modify_header("SomeHeader")
File "/etc/kamailio/kamailio.py", line 29, in modify_header
present = KSR.hdr.is_present(header_name)
SystemError: returned a result with an error set
Kamailio version (kamailio -v output):
version: kamailio 5.4.6 (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
Operation system: Linux kamailio-5c7484c74d-vhhr8 5.4.0-1056-azure
#58~18.04.1-Ubuntu SMP Wed Jul 28 23:14:18 UTC 2021 x86_64 GNU/Linux
Are you able to help me find the root cause of this issue?
Pozdrawiam / Best regards,
Wojtek
--
*For more information on how and why we collect your personal
information, please visit our Privacy Policy
<https://www.motorolasolutions.com/en_us/about/privacy-policy.html?elqTrackI…>.*
Hello,
I am trying to implement scenario described in this thread
by Daniel-Constantin Mierla.
I am able to cache registration using save but i am not able to handle
unregistration.
Unregister function of registrar module is not available in onreply routes
and I cannot unregister until upstream registrar returns 200 OK on Expire 0
message.
Is there any workaround to fix this?
Thanks,
Hi all!
How are you?
I have a kamailio instance and some users are having issues connecting
via websocket using TLS. The logs show SSLv3 errors. Cannot find why
that error would show up if SSLv2/3 is not enabled. Double checked it
via SSLLabs that only TLSv1.2 is allowed in the service.
Error sample:
```
15(36) ERROR: tls [tls_util.h:42]: tls_err_ret(): TLS
accept:error:14094416:SSL routines:ssl3_read_bytes:sslv3 alert
certificate unknown
15(36) ERROR: <core> [core/tcp_read.c:1512]: tcp_read_req(): ERROR:
tcp_read_req: error reading - c: 0x7fafc8768190 r: 0x7fafc8768278 (-1)
```
This instance has close to 400 websocket connections opened during the
day. I have a high log level enabled. I was not able to identify any
reason why this happens. The certificate is a Letsencrypt certificate.
The issue is that sometimes clients have a hard time connecting to the
websocket and that maybe related. Below are a few more details about
the config. Please let me know if you have any pointers on how to
debug those connection issues.
8<-----
TLS config:
modparam("tls", "tls_method", "TLSv1.2+")
modparam("tls", "verify_certificate", 0)
modparam("tls", "require_certificate", 0)
modparam("tls", "low_mem_threshold1", 0)
modparam("tls", "low_mem_threshold2", 0)
modparam("tls", "private_key", "/etc/certs/tls.key")
modparam("tls", "certificate", "/etc/certs/tls.crt")
version: kamailio 5.3.9 (x86_64/linux)
8<-----
This is related to the issue
https://github.com/kamailio/kamailio/issues/3085 (as pointed out it is
not a problem in Kamailio code).
Thanks,
Vinicius
Hello to everyone,
we have a Kamailio 5.5 + RTPEngine deployment.
Some devices will send an invite with both audio and video in the offer and
we are trying to disable the video portion of the invite by either setting
the video port to 0 or by setting a=inactive in the video portion of the
SDP packet.
We know that sdpops has a function that would be able to remove the video
portion but it violates standards so we can't use it.
We need to disable the video in the SDP offers because one of the pstn
providers we are using doesn't accept invites that contain a video offer.
I've spent days searching but I can't find an obvious way of achieving this.
We were originally doing it with textops but we've been having some issues
where the sdp wouldn't be modified correctly in reinvites after the
original call is in place so we're looking for alternatives.
Can someone please help us?
Thanks in advance
Simone de Blasiis
Hello guys,
We have a cluster of about 10 kamilios 5.4 with several million htable
records.
Restarting any server is not a problem, CPU goes ip for a second but
everything comes back down to normal.
We added a 5.5 by mistake and it won't start, it'll just eat up memory
until it bails out with
qm_malloc(): qm_malloc(0x149dd5ebb000, 16016) called from tm: h_table.c:
build_cell(334), module: tm; Free fragment not found!
Is there any known issue between DMQ 5.4 and 5.5?
Regards,
David Villasmil
email: david.villasmil.work(a)gmail.com
phone: +34669448337
Hello,
we noticed the exact behaviour on Kamailio 5.5.4 and topos.
If we disable topos the UPDATE messages are being recognized as loose in
the WITHINDLG route and everything works.
When topos is enabled the UPDATE messages fail the loose_route() check and
even if we force the record_route() the message is still not being
forwarded.
I had just posted my own thread here
<https://lists.kamailio.org/pipermail/sr-users/2022-April/114710.html> because
I didn't see this one.
I'll proceed opening an issue on GitHub so we can track this.
Best regards
Simone
Hello,
we noticed the exact behaviour on Kamailio 5.5.4 and topos.
If we disable topos the UPDATE messages are being recognized as loose in
the WITHINDLG route and everything works.
When topos is enabled the UPDATE messages fail the loose_route() check and
even if we force the record_route() the message is still not being
forwarded.
I had just posted my own thread here
<https://lists.kamailio.org/pipermail/sr-users/2022-April/114710.html> because
I didn't see this one.
I'll proceed opening an issue on GitHub so we can track this.
Best regards
Simone
Hello to everyone,
we are experiencing some issues with UPDATE messages being sent by the PSTN
after an early media announcement.
To reproduce the issue I have to call a specific number that has an early
media announcement, since it's a paid phone number it has to announce how
much it would cost before picking up the call. In this initial part the
call is being negotiated in g711a.
As soon as the announcement ends, the PSTN sends an UPDATE message
containing the new desidered codec from the callee which is g729.
At this moment Kamailio doesn't route the UPDATE message to the destination
and it actually replies with a 404 message.
I've attached a pcap with anonymized IPs to make it harder for bots.
Here is a legend for the IPs:
-
- 12.34.123.123 is Kamailio
- 62.23.19.74 is the PSTN
- 1.2.130.40 is the client making the call
I found a similar report <https://github.com/kamailio/kamailio/issues/2659>
in the GitHub issues of the repository and we tried forcing the
record_route() as suggested but, as the OP reported in his last message,
it's not working.
As soon as we disable topos, the UPDATE message is correctly relayed to the
caller.
In the documentation we can't find anything that could give us a hint on
what's happening.
Does anyone have any idea on what could be happening?
Thanks in advance
Simone
Hi all
I've been checking for adding rcd info to te stir/shaken stuff using secspid
module. I've only found this thread:
https://lists.kamailio.org/pipermail/sr-dev/2021-June/063156.html
I'd like to know if someone has working code snippet using this function to
create/sign the json containing the rcd and creating the Identity header
instead of calling the all_in_one secsipid_add_identity function I'm using now.
cheers,
Jon
--
PekePBX, the multitenant PBX solution
https://pekepbx.com
Hello,
I'm using sql_xquery from sqlops module to execute requests on a PostgreSQL database.
This work fine.
Now, for performance reasons, I would like to use prepared statements.
I'm wondering if this is possible using sql_xquery. I've looked at the code and documentation, it seems it is not supported.
Can you confirm ?
If not possible with sql_xquery, is it possible with another existing function ?
In the code, I've searched for < PQprepare > / < PQexecPrepared >.
These can be found only in < modules/db_postgres/pg_cmd.c >, in function < pg_cmd_exec > which is exported from < modules/db_postgres/pg_mod.c > (see below).
I have no idea how to use these though... :/
Any ideas ?
/*
* Postgres module interface
*/
static cmd_export_t cmds[] = {
{"db_ctx", (cmd_function)NULL, 0, 0, 0, 0},
{"db_con", (cmd_function)pg_con, 0, 0, 0, 0},
{"db_uri", (cmd_function)pg_uri, 0, 0, 0, 0},
{"db_cmd", (cmd_function)pg_cmd, 0, 0, 0, 0},
{"db_put", (cmd_function)pg_cmd_exec, 0, 0, 0, 0},
{"db_del", (cmd_function)pg_cmd_exec, 0, 0, 0, 0},
{"db_get", (cmd_function)pg_cmd_exec, 0, 0, 0, 0},
{"db_upd", (cmd_function)pg_cmd_exec, 0, 0, 0, 0},
{"db_sql", (cmd_function)pg_cmd_exec, 0, 0, 0, 0},
{"db_res", (cmd_function)pg_res, 0, 0, 0, 0},
{"db_fld", (cmd_function)pg_fld, 0, 0, 0, 0},
{"db_first", (cmd_function)pg_cmd_first, 0, 0, 0, 0},
{"db_next", (cmd_function)pg_cmd_next, 0, 0, 0, 0},
{"db_setopt", (cmd_function)pg_setopt, 0, 0, 0, 0},
{"db_getopt", (cmd_function)pg_getopt, 0, 0, 0, 0},
{"db_bind_api", (cmd_function)db_postgres_bind_api, 0, 0, 0, 0},
{0, 0, 0, 0, 0, 0}
};
Regards,
Nicolas.
This message contains information that may be privileged or confidential and is the property of the Capgemini Group. It is intended only for the person to whom it is addressed. If you are not the intended recipient, you are not authorized to read, print, retain, copy, disseminate, distribute, or use this message or any part thereof. If you receive this message in error, please notify the sender immediately and delete all copies of this message.
Hello,
I am attempting to get Kamailio to run as a docker container using a docker network of type network=overlay (everything works great if network=host). The issue is that incoming calls are rejected because of 'connection refused'. I noticed that when running on an overlay network, netstat shows the following => tcp6 0 0 :::5060 :::* LISTEN 10001/docker-proxy-current
(Note that I have tcp6 disabled on the server and must leave it disabled)
I was attempting to find a workaround for this issue, but have not been successful. Does any one on the board have experience with Docker overlay networks and Kamailio? If so, I would appreciate any suggestions on how to resolve this issue.
Thank you,
Hello,
I am working on a BLF (Busy Lamp Field, dialog presence) integration using
Kamailio.
I am not sure how certain settings can be used on a single generic (any
phone) Kamailio instance.
*
https://www.kamailio.org/docs/modules/devel/modules/presence_dialoginfo.htm…
"If the phone does not support this, you can activate this parameter."
modparam("presence_dialoginfo", "force_single_dialog", 1)
*
https://kamailio.org/docs/modules/devel/modules/pua_dialoginfo.html#idm152
"This is a workaround for the buggy Linksys SPA962 phones. SNOM phones
work well with the default setting."
modparam("pua_dialoginfo", "caller_confirmed", 1)
How can I activate these settings only for the phones that have problems?
Do I need a different Kamailio instance for each buggy phone that appears
from a client ?
For example, a Kamailio instance with modparam("pua_dialoginfo",
"caller_confirmed", 1) for some (like Linksys SPA962) and the opposite for
all the others (like SNOM) ?
Thank you,
version: kamailio 5.5.3
Using KEMI Python
I have read several posts on this and tried several approaches but can not seem to get it to work. As it stands I am trying to add a=record:on | a=record:off | a=record:pause In the SDP because FreeSWITCH creating the INVITE isn't able to do this in the way required. When it is sent from FreeSWITCH a=record:on is send a=record
I have looked at SDPOPS, TEXTOPS and a few others but non of the offer the option to just inject and a= into the SDP body.
So as a result I tried a couple of options where the INVITE is created with a=record (unsure why FreeSWITCH wont let us just add :off etc to the end but that's another point that if anyone know would be helpful) and then using replace_body or search_append_body but the result is TEXTOPS is unable to action the request because of a SDP parse error
DEBUG: <core> [core/parser/sdp/sdp.c:599]: parse_sdp_session(): ignoring unknown type in a= line: `a=record#015#012a=ptime:20...'
Does anyone have any thoughts or tricks on this to give me a few options at ways to handle this?
Lewis
Hello,
it is the time to plan a bit the road to the next major release, to be
versioned 5.6.0.
The 5.5.0 was release about one year ago, therefore it is time to set
the milestones for getting 5.6.0 out.
I would propose to freeze the development on Thursday, April 14, 2020,
test till mid of May or so, then release v5.6.0.
There is a lot of development to existing components and a couple of new
modules.
If anyone wants a different time line towards 5.6.0, let's discuss and
choose the one that suits most of the developers.
Cheers,
Daniel
--
Daniel-Constantin Mierla -- www.asipto.comwww.twitter.com/miconda -- www.linkedin.com/in/miconda
Dear Sir,
Could you please help me, please to share how to load sip-router.cfg file
inside running kamailio ?
the file is necessary to be load during rerouting kamailio gateway. I have
2 platform kamailio , both of them are failed to load sip-router.cfg file.
They are apt kamailio installation source and the second is tar.gz kamailio
installation source, which reload / restart kamailio process (and
installation) were failed to load sip-router.cfg file.
Best Regards,
Hello,
checking CPU/I/O performance of the database during the load test would be a start. You can also monitor database access e.g. with a network debugging tools.
Cheers,
Henning
--
Henning Westerholt – https://skalatan.de/blog/
Kamailio services – https://gilawa.com<https://gilawa.com/>
From: Евгений Мастратов <dgeka25594(a)gmail.com>
Sent: Tuesday, April 12, 2022 10:03 AM
To: Henning Westerholt <hw(a)gilawa.com>
Subject: Re: [SR-Users] Kamailio IMS heavy load
Hey Henning!
Thanks for the advice, I understand about logging, I will make edits and re-check. And how can I check the fact that what are the gaps when reading / writing the database? I am using MySQL.
вт, 12 апр. 2022 г. в 10:52, Henning Westerholt <hw(a)gilawa.com<mailto:hw@gilawa.com>>:
Hello,
as mentioned, I would start by monitoring my dependencies, in particular related to I/O, like database or monitoring.
Just to be sure, you are not running the tests with enabled debug log level? This would certainly cause problems.
Cheers,
Henning
--
Henning Westerholt – https://skalatan.de/blog/
Kamailio services – https://gilawa.com<https://gilawa.com/>
From: sr-users <sr-users-bounces(a)lists.kamailio.org<mailto:sr-users-bounces@lists.kamailio.org>> On Behalf Of ??????? ?????????
Sent: Monday, April 11, 2022 5:23 PM
To: sr-users(a)lists.kamailio.org<mailto:sr-users@lists.kamailio.org>
Subject: [SR-Users] Kamailio IMS heavy load
Hi!
Previously, I created a ticket on github https://github.com/kamailio/kamailio/issues/3071 and tried to deal with the problem there, but they sent me here for advice.
I set up Kamailio IMS , in the end everything turned out great, calls are made, and I decided to check how Kamailio copes with the load. I am creating a load using the sipp application. There is no problem with a low call generation rate, but if you raise the call generation to more than 20 calls per second, some of the calls fail.
I compared the calls and saw that the ICSCF does not send a 180 Ringing message towards the S-CSCF
[..]
As I found out further and suggested, the problem is that some calls are cut on the S-CSCF and this is probably due to some kind of timer, but I could not figure out which one.
Full logs and dump are attached to the issue on github, below is a log sample by bad dialog 0x7fc133ce61d8
```
Apr 5 08:24:33 ims-core /usr/local/sbin/kamailio[26061]: DEBUG: ims_dialog [dlg_handlers.c:284]: dlg_iuid_sfree(): freeing dlg iuid [465:10905] (0x7fc133ce61d8)
Apr 5 08:24:35 ims-core /usr/local/sbin/kamailio[26056]: DEBUG: ims_dialog [dlg_hash.c:1025]: link_dlg(): ref dlg 0x7fc133ce61d8 with 1 -> 1
Apr 5 08:24:35 ims-core /usr/local/sbin/kamailio[26056]: DEBUG: ims_dialog [dlg_cb.c:251]: run_create_callbacks(): dialog=0x7fc133ce61d8
Apr 5 08:24:35 ims-core /usr/local/sbin/kamailio[26056]: DEBUG: ims_dialog [dlg_hash.c:887]: lookup_dlg(): ref dlg 0x7fc133ce61d8 with 1 -> 2
Apr 5 08:24:35 ims-core /usr/local/sbin/kamailio[26056]: DEBUG: ims_dialog [dlg_handlers.c:789]: dlg_onreq(): dialog [0x7fc133ce61d8] added to tm callbacks
Apr 5 08:24:35 ims-core /usr/local/sbin/kamailio[26056]: DEBUG: ims_dialog [dlg_hash.c:1066]: unref_dlg(): unref dlg 0x7fc133ce61d8 with 1 -> 1
Apr 5 08:24:35 ims-core /usr/local/sbin/kamailio[26056]: DEBUG: ims_dialog [dlg_hash.c:887]: lookup_dlg(): ref dlg 0x7fc133ce61d8 with 1 -> 2
Apr 5 08:24:35 ims-core /usr/local/sbin/kamailio[26056]: DEBUG: ims_dialog [dlg_hash.c:1066]: unref_dlg(): unref dlg 0x7fc133ce61d8 with 1 -> 1
Apr 5 08:24:35 ims-core /usr/local/sbin/kamailio[26059]: DEBUG: ims_dialog [dlg_hash.c:887]: lookup_dlg(): ref dlg 0x7fc133ce61d8 with 1 -> 2
Apr 5 08:24:35 ims-core /usr/local/sbin/kamailio[26059]: DEBUG: ims_dialog [dlg_hash.c:1066]: unref_dlg(): unref dlg 0x7fc133ce61d8 with 1 -> 1
Apr 5 08:24:38 ims-core /usr/local/sbin/kamailio[26056]: DEBUG: ims_dialog [dlg_hash.c:887]: lookup_dlg(): ref dlg 0x7fc133ce61d8 with 1 -> 2
Apr 5 08:24:38 ims-core /usr/local/sbin/kamailio[26056]: DEBUG: ims_dialog [dlg_hash.c:1066]: unref_dlg(): unref dlg 0x7fc133ce61d8 with 1 -> 1
Apr 5 08:24:38 ims-core /usr/local/sbin/kamailio[26056]: DEBUG: ims_dialog [dlg_hash.c:887]: lookup_dlg(): ref dlg 0x7fc133ce61d8 with 1 -> 2
Apr 5 08:24:38 ims-core /usr/local/sbin/kamailio[26056]: DEBUG: ims_dialog [dlg_hash.c:1066]: unref_dlg(): unref dlg 0x7fc133ce61d8 with 1 -> 1
Apr 5 08:24:38 ims-core /usr/local/sbin/kamailio[26056]: DEBUG: ims_dialog [dlg_hash.c:887]: lookup_dlg(): ref dlg 0x7fc133ce61d8 with 1 -> 2
Apr 5 08:24:38 ims-core /usr/local/sbin/kamailio[26056]: DEBUG: ims_dialog [dlg_hash.c:1293]: next_state_dlg(): dialog 0x7fc133ce61d8 changed from state 1 to state 6, due event 4
Apr 5 08:24:38 ims-core /usr/local/sbin/kamailio[26056]: DEBUG: ims_dialog [dlg_handlers.c:1489]: dlg_onreply(): dialog 0x7fc133ce61d8 failed (negative reply)
Apr 5 08:24:38 ims-core /usr/local/sbin/kamailio[26056]: DEBUG: ims_dialog [dlg_cb.c:277]: run_dlg_callbacks(): dialog=0x7fc133ce61d8, type=4
Apr 5 08:24:38 ims-core /usr/local/sbin/kamailio[26056]: DEBUG: ims_dialog [dlg_hash.c:1066]: unref_dlg(): unref dlg 0x7fc133ce61d8 with 1 -> 1
Apr 5 08:24:38 ims-core /usr/local/sbin/kamailio[26056]: DEBUG: ims_dialog [dlg_hash.c:1066]: unref_dlg(): unref dlg 0x7fc133ce61d8 with 1 -> 0
Apr 5 08:24:38 ims-core /usr/local/sbin/kamailio[26056]: DEBUG: ims_dialog [dlg_hash.c:1066]: unref_dlg(): ref <=0 for dialog 0x7fc133ce61d8
Apr 5 08:24:38 ims-core /usr/local/sbin/kamailio[26056]: DEBUG: ims_dialog [dlg_hash.c:196]: destroy_dlg(): destroying dialog 0x7fc133ce61d8
Apr 5 08:24:38 ims-core /usr/local/sbin/kamailio[26056]: DEBUG: ims_dialog [dlg_hash.c:207]: destroy_dlg(): removed timer for dlg 0x7fc133ce61d8 [3791:1419] with clid '43-3057631(a)10.2.16.63<mailto:43-3057631@10.2.16.63>' and tags '78885556600'
Apr 5 08:24:38 ims-core /usr/local/sbin/kamailio[26056]: DEBUG: ims_dialog [dlg_cb.c:277]: run_dlg_callbacks(): dialog=0x7fc133ce61d8, type=8192
```
What could be the reasons for this behavior and how to diagnose them? I did not observe problems with MEM or CPU during the tests.
I will be grateful for any advice.
Hi!
Previously, I created a ticket on github
https://github.com/kamailio/kamailio/issues/3071 and tried to deal with the
problem there, but they sent me here for advice.
I set up Kamailio IMS , in the end everything turned out great, calls are
made, and I decided to check how Kamailio copes with the load. I am
creating a load using the sipp application. There is no problem with a low
call generation rate, but if you raise the call generation to more than 20
calls per second, some of the calls fail.
I compared the calls and saw that the ICSCF does not send a 180 Ringing
message towards the S-CSCF
[image: image.png]
[image: image.png]
As I found out further and suggested, the problem is that some calls are
cut on the S-CSCF and this is probably due to some kind of timer, but I
could not figure out which one.
Full logs and dump are attached to the issue on github, below is a log
sample by bad dialog 0x7fc133ce61d8
```
Apr 5 08:24:33 ims-core /usr/local/sbin/kamailio[26061]: DEBUG: ims_dialog
[dlg_handlers.c:284]: dlg_iuid_sfree(): freeing dlg iuid [465:10905]
(0x7fc133ce61d8)
Apr 5 08:24:35 ims-core /usr/local/sbin/kamailio[26056]: DEBUG: ims_dialog
[dlg_hash.c:1025]: link_dlg(): ref dlg 0x7fc133ce61d8 with 1 -> 1
Apr 5 08:24:35 ims-core /usr/local/sbin/kamailio[26056]: DEBUG: ims_dialog
[dlg_cb.c:251]: run_create_callbacks(): dialog=0x7fc133ce61d8
Apr 5 08:24:35 ims-core /usr/local/sbin/kamailio[26056]: DEBUG: ims_dialog
[dlg_hash.c:887]: lookup_dlg(): ref dlg 0x7fc133ce61d8 with 1 -> 2
Apr 5 08:24:35 ims-core /usr/local/sbin/kamailio[26056]: DEBUG: ims_dialog
[dlg_handlers.c:789]: dlg_onreq(): dialog [0x7fc133ce61d8] added to tm
callbacks
Apr 5 08:24:35 ims-core /usr/local/sbin/kamailio[26056]: DEBUG: ims_dialog
[dlg_hash.c:1066]: unref_dlg(): unref dlg 0x7fc133ce61d8 with 1 -> 1
Apr 5 08:24:35 ims-core /usr/local/sbin/kamailio[26056]: DEBUG: ims_dialog
[dlg_hash.c:887]: lookup_dlg(): ref dlg 0x7fc133ce61d8 with 1 -> 2
Apr 5 08:24:35 ims-core /usr/local/sbin/kamailio[26056]: DEBUG: ims_dialog
[dlg_hash.c:1066]: unref_dlg(): unref dlg 0x7fc133ce61d8 with 1 -> 1
Apr 5 08:24:35 ims-core /usr/local/sbin/kamailio[26059]: DEBUG: ims_dialog
[dlg_hash.c:887]: lookup_dlg(): ref dlg 0x7fc133ce61d8 with 1 -> 2
Apr 5 08:24:35 ims-core /usr/local/sbin/kamailio[26059]: DEBUG: ims_dialog
[dlg_hash.c:1066]: unref_dlg(): unref dlg 0x7fc133ce61d8 with 1 -> 1
Apr 5 08:24:38 ims-core /usr/local/sbin/kamailio[26056]: DEBUG: ims_dialog
[dlg_hash.c:887]: lookup_dlg(): ref dlg 0x7fc133ce61d8 with 1 -> 2
Apr 5 08:24:38 ims-core /usr/local/sbin/kamailio[26056]: DEBUG: ims_dialog
[dlg_hash.c:1066]: unref_dlg(): unref dlg 0x7fc133ce61d8 with 1 -> 1
Apr 5 08:24:38 ims-core /usr/local/sbin/kamailio[26056]: DEBUG: ims_dialog
[dlg_hash.c:887]: lookup_dlg(): ref dlg 0x7fc133ce61d8 with 1 -> 2
Apr 5 08:24:38 ims-core /usr/local/sbin/kamailio[26056]: DEBUG: ims_dialog
[dlg_hash.c:1066]: unref_dlg(): unref dlg 0x7fc133ce61d8 with 1 -> 1
Apr 5 08:24:38 ims-core /usr/local/sbin/kamailio[26056]: DEBUG: ims_dialog
[dlg_hash.c:887]: lookup_dlg(): ref dlg 0x7fc133ce61d8 with 1 -> 2
Apr 5 08:24:38 ims-core /usr/local/sbin/kamailio[26056]: DEBUG: ims_dialog
[dlg_hash.c:1293]: next_state_dlg(): dialog 0x7fc133ce61d8 changed from
state 1 to state 6, due event 4
Apr 5 08:24:38 ims-core /usr/local/sbin/kamailio[26056]: DEBUG: ims_dialog
[dlg_handlers.c:1489]: dlg_onreply(): dialog 0x7fc133ce61d8 failed
(negative reply)
Apr 5 08:24:38 ims-core /usr/local/sbin/kamailio[26056]: DEBUG: ims_dialog
[dlg_cb.c:277]: run_dlg_callbacks(): dialog=0x7fc133ce61d8, type=4
Apr 5 08:24:38 ims-core /usr/local/sbin/kamailio[26056]: DEBUG: ims_dialog
[dlg_hash.c:1066]: unref_dlg(): unref dlg 0x7fc133ce61d8 with 1 -> 1
Apr 5 08:24:38 ims-core /usr/local/sbin/kamailio[26056]: DEBUG: ims_dialog
[dlg_hash.c:1066]: unref_dlg(): unref dlg 0x7fc133ce61d8 with 1 -> 0
Apr 5 08:24:38 ims-core /usr/local/sbin/kamailio[26056]: DEBUG: ims_dialog
[dlg_hash.c:1066]: unref_dlg(): ref <=0 for dialog 0x7fc133ce61d8
Apr 5 08:24:38 ims-core /usr/local/sbin/kamailio[26056]: DEBUG: ims_dialog
[dlg_hash.c:196]: destroy_dlg(): destroying dialog 0x7fc133ce61d8
Apr 5 08:24:38 ims-core /usr/local/sbin/kamailio[26056]: DEBUG: ims_dialog
[dlg_hash.c:207]: destroy_dlg(): removed timer for dlg 0x7fc133ce61d8
[3791:1419] with clid '43-3057631(a)10.2.16.63' and tags '78885556600'
Apr 5 08:24:38 ims-core /usr/local/sbin/kamailio[26056]: DEBUG: ims_dialog
[dlg_cb.c:277]: run_dlg_callbacks(): dialog=0x7fc133ce61d8, type=8192
```
What could be the reasons for this behavior and how to diagnose them? I did
not observe problems with MEM or CPU during the tests.
I will be grateful for any advice.
Hello,
Is there a function that can be called from a module that will return the last response code sent, regardless of whether it was a local or relayed reply?
thanks,
Daniel
Hi,
Kamailio 5.5.4 from deb packages
I tried to use the lcr function from_gw(lcr_id[, ip_addr, proto])
I've declared several gws with different lcr_id
Unfortunately from_gw doesn't work with lcr_id > 1
For example :
if (from_gw(2,$si,1)) {
....
}
...
error message => ki_from_gw(): invalid lcr_id parameter value 2
Thanks in advance !
--
<https://app.livestorm.co/comdata-group/metaverse-what-will-cx-look-like-in-…>
Hello!
I have the following architecture:
- Kamailio with RTPEngine (with public access on IP *YY.YY.42.207*)
- Asterisk (with no public access, internal IP *172.31.69.198*)
I am using a Voip SIP (with public access on IP *54.XXX.XXX.44*) configured
as a Trunk on Kamailio using UAC Module.
The issue I am facing is that the SIP messages replies I get from the VOIP
provider are being destined to Kamailio's public IP (YY.YY.42.207) instead
of Asterisk's IP (as sent on the message).
For example, this is the 200 message I sent to the VOIP provider (I clearly
state that the contact is Asterisk sip:172.31.69.198:5080):
2022/04/07 14:17:19.260864 172.31.32.7:5060 -> 54.XXX.XXX.44:5060
SIP/2.0 200 OK
Via: SIP/2.0/UDP 54.XXX.XXX.44:5060;rport=5060;branch=z9hG4bK90b6.f7a6b0a4.0
Record-Route: <sip:YY.YY.42.207;lr;ftag=p0BjH21gpa3rc>
Call-ID: 464f21c3-3120-123b-91b2-026ef2fede4c
From: "419XXXXX998" <sip:38XXXX02@172.31.32.169>;tag=p0BjH21gpa3rc
To: <sip:38XXXX02@54.XXX.XXX.44>;tag=8c3bb09e-a909-4cb4-99a7-3c57aa8f946e
CSeq: 50116727 INVITE
Server: Asterisk PBX 18.11.0
*Contact: <sip:172.31.69.198:5080 <http://172.31.69.198:5080>>*
Allow: OPTIONS, REGISTER, SUBSCRIBE, NOTIFY, PUBLISH, INVITE, ACK, BYE,
CANCEL, UPDATE, PRACK, MESSAGE, REFER
Supported: 100rel, timer, replaces, norefersub
Content-Type: application/sdp
Content-Length: 239
v=0
o=- 1649321756 1649321759 IN IP4 172.31.69.198
s=Asterisk
c=IN IP4 172.31.69.198
t=0 0
m=audio 10010 RTP/AVP 8 101
a=rtpmap:8 PCMA/8000
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-16
a=ptime:20
a=maxptime:150
a=sendrecv
But the ACK I get from them is destined to Kamailio instead of Asterisk:
2022/04/07 14:17:19.263469 54.XXX.XXX.44:5060 -> 172.31.32.7:5060
*ACK sip:YY.YY.42.207:5060 SIP/2.0*
Route: <sip:YY.YY.42.207;lr;ftag=p0BjH21gpa3rc>
Via: SIP/2.0/UDP 54.XXX.XXX.44:5060;branch=z9hG4bK90b6.f7a6b0a4.2
Max-Forwards: 69
From: "419XXXXX998" <sip:38XXXX02@172.31.32.169>;tag=p0BjH21gpa3rc
To: <sip:38XXXX02@54.XXX.XXX.44>;tag=8c3bb09e-a909-4cb4-99a7-3c57aa8f946e
Call-ID: 464f21c3-3120-123b-91b2-026ef2fede4c
CSeq: 50116727 ACK
Contact: <sip:voip.voip-sbc.6792.fab37901@54.XXX.XXX.44:5060>
Content-Length: 0
This causes Kamailio to not know where to forward the message to...
Asterisk never gets the reply.
This is happening to one of the SIP Trunks I am using, with the other,
everything is fine.
Is there anything I can do to work around it (other than contacting the
provider to fix on their end)?
Thanks!
ps: I have attached the full SIP messages trail to help.
Hello all,
I’ve been trying to figure out how htable reloads happen. Does it replaces
the existing one or creates a new one, populates it from the db and then
renames it? The latter would be (I think) ideal, even if it uses more
resources.
Thanks!
David
--
Regards,
David Villasmil
email: david.villasmil.work(a)gmail.com
phone: +34669448337
Hello Expert,
We faces problem in utilizing lcr command line in "kamctl lcr show_gws",
whereas kamailio version is 5.5.4 which are new kamailio release, "kamctl
lcr show_gws" shown result "command disabled".
in this case, LCR module is already been uploaded and the systemd has been
running well active kamailio.
Could you share, what probably wrong in my kamailio configuration?
Best Regards,
Hello Expert,
I have problem in utilizing lcr command line in "kamctl lcr show_gws",
whereas my kamailio version is 5.5.4 which are new kamailio release,
"kamctl lcr show_gws" shown result "command disabled".
in this case, LCR module is already been uploaded and the systemd has been
running active kamailio.
Here detailed screenshot :
[image: image.png]
Could you share, what probably wrong in my kamailio configuration?
Best Regards,
problem in "kamctl lcr show_gws" resulting "command disabled".
Kamailio uses LCR module uploaded and running active kamailio.
what probably wrong in kamailio?
[image: image.png]
problem in "kamctl lcr show_gws" (kamailio version 5.5.4 / new release)
resulting "command disabled".
LCR module had been uploaded on running well active kamailio.
Could you share, what probably wrong in my kamailio configuration?
[image: image.png]
Best regards
Hello Expert,
I have problem in utilize lcr command line "kamctl lcr show_gws", whereas
kamailio version is 5.5.4 (new kamailio release), those resulting "command
disabled".
In this case, LCR module is already been uploaded and the systemd has been
running active kamailio.
Could you share, what probably wrong in my kamailio configuration?
[image: image.png]
Best regards
Dear Developer,
would you please share which pcre.h file ? due to my compiling source
kamailio 5.5.4 found error as captured below.
In file included from dialplan.c:59:
dialplan.h:33:10: fatal error: pcre.h: No such file or directory
33 | #include <pcre.h>
| ^~~~~~~~
compilation terminated.
Kind Regards,
Hello all ,
Do you know any way to get the hostname of my server at kamailio runtime ?
The simple idea behind this would be ton import a specific environment file base on hostname.
Regards,
David
good evening everyone,
can you please help how to parse following XML body and get the "<gml:pos>31.204359 -44.512358</gml:pos>" in a variable?
<?xml version="1.0"?>
<presence xmlns="urn:ietf:params:xml:ns:pidf" xmlns:dm="urn:ietf:params:xml:ns:pidf:data-model" xmlns:gp="urn:ietf:params:xml:ns:pidf:geopriv10" xmlns:gml="http://www.opengis.net/gml" xmlns:gs="http://www.opengis.net/pidflo/1.0" xmlns:con="urn:ietf:params:xml:ns:geopriv:conf" entity="sip:+6478897789@ims.mnc0xx.mccxxx.3gppnetwork.org">
<dm:device id="Wifi">
<gp:geopriv>
<gp:location-info>
<gs:Circle srsName="urn:ogc:def:crs:EPSG::5524">
<gml:pos>31.204359 -44.512358</gml:pos>
<gs:radius uom="urn:ogc:def:uom:EPSG::8190">10.578000</gs:radius>
</gs:Circle>
<con:confidence pdf="normal">92</con:confidence>
</gp:location-info>
<gp:method>DBH_HELO</gp:method>
<gp:usage-rules/>
</gp:geopriv>
<dm:timestamp>2022-04-05T19:16:34Z</dm:timestamp>
</dm:device>
</presence>
i tried few variants:
xinfo("GML_LOC: $xml(x=>xpath:/pidf:presence/pidf:dm:device/pidf:gp:geopriv/pidf:gp:location-info/pidf:gs:Circle/pidf:gml:pos)\n")
xinfo("GML_LOC: $xml(x=>xpath:/pidf:presence/pidf:dm\:device/pidf:gp\:geopriv/pidf:gp\:location-info/pidf:gs\:Circle/pidf:gml\:pos)\n");
xinfo("GML_LOC: $xml(x=>xpath:/pidf:presence/pidf:dm:device/pidf:gp:geopriv/pidf:gp:location-info/pidf:gs:Circle/pidf:gml:pos)\n");
xinfo("GML_LOC: $xml(x=>xpath:/pidf:presence/dm:device/gp:geopriv/gp:location-info/gs:Circle/gml:pos)\n");
and end up with error "unable to evaluate xpath expression":
ERROR: xmlops [pv_xml.c:308]: pv_get_xml(): unable to evaluate xpath expression [/pidf:presence/dm:device/gp:geopriv/gp:location-info/gs:Circle/gml:pos/70]
thanks in advance,Art
hello everyone, i am trying to parse the xml from the message body: get_body_part("application/pidf+xml", "$var(pbody)"); and i am getting the following in my pbody var: Content-Disposition: render;handling=optionalContent-ID: <sip:+6478897789@ims.mnc0xx.mccxxx.3gppnetwork.org><?xml version="1.0"?><presence xmlns:dm="urn:ietf:params:xml:ns:pidf:data-model" xmlns:gp="urn:ietf:params:xml:ns:pidf:geopriv10" xmlns:gml="http://www.opengis.net/gml" xmlns:gs="http://www.opengis.net/pidflo/1.0" xmlns:con="urn:ietf:params:xml:ns:geopriv:conf" entity="sip:+6478897789@ims.mnc0xx.mccxxx.3gppnetwork.org"><dm:device id="Wifi"><gp:geopriv><gp:location-info><gs:Circle srsName="urn:ogc:def:crs:EPSG::5524"><gml:pos>31.204359 -44.512358</gml:pos><gs:radius uom="urn:ogc:def:uom:EPSG::8190">10.578000</gs:radius></gs:Circle><con:confidence pdf="normal">92</con:confidence></gp:location-info><gp:method>DBH_HELO</gp:method><gp:usage-rules/></gp:geopriv><dm:timestamp>2022-04-05T19:16:34Z</dm:timestamp></dm:device></presence> how can i escape the first two lines in order to get the xml part of the content? thanks in advance,Art
Hi
I am trying to use the jannson_get function to pull field "secret" from
the below json:
{"3":{"options":{"secret":"mybigsecret"}}}
This works is I use jansson_get("3.options.secret".....
However, I need to know the value of "3" in order to use it. I have
tried all the variations on path I can find, but none apart from using
the actual root value work for me.
How can I either:
1. Construct a PATH which will pick this up, or
2. Obtain this root value ("3" in my example)
I have tried testing using https://jsonpath.com/ and a path of
"$..secret" and "$..options.secret" works there, but not in jansson
kamailio module.
Any assistance much appreciated.
Thanks
--
-Barry
Dear Expert Kamailio,
I use this tutorial kamctl to make kamailio and other sip server
communicated
https://manpages.ubuntu.com/manpages/xenial/man8/kamctl.8.html
but, i cannot found further tutorial how use kamctl.
Could you please share, the detail/further tutorial and example of kamctl
usage..
Since i always found error/failure during execute some command from the
link, here captured:
(1).
# kamctl cr dump
-e \E[37;31mERROR: Error opening Kamailio's FIFO
/var/run/kamailio/kamailio_rpc.fifo
-e \E[37;31mERROR: Make sure you have loaded the jsonrpcs module and set
FIFO transport parameters
(2).
# kamctl lcr show_gws
-e \E[37;31mERROR: command disabled
(3).
# kamctl lcr reload
-e \E[37;31mERROR: command disabled
(4).
# kamctl ping 192.168.31.50
{
"jsonrpc": "2.0",
"error": {
"code": 400,
"message": "Invalid request uri \"192.168.31.50\""
},
"id": 76608
}
(5).
# kamctl cr reload
{
"jsonrpc": "2.0",
"error": {
"code": 500,
"message": "Method Not Found"
},
"id": 76659
}
Warm Regards,
>
Hi there,
I've two kamailio servers sharing dlg vars between them and I've noticed
that during high call load (~50-70 CPS) the kamailio that is processing all
the calls and sharing the dialogs with the other kamailio, stops processing
SIP.
If I set the parameter enable_dmq to 0 I cannot replicate the issue so I
assume that it's related to dialog replication through DMQ.
*Kamailio version: *5.4.7 - I've tested with recent versions but the issue
remains
*Configurations of Kamailio_1:*
# ----- dialog params -----
modparam("dialog", "dlg_flag", FLD_DLG)
modparam("dialog", "dlg_match_mode", 1)
modparam("dialog", "enable_dmq", 1)
modparam("dialog", "h_id_start", 1000)
modparam("dialog", "h_id_step", 6000)
# ----- dmq params -----
modparam("dmq", "server_address", "sip:INTERNAL_INSTANCE_IP:5060")
modparam("dmq", "notification_address", "DMQ_NOTIFICATION_ADDRESS")
modparam("dmq", "multi_notify", 1)
modparam("dmq", "ping_interval", 10)
modparam("dmq", "num_workers",4)
*Configurations of Kamailio_2:*
# ----- dialog params -----
modparam("dialog", "dlg_flag", FLD_DLG)
modparam("dialog", "dlg_match_mode", 1)
modparam("dialog", "enable_dmq", 1)
modparam("dialog", "h_id_start", 5000)
modparam("dialog", "h_id_step", 6000)
# ----- dmq params -----
modparam("dmq", "server_address", "sip:INTERNAL_INSTANCE_IP:5060")
modparam("dmq", "notification_address", "DMQ_NOTIFICATION_ADDRESS")
modparam("dmq", "multi_notify", 1)
modparam("dmq", "ping_interval", 10)
modparam("dmq", "num_workers",4)
In this link you can find the kamctl trap
<https://textbin.net/quykw71nyl>output
after kamailio stop processing SIP.
Thank you
Best Regards
--
Cumprimentos
José Seabra
Hi!
I was able to successfully use the auth_ephemeral module on my environment:
Kamailio > Asterisk > ARI
I ran into a problem with ARI, where Asterisk wouldn't send the complete
from URI to ARI program, just the first part (timestamp), and the most
important part (the username) isn't forwarded.
For example:
Kamailio username: 1649106119:1001
Asterisk only forwards 1649106119 to ARI, which makes it impossible for me
to track the user.
So I planned on using the deprecated username_format from Auth Ephemeral
module:
https://kamailio.org/docs/modules/4.1.x/modules/auth_ephemeral.html#auth_ep…
By switching the timestamp with the username, my problems would be fixed.
After setting the variable, and trying to register on Kamailio with
username 1001:1649106119, I get an error message: SIP/2.0 400 Bad From URI
Am I doing something wrong?
Thanks!
Hello,
please keep the list in CC, that others can comment as well.
Beside from the obvious (improving the performance of the lua API call), you could use indeed asynchronous processing. If you just use the lua code to emit the REST request, using a native http client module would be probably also faster as doing it over lua.
Cheers,
Henning
--
Henning Westerholt – https://skalatan.de/blog/
Kamailio services – https://gilawa.com<https://gilawa.com/>
From: Giovanni Jose <gio.jose(a)gmail.com>
Sent: Wednesday, March 30, 2022 5:17 PM
To: Henning Westerholt <hw(a)gilawa.com>
Subject: Re: [SR-Users] More than TCP 800 concurrent calls, slows Kamailio (LUA FILE API REQUESTS)
Hello Henning, Thanks so much for the fast response
I just commented the loop and I was hitting the backend and it's slow anyway maybe it's because, for this type of implementation when the destination of the call is decided by the API backend, I need to use the http_async_client module? I am noticing that for high volume calls kamailio slows the traffic and shows errors because there's a delay that is been added when the backend responds for every call.
On Tue, Mar 29, 2022 at 11:53 PM Henning Westerholt <hw(a)gilawa.com<mailto:hw@gilawa.com>> wrote:
Hello,
why are you sleeping for 1s in the loop? This will cause Kamailio to block processing. I also do not see any stop condition on the loop, so it will loop until the limit.
Cheers,
Henning
--
Henning Westerholt – https://skalatan.de/blog/
Kamailio services – https://gilawa.com<https://gilawa.com/>
From: sr-users <sr-users-bounces(a)lists.kamailio.org<mailto:sr-users-bounces@lists.kamailio.org>> On Behalf Of Giovanni Jose
Sent: Tuesday, March 29, 2022 9:46 PM
To: sr-users(a)lists.kamailio.org<mailto:sr-users@lists.kamailio.org>
Subject: [SR-Users] More than TCP 800 concurrent calls, slows Kamailio (LUA FILE API REQUESTS)
Hello Guys I am having this issue where kamailio is receiving requests from SIPp (we are currently testing the platform and doing QA) but if we do more than 800 concurrent calls kamailio starts failing and slowing the requests, The scenario is the following:
I am sending 5000 calls at 100 CPS on TCP and I am having this route in the configuration file:
# Handle the calls to api
route[CALL_API] {
xlog("L_NOTICE"," Call request $var(call_request) method: $rm \n");
$var(loop_true)=1;
while ($var(loop_true)) {
if(!lua_run("call_request","$var(call_request)","$sht(token=>new_token)")) {
xlog("L_NOTICE", "SCRIPT: failed to execute lua function!\n");
}
if ($var(loop_true)){
sleep("1");
}
}
xlog("L_NOTICE", "SCRIPT: Sucess to execute lua function!\n");
}
So I am executing a LUA script for the requests and the API response will tell the destination of the call.
At 800 concurrent calls, I can notice SLOWLINESS in the SIPp testing tool, and then I will start receiving 408 timeouts.
This sounds like a load issue or something because I believe there's a time that it's been added every time we hit the backend and wait for the response.
any help will be appreciated
Regards
Gio
Hi
I am trying to use the jannson_get function to pull field "secret" from
the below json:
{"3":{"options":{"secret":"mybigsecret"}}}
This works is I use jansson_get("3.options.secret".....
However, I need to know the value of "3" in order to use it. I have
tried all the variations on path I can find, but none apart from using
the actual root value work for me.
How can I either:
1. Construct a PATH which will pick this up, or
2. Obtain this root value ("3" in my example)
I have tried testing using https://jsonpath.com/ and a path of
"$..secret" and "$..options.secret" works there, but not in jansson
kamailio module.
Any assistance much appreciated.
Thanks
--
-Barry
Host is up and responding to ping but not to http requests.
Riccardo
--
--
NOTICE: This electronic mail transmission may contain confidential
information and is intended only for the person(s) named. Any use, copying,
or disclosure by any other person is strictly prohibited. If you have
received this transmission in error, please notify the sender via e-mail.
Hello,
I'm having some trouble with what I think is the dialog module.
I've got Kamailio 5.5.4 running well for some time. Recently I added
Asterisk to the mix and have come across an issue.
Call to Kamailio. Kamailio sends it to Asterisk. Asterisk may decide
to "forward" the call. To do this it will place a new outbound call
through Kamailio. From the user perspective, this works absolutely fine
(invite, ringing, ok, bye). The acc module handles it fine also.
However dialog does not, and the events for ok and bye do not fire on
the original call. They do fire for the forwarded call.
I've added some logging output to try to isolate the problem, but I'm no
further ahead. Here's what I have. Any suggestions?
** Call initiated **
INFO: <script>: onreply_route[MANAGE_REPLY] branch [0] rm=INVITE rs=100
ru=<null> tu=sip:destination@endpoint DLG_status=<null> dlg-h-id=3360
INFO: <script>: onreply_route[MANAGE_REPLY] branch [0] rm=INVITE rs=100
ru=<null> tu=sip:fwddest@0.0.0.1:5060 DLG_status=<null> dlg-h-id=12036
INFO: <script>: onreply_route[MANAGE_REPLY] branch [0] rm=INVITE rs=183
ru=<null> tu=sip:fwddest@0.0.0.1:5060 DLG_status=<null> dlg-h-id=12036
INFO: <script>: onreply_route[MANAGE_REPLY] branch [0] rm=INVITE rs=183
ru=<null> tu=sip:destination@endpoint DLG_status=<null> dlg-h-id=3360
INFO: <script>: onreply_route[MANAGE_REPLY] branch [0] rm=INVITE rs=200
ru=<null> tu=sip:fwddest@0.0.0.1:5060 DLG_status=<null> dlg-h-id=12036
CRITICAL: dialog [dlg_timer.c:200]: update_dlg_timer(): Trying to update
a bogus dlg tl=0x7fa0494006e8 tl->next=(nil) tl->prev=(nil)
ERROR: dialog [dlg_hash.c:1329]: update_dlg_timeout(): failed to update
dialog lifetime
CRITICAL: dialog [dlg_timer.c:200]: update_dlg_timer(): Trying to update
a bogus dlg tl=0x7fa0494006e8 tl->next=(nil) tl->prev=(nil)
ERROR: dialog [dlg_hash.c:1329]: update_dlg_timeout(): failed to update
dialog lifetime
ERROR: dialog [dlg_profile.c:1028]: dlg_set_timeout_by_profile(): Unable
to set timeout on 3306:12036
NOTICE: acc [acc.c:270]: acc_log_request(): ACC: transaction answered:
timestamp=1648611824;time_unix=1648611824.346;method=INVITE;from_tag=as292200a1;to_tag=as75834dc4;call_id=7cef233547dca0ac7882ce5249b3b54c;code=200;reason=OK
INFO: <script>: onreply_route[MANAGE_REPLY] branch [0] rm=INVITE rs=200
ru=<null> tu=sip:destination@endpoint DLG_status=<null> dlg-h-id=<null>
NOTICE: acc [acc.c:270]: acc_log_request(): ACC: transaction answered:
timestamp=1648611824;time_unix=1648611824.354;method=INVITE;from_tag=as730369e7;to_tag=as3b06b3e2;call_id=53bad4f0034b61a5745163d82daef402;code=200;reason=OK
INFO: <script>: onreply_route[MANAGE_REPLY] branch [0] rm=INVITE rs=200
ru=<null> tu=sip:destination@endpoint DLG_status=<null> dlg-h-id=<null>
WARNING: dialog [dlg_handlers.c:1328]: dlg_onroute(): unable to find
dialog for ACK with route param '161.02d' [353:3360] and call-id
'53bad4f0034b61a5745163d82daef402'
WARNING: dialog [dlg_handlers.c:1328]: dlg_onroute(): unable to find
dialog for ACK with route param '161.02d' [353:3360] and call-id
'53bad4f0034b61a5745163d82daef402'
** The call is answered and endpoints can talk to each other **
** Now the original caller hangs up **
WARNING: dialog [dlg_handlers.c:1328]: dlg_onroute(): unable to find
dialog for BYE with route param '161.02d' [353:3360] and call-id
'53bad4f0034b61a5745163d82daef402'
NOTICE: acc [acc.c:270]: acc_log_request(): ACC: transaction answered:
timestamp=1648611831;time_unix=1648611831.933;method=BYE;from_tag=as730369e7;to_tag=as3b06b3e2;call_id=53bad4f0034b61a5745163d82daef402;code=200;reason=OK
INFO: <script>: onreply_route[MANAGE_REPLY] branch [0] rm=INVITE rs=100
ru=<null> tu=sip:fwddest@0.0.0.1:5060 DLG_status=<null> dlg-h-id=12036
INFO: <script>: onreply_route[MANAGE_REPLY] branch [0] rm=INVITE rs=200
ru=<null> tu=sip:fwddest@0.0.0.1:5060 DLG_status=<null> dlg-h-id=12036
ERROR: <script>: got result for bye = Bye!; DLG_lifetime = 8
NOTICE: acc [acc.c:270]: acc_log_request(): ACC: transaction answered:
timestamp=1648611832;time_unix=1648611832.115;method=BYE;from_tag=as292200a1;to_tag=as75834dc4;call_id=7cef233547dca0ac7882ce5249b3b54c;code=200;reason=OK
ERROR: dialog [dlg_handlers.c:363]: dlg_terminated_confirmed(): failed
to get dialog from params!
** Everything ends cleanly on the other SIP endpoints **
What can I do from here to try to isolate this further?
Thanks,
--
Trevor Peirce
AcroVoice Solutions Inc
Hi There,
I'm looking out for an SBC and came across your platform.
Can Kamailio work as a SBC and provide all the functionalities of a SBC ?
A quick reply will be appreciated.
Best Regards,
Nileshwar Goswami