Hello,
please keep the list in the mail flow.
Have you tried to set the acc_function modparam to an empty string, as commented in the linked issue?
modparam("uac_redirect","acc_function","")
If you don't need the acc function from the uac_redirect.
Regarding the other warnings, they should be fixed - but different compilers can report different warnings, so it's sometimes happening. If they are just warnings, they should not create an issue.
If you are using Debian/Ubuntu you can just use the prebuild packages from deb.kamailio.org - you don't need to build by yourself.
Cheers,
Henning
-----Original Message-----
From: Muhammad Danish Moosa <danishmoosa(a)gmail.com>
Sent: Donnerstag, 2. März 2023 14:25
To: Henning Westerholt <hw(a)gilawa.com>
Subject: Re: [SR-Users] Kamailio stops processing the calls - restart fixes it.
Hi,
I tried to install 5.6.4
(https://www.kamailio.org/pub/kamailio/5.6.4/src/) and get this error.
Mar 3 00:05:39 lab-danish /usr/local/sbin/kamailio[24642]: INFO: rr
[rr_mod.c:188]: mod_init(): outbound module not available Mar 3 00:05:39 lab-danish /usr/local/sbin/kamailio[24642]: ERROR:
uac_redirect [../../modules/acc/acc_api.h:191]: acc_load_api(): cannot find bind_acc Mar 3 00:05:39 lab-danish /usr/local/sbin/kamailio[24642]: ERROR:
uac_redirect [uac_redirect.c:259]: redirect_init(): cannot bind to ACC API Mar 3 00:05:39 lab-danish /usr/local/sbin/kamailio[24642]: ERROR:
<core> [core/sr_module.c:975]: init_mod(): Error while initializing module uac_redirect
(/usr/local/lib64/kamailio/modules/uac_redirect.so)
It seems this issue was reported earlier and supposed to be fixed but apparently it's not.
https://github.com/kamailio/kamailio/issues/3188
Besides that , I had seen warnings during compilation. What should be the most tested and supported version ?
Example Warnings:
dmq_funcs.c: In function ‘ki_dmq_send_message’:
dmq_funcs.c:303:3: warning: missing braces around initializer [-Wmissing-braces]
dmq_peer_t new_peer = {0};
^
dmq_funcs.c:303:3: warning: (near initialization for
‘new_peer.peer_id’) [-Wmissing-braces]
dmq_funcs.c: In function ‘ki_dmq_bcast_message’:
dmq_funcs.c:373:3: warning: missing braces around initializer [-Wmissing-braces]
dmq_peer_t new_peer = {0};
^
dmq_funcs.c:373:3: warning: (near initialization for
‘new_peer.peer_id’) [-Wmissing-braces]
CC (gcc) [M dmq.so] notification_peer.o
CC (gcc) [M dmq.so] dmq.o
dmq.c:61:1: warning: missing braces around initializer [-Wmissing-braces] sip_uri_t dmq_server_uri = {0};
On Wed, Mar 1, 2023 at 7:26 PM Henning Westerholt <hw(a)gilawa.com> wrote:
>
> Hello,
>
> better take the latest one, e.g. 5.6.4 released yesterday. Minor releases only contains bugfixes, documentation enhancements and similar. Only rarely regressions happen. But you should of course test it.
>
> Cheers,
>
> Henning
>
> -----Original Message-----
> From: Muhammad Danish Moosa <danishmoosa(a)gmail.com>
> Sent: Mittwoch, 1. März 2023 09:22
> To: Henning Westerholt <hw(a)gilawa.com>
> Cc: Kamailio (SER) - Users Mailing List <sr-users(a)lists.kamailio.org>
> Subject: Re: [SR-Users] Kamailio stops processing the calls - restart fixes it.
>
> Thank you for your email.
>
> Is v5.6.1 (July 6, 2022) stable?
>
> obtained from
>
> https://www.kamailio.org/pub/kamailio/latest-stable-version-number
>
>
> On Wed, Mar 1, 2023 at 5:50 PM Henning Westerholt <hw(a)gilawa.com> wrote:
> >
> > Hello,
> >
> > hard to say without more information, a backtrace etc... As I first step, I would suggest you to update the system to one of the supported releases, e.g. the latest 5.6.x or 5.5.x.
> >
> > Cheers,
> >
> > Henning
> >
> > -----Original Message-----
> > From: Muhammad Danish Moosa <danishmoosa(a)gmail.com>
> > Sent: Mittwoch, 1. März 2023 01:39
> > To: sr-users(a)lists.kamailio.org
> > Subject: [SR-Users] Kamailio stops processing the calls - restart fixes it.
> >
> > Hi,
> >
> > I have a very simple proxy (stateful) where kamailio acts as a proxy between 2 endpoints. Everything works fine for weeks and suddenly I see kamailio stops responding. From pcap I can see kamailio is not proxying the session progress and bombarding invites to one endpoint without any reason. Even that invite was stripped on the Body part.
> >
> > Restarting kamailio fixes it immediately. Unfortunately I could not take bt full yet.
> >
> > Version is
> >
> > kamailio 5.5.3 (x86_64/linux) 473cef
> >
> > configuration is very simple , routing is based on tm.t_relay ( based on KEMI).
> >
> > Any help will be welcome.
> >
> > Danish
> >
> >
> >
> > --
> > Muhammad Danish Moosa
> > __________________________________________________________
> > Kamailio - Users Mailing List - Non Commercial Discussions To
> > unsubscribe send an email to sr-users-leave(a)lists.kamailio.org
> > Important: keep the mailing list in the recipients, do not reply only to the sender!
> > Edit mailing list options or unsubscribe:
>
>
>
> --
> Muhammad Danish Moosa
>
> " The core of mans' spirit comes from new experiences. "___
> Christopher McCandless
--
Muhammad Danish Moosa
" The core of mans' spirit comes from new experiences. "___ Christopher McCandless
Hello,
I have this error when trying to register this softphone:
https://github.com/InnovateAsterisk/Browser-Phone
61096#015#012Host: sip1.kamailio.xyz:8443#015#012Connection:
Upgrade#015#012Pragma: no-cache#015#012Cache-Control:
no-cache#015#012Upgrade: websocket#015#012Origin:
https://campus.voztovoice.org#015#012Sec-WebSocket-Version:
13#015#012User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64)
AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0
Safari/537.36#015#012Accept-Encoding: gzip, deflate,
br#015#012Accept-Language: es-419,es;q=0.6#015#012sec-gpc:
1#015#012Sec-WebSocket-Key:
uj5cXle8zzBFUzv4kWB2pg==#015#012Sec-WebSocket-Extensions:
permessage-deflate;
client_max_window_bits#015#012Sec-WebSocket-Protocol: sip#015#012#015#012>
Mar 9 08:10:55 sip1 /sbin/kamailio[194807]: WARNING: <script>: HTTP
request received on 8443
Mar 9 08:10:55 sip1 /sbin/kamailio[194807]: DEBUG: xhttp
[xhttp_mod.c:426]: xhttp_send_reply(): sending out response: 403 Forbidden
Any help is really apreciated
--
---
I'm SoCIaL, MayBe
Hi List
CPE behind Firewall, registering to Kamailio via TCP (or TLS).
When a call is sent to the CPE, kamailio attemts to open a new TCP
connection and is blocked by Firewall.
Is there an option to tell kamailio to use the existing registered TCP
connection?
Mit freundlichen Grüssen
-Benoît Panizzon-
--
I m p r o W a r e A G - Leiter Commerce Kunden
______________________________________________________
Zurlindenstrasse 29 Tel +41 61 826 93 00
CH-4133 Pratteln Fax +41 61 826 93 01
Schweiz Web http://www.imp.ch
______________________________________________________
hello,
I'm configuring Kamailio to permite calls like:
UDP -> UDP
TLS -> TLS
UDP -> TLS
TLS -> UDP
Until now all is ok; the only problem is with Microsip SoftPhone. When
make a call from Microsip TLS to another phone UDP, when the callee
answer, Microsip send a new INVITE and Kamailio don't delete all
references to SRTP so the call happens but without audio.
I know I have to process the reINVITE where I do has_totag stuff but I
don't know how.
Regards
--
---
I'm SoCIaL, MayBe
Hello,
Thank you for your reply! I've used your suggestion to accomplish some
amazing things. However, I'm having an issue when calling the *"sl.stats"* or
any other procedures. I've noticed that the number of "200" responses gets
incremented by 2, which is not the case when using the `*kamcmd*` tool. I
suspect that this may be due to jsonrpc using *http/https*, which is
causing Kamailio to treat it as a "200" response code. Could you advise on
how to avoid this issue?
Is there any further configuration that needs to be done?
Best regards.
On Sat, Feb 25, 2023 at 12:00 PM <sr-users-request(a)lists.kamailio.org>
wrote:
> Send sr-users mailing list submissions to
> sr-users(a)lists.kamailio.org
>
> To subscribe or unsubscribe via email, send a message with subject or
> body 'help' to
> sr-users-request(a)lists.kamailio.org
>
> You can reach the person managing the list at
> sr-users-owner(a)lists.kamailio.org
>
> When replying, please edit your Subject line so it is more specific
> than "Re: Contents of sr-users digest..."Today's Topics:
>
> 1. Kamailio RPC configuration (sadik.oualla.mohamed(a)gmail.com)
> 2. Re: Kamailio RPC configuration (Alex Balashov)
>
>
>
> ---------- Forwarded message ----------
> From: sadik.oualla.mohamed(a)gmail.com
> To: sr-users(a)lists.kamailio.org
> Cc:
> Bcc:
> Date: Fri, 24 Feb 2023 17:07:33 -0000
> Subject: [SR-Users] Kamailio RPC configuration
> Dear Kamailio community,
>
> I am a newbie in Kamailio and I am currently working on a project that
> involves communicating with Kamailio using Python. I have been exploring
> the Kamailio documentation and I have come across RPC, JSONRPCS..., which I
> believe can help me achieve my goal.
>
> However, I am not sure about the steps to follow in the Kamailio
> configuration file to create my own script to communicate with Kamailio
> using Python (the script is on an other machine on the same LAN). I would
> be grateful if someone could guide me through the process.
>
> I have already set up Kamailio (builed it from the source code 5.5.5) and
> Python on my machines and I have basic knowledge of Kamailio configuration.
> I just need some guidance on how to set up the RPC module in Kamailio and
> how to create a Python script to communicate with it. I found that I can
> use RPyC library of python.
>
> I would appreciate any help or suggestions from the Kamailio community.
> Thank you in advance for your time and assistance.
>
> Best regards,
> Wild Coder.
>
>
>
> ---------- Forwarded message ----------
> From: Alex Balashov <abalashov(a)evaristesys.com>
> To: "Kamailio (SER) - Users Mailing List" <sr-users(a)lists.kamailio.org>
> Cc:
> Bcc:
> Date: Fri, 24 Feb 2023 13:22:16 -0500
> Subject: [SR-Users] Re: Kamailio RPC configuration
> Hi,
>
> The easiest way to communicate with the JSONRPCS module is probably to use
> HTTP, in the form of the `xhttp` module:
>
> https://kamailio.org/docs/modules/5.6.x/modules/xhttp.html
>
> You will need...
>
> 1) To enable the HTTP transport in the `jsonrpcs` module;
>
> 2) A TCP or TLS listener (listen= config directive) to accept the traffic;
>
> 3) An xhttp `event_route[xhttp:request]` route, as detailed in that
> module's docs:
>
>
> https://kamailio.org/docs/modules/5.6.x/modules/xhttp.html#xhttp.f.xhttp_re…
>
> 4) Probably some measure of security / authentication for #3.
>
> The example from jsonrpc_dispatch() is perfectly sufficient to get you
> started:
>
>
> https://kamailio.org/docs/modules/5.6.x/modules/jsonrpcs.html#jsonrpcs.f.js…
>
> You should then be able to do things like:
>
> # curl \
> -X POST \
> -d '{"jsonrpc": "2.0", "id": "abc123", "method": "ul.dump"}' \
> http://${KAMAILIO_IP}:5060/RPC <http://${kamailio_ip}:5060/RPC>
>
> -- Alex
>
> > On Feb 24, 2023, at 12:07 PM, sadik.oualla.mohamed(a)gmail.com wrote:
> >
> > Dear Kamailio community,
> >
> > I am a newbie in Kamailio and I am currently working on a project that
> involves communicating with Kamailio using Python. I have been exploring
> the Kamailio documentation and I have come across RPC, JSONRPCS..., which I
> believe can help me achieve my goal.
> >
> > However, I am not sure about the steps to follow in the Kamailio
> configuration file to create my own script to communicate with Kamailio
> using Python (the script is on an other machine on the same LAN). I would
> be grateful if someone could guide me through the process.
> >
> > I have already set up Kamailio (builed it from the source code 5.5.5)
> and Python on my machines and I have basic knowledge of Kamailio
> configuration. I just need some guidance on how to set up the RPC module in
> Kamailio and how to create a Python script to communicate with it. I found
> that I can use RPyC library of python.
> >
> > I would appreciate any help or suggestions from the Kamailio community.
> Thank you in advance for your time and assistance.
> >
> > Best regards,
> > Wild Coder.
> > __________________________________________________________
> > Kamailio - Users Mailing List - Non Commercial Discussions
> > To unsubscribe send an email to sr-users-leave(a)lists.kamailio.org
> > Important: keep the mailing list in the recipients, do not reply only to
> the sender!
> > Edit mailing list options or unsubscribe:
>
> --
> Alex Balashov
> Principal Consultant
> Evariste Systems LLC
> Web: https://evaristesys.com
> Tel: +1-706-510-6800 e
>
> _______________________________________________
> sr-users mailing list -- sr-users(a)lists.kamailio.org
> To unsubscribe send an email to sr-users-leave(a)lists.kamailio.org
>
Hello,
I'm using jsonrpc_dispatch in a "xhttp:request" section (with xhttp and jsonrpcs modules), e.g.:
event_route[xhttp:request] {
if ($hu =~ "^/RPC") {
jsonrpc_dispatch();
exit;
}
xhttp_reply("404", "Not Found", "", "");
exit;
}
This works, but I would like to restrict the RPC functions that can be invoked this way.
Any advice on how I could do that ?
The xhttp module provides "url_skip" and "url_match" but this is not useful because in the URL I only have something like "RPC".
And the method is in the JSON body.
I could parse the JSON body before calling jsonrpc_dispatch, but it's a bit complicated (I don't know if it's feasible in Kamailio script ?), and seems redundant because jsonrpc_dispatch already does that...
Maybe somehow this could be checked from the "void *" second argument passed to the RPC function ?
Thanks.
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,
it's now like 3 months till the start of the next Kamailio World
Conference (taking place in Berlin, Germany, during June 5-8, 2023) and
the first group of speakers has just been published, the details are
available at:
- https://www.kamailioworld.com/k2023/speakers/
Not all proposals were reviewed and Call for Speakers is still open,
therefore if you want to share your interesting experiences or knowledge
in the RTC space, submit it via:
- https://www.kamailioworld.com/k2023/call-for-speakers/
All together, expect another edition of Kamailio World conference with
great content covering topics such as RTC scalability, security,
cloud-based deployments and elasticity, NG112/911, IoT, WebRTC, VoLTE
and 4G/5G.
Looking forward to meeting many of you in Berlin!
Cheers,
Daniel
--
Daniel-Constantin Mierla -- www.asipto.comwww.twitter.com/miconda -- www.linkedin.com/in/miconda
Kamailio World Conference - June 5-7, 2023 - www.kamailioworld.com
Kamailio Advanced Training - Online - March 27-30, 2023 - www.asipto.com
Hi,
I’m using kamailio’s silo module to store offline messages in it. I set extra_hdrs modparam to e.g. : ‘Resent-from-silo’ so the clients get information that the message has arrived directly (immediatelly) from the sender or it was stored offline and comes from silo.
So the problem is the following:
* if receiver’s socket is broken (e.g. airplane mode on mobile) and kamailio ‘thinks’ it is registered, server tries to send the message
* message will be timed out and based on config it will be stored in silo.
* the next step is to check if receiver is registered or not (since the client can re-register during 30sec until the message has timed out)
* If client is registered, kamailio tries to send the message immediately with m_dump().
* If the receiver’s connection is still broken, the message will be timed out and store in silo.
* In every store, a new ‘resent’ extra_hdrs value is appended.
When extra_hdrs length reaches 1024 bytes, the m_dump will fail and it blocks the dumping of messages to the given receiver.
Question: can extra_hdrs value be removed before store? Or what can be the solution not to duplicate the extra_hdrs value in some bad network situation?
Peter
Hi all
I'm trying to incorporate rtcp data from rtpengine into our CDRS. So
trying with the first interesting value, the average mos.
modparam("rtpengine", "mos_average_pv", "$avp(mos_average)")
If I understood right, to get this variable set, I need to call
rtpengine_manage() on the message that terminates the call.
So on an established call, that is either BYE or the 200 OK to the BYE.
Right?
if ($rm == "BYE") {
rtpengine_manage();
xlog("L_INFO", "$cfg(route): $rm: MOSS: $avp(mos_average)\n");
}
onreply_route[MANAGE_REPLY]
{
[...]
rtpengine_manage();
xlog("L_INFO", "$cfg(route): $rm reply MOS: $avp(mos_average)\n");
}
Messages pass those blocks, $avp(mos_average) is 'null' no mater what.
What am I missing?
In the syslog output of rtpengine I see there is rtcp data.
Mit freundlichen Grüssen
-Benoît Panizzon-
--
I m p r o W a r e A G - Leiter Commerce Kunden
______________________________________________________
Zurlindenstrasse 29 Tel +41 61 826 93 00
CH-4133 Pratteln Fax +41 61 826 93 01
Schweiz Web http://www.imp.ch
______________________________________________________
Hi List
Digging further into my tcp/tls issues...
Upon successful authentication I call:
tcp_keepalive_enable("60", "5", "5");
tcp_set_connection_lifetime("120");
I tought, this would do to keep the connection alive.
I noticed, despite keepalive packets being exchanged, kamailio is
closing the connection after a bit more than 2 minutes.
I am right at assuming, that tcp_set_connection_lifetime is not related
to how long the connection is idle, but is counted from the SYN, no
matter if keepalives were successfully exchanged?
Does calling tcp_set_connection_lifetime() again restart the lifetime
like for 2 more minutes like in this example? Or would I have to keep
increase the value of the lifetime on each successful re-register to
keep it open?
Mit freundlichen Grüssen
-Benoît Panizzon-
--
I m p r o W a r e A G - Leiter Commerce Kunden
______________________________________________________
Zurlindenstrasse 29 Tel +41 61 826 93 00
CH-4133 Pratteln Fax +41 61 826 93 01
Schweiz Web http://www.imp.ch
______________________________________________________
Hello,
Kamailio SIP Server v5.6.3 stable release is out.
This is a maintenance release of the latest stable branch, 5.6, that
includes fixes since the release of v5.6.2. There is no change to
database schema or configuration language structure that you have to do
on previous installations of v5.6.x. Deployments running previous v5.6.x
versions are strongly recommended to be upgraded to v5.6.3.
For more details about version 5.6.3 (including links and guidelines to
download the tarball or from GIT repository), visit:
* https://www.kamailio.org/w/2023/01/kamailio-v5-6-3-released/
RPM, Debian/Ubuntu packages will be available soon as well.
Many thanks to all contributing and using Kamailio!
Cheers,
Daniel
--
Daniel-Constantin Mierla -- www.asipto.comwww.twitter.com/miconda -- www.linkedin.com/in/miconda
Kamailio World Conference - June 5-7, 2023 - www.kamailioworld.com
Hello,
Kamailio SIP Server v5.5.6 stable release is out.
This is a maintenance release of the stable branch 5.5 that
includes fixes since the release of v5.5.5. There is no change to
database schema or configuration language structure that you have to do
on previous installations of v5.5.x. Deployments running previous v5.5.x
versions are strongly recommended to be upgraded to v5.5.6.
Note that 5.5 is the second last stable branch, still officially maintained
by Kamailio development team. The latest stable branch is 5.6, with
v5.6.4 being release out of it.
For more details about version 5.5.6 (including links and guidelines to
download the tarball or from GIT repository), visit:
* https://www.kamailio.org/w/2023/03/kamailio-v5-5-6-released/
RPM, Debian/Ubuntu packages will be available soon as well.
Many thanks to all contributing and using Kamailio!
Cheers,
Daniel
--
Daniel-Constantin Mierla -- www.asipto.comwww.twitter.com/miconda -- www.linkedin.com/in/miconda
Kamailio World Conference - June 5-7, 2023 - www.kamailioworld.com
Kamailio Advanced Training - Online - March 27-30, 2023 - www.asipto.com
Hello,
I am considering to release Kamailio v5.5.6 soon, branch on branch 5.5,
likely on Thursday or Wednesday next week (Mar 2/3, 2023). This is the
usual heads up notification to see if anyone is aware of issues not yet
reported to bug tracker and if yes, do it as soon as possible to give
them a chance to be fixed.
Cheers,
Daniel
--
Daniel-Constantin Mierla -- www.asipto.comwww.twitter.com/miconda -- www.linkedin.com/in/miconda
Kamailio World Conference - June 5-7, 2023 - www.kamailioworld.com
Kamailio Advanced Training - Online - March 27-30, 2023 - www.asipto.com
Hello guys,
We're seeing corner cases where the following happens:
On proxy-ws
- IP1:PORT1 connects via websocket from Client1
- Registration happens on an upstream kamailio
- for any reason, the TCP socket closes or times out.
- IP1:PORT1 (same IP:PORT combination) connects via websocket from Client2
- Registration happens on an upstream kamailio
Now a call comes in to Client1. Because the first connection was never
cleaned up, it is sent to the proxy-ws and the proxy will send it to the
IP1:PORT1 where Client2 is connected.
Short story, proxy-ws doesn't check the IP1:PORT1 where it is sending the
INVITE is the actual client it is supposed to be sending...
It seems that when a socket is closed, the mapping IP:PORT to Address
(i.e.: sip:d4f27e34@994f31243be9.invalid;transport=ws) doesn't seem to be
cleared... is this by design?
Thanks!
Regards,
David Villasmil
email: david.villasmil.work(a)gmail.com
phone: +34669448337
Hi,
I have a very simple proxy (stateful) where kamailio acts as a proxy
between 2 endpoints. Everything works fine for weeks and suddenly I
see kamailio stops responding. From pcap I can see kamailio is not
proxying the session progress and bombarding invites to one endpoint
without any reason. Even that invite was stripped on the Body part.
Restarting kamailio fixes it immediately. Unfortunately I could not
take bt full yet.
Version is
kamailio 5.5.3 (x86_64/linux) 473cef
configuration is very simple , routing is based on tm.t_relay ( based on KEMI).
Any help will be welcome.
Danish
--
Muhammad Danish Moosa
Hello,
Kamailio SIP Server v5.6.4 stable release is out.
This is a maintenance release of the latest stable branch, 5.6, that
includes fixes since the release of v5.6.3. There is no change to
database schema or configuration language structure that you have to do
on previous installations of v5.6.x. Deployments running previous v5.6.x
versions are strongly recommended to be upgraded to v5.6.4.
For more details about version 5.6.4 (including links and guidelines to
download the tarball or from GIT repository), visit:
* https://www.kamailio.org/w/2023/02/kamailio-v5-6-4-released/
RPM, Debian/Ubuntu packages will be available soon as well.
An additional note to say that call for speakers and registration for
Kamailio World Conference 2023 are now open, more details at:
* https://www.kamailioworld.com
Many thanks to all contributing and using Kamailio!
Cheers,
Daniel
--
Daniel-Constantin Mierla -- www.asipto.comwww.twitter.com/miconda -- www.linkedin.com/in/miconda
Kamailio World Conference - June 5-7, 2023 - www.kamailioworld.com
Kamailio Advanced Training - Online - March 27-30, 2023 - www.asipto.com
Hello,
We have one Kamailio Instance connected with MS Teams (based on this instruction: https://skalatan.de/en/blog/kamailio-sbc-teams), which worked fine for a while until recently we noticed that calls from teams are not working anymore. When I looked through the logs I found that Microsoft cannot establish a TLS connection to our server because of the cipher:
TLS accept:error:1408A0C1:SSL routines:ssl3_get_client_hello:no shared cipher (sni: sbc.example.com - domain is obfuscated).
Certificate is valid, the configuration is below:
[server:default]
method = TLSv1.2+
verify_certificate = no
require_certificate = no
private_key = /usr/local/etc/kamailio/certs/example.net/sbc1-teams_example_net.key
certificate = /usr/local/etc/kamailio/certs/example.net/sbc1-teams_example_net.crt
server_name = sbc1-teams.example.net
ca_list = /usr/local/etc/kamailio/certs/sectigo_ca.pem
#ca_list=/etc/ssl/certs/ca-bundle.crt
[client:default]
method = TLSv1.2+
verify_certificate = no
require_certificate = no
private_key = /usr/local/etc/kamailio/certs/example.net/sbc1-teams_example_net.key
certificate = /usr/local/etc/kamailio/certs/example.net/sbc1-teams_example_net.crt
ca_list = /usr/local/etc/kamailio/certs/sectigo_ca.pem
#ca_list=/etc/ssl/certs/ca-bundle.crt
We use a certificate from Sectigo, but I've tried with Let's Encrypt - and it's the same. Any idea what could be the reason?
Hello,
I am considering to release Kamailio v5.6.4 (out of branch 5.6) next
week (likely on Monday or Tuesday, Feb 27/28, 2023). If anyone is aware of
issues not yet on the bug tracker, report them there asap in order to
have a better chance to be fixed.
Cheers,
Daniel
--
Daniel-Constantin Mierla -- www.asipto.comwww.twitter.com/miconda -- www.linkedin.com/in/miconda
Kamailio World Conference - June 5-7, 2023 - www.kamailioworld.com
Kamailio Advanced Training - Online - March 27-30, 2023 - www.asipto.com
Dear Kamailio community,
I am a newbie in Kamailio and I am currently working on a project that involves communicating with Kamailio using Python. I have been exploring the Kamailio documentation and I have come across RPC, JSONRPCS..., which I believe can help me achieve my goal.
However, I am not sure about the steps to follow in the Kamailio configuration file to create my own script to communicate with Kamailio using Python (the script is on an other machine on the same LAN). I would be grateful if someone could guide me through the process.
I have already set up Kamailio (builed it from the source code 5.5.5) and Python on my machines and I have basic knowledge of Kamailio configuration. I just need some guidance on how to set up the RPC module in Kamailio and how to create a Python script to communicate with it. I found that I can use RPyC library of python.
I would appreciate any help or suggestions from the Kamailio community. Thank you in advance for your time and assistance.
Best regards,
Wild Coder.
Hi
Sorry for the OT but I think here's the place where I an find a lot of Ms teams
integrations
I've been working on MS teams direct routing integration for PekePBX. It works.
I guess I've done it as everybody else, using Henning's guide as base and
extending it for multitenant setup (thanks Henning!)
What I've realized is that the source IP address of calls coming from MS are
not always matching dispatcher hosts. Sometimes they come from another source
IP and failover to the dispatcher hosts when they receive no response. That
makes some of the calls to have an additional latency
Searching in the MS doc I see that they document these nets as source of their
signaling:
52.112.0.0/14
52.120.0.0/14
But I've seen IP addresses outside of this range as source.
In this blog
https://erwinbierens.com/microsoft-teams-direct-routing-ip-addresses/
The ranges are listed as
52.112.0.0/16
52.113.0.0/16
52.114.0.0/16
52.115.0.0/16
52.120.0.0/16
52.121.0.0/16
52.122.0.0/16
52.123.0.0/16
which looks better but scares me out. Having no auth is it secure to bind so
many ranges to MS?
Do you use anything else than certificate verification for these calls?
cheers,
Jon
--
PekePBX, the multitenant PBX solution
https://pekepbx.com
Hi
Again, fighting with MS Teams but this time it's a kamailio question.
I have MSteams hosts in the dispatcher for OPTIONS and for destination.
Acording to MS you need to try sip.pstnhub.foo then sip2.pstnhub.foo
and sip3.pstnhub.foo
2 | sip:sip.pstnhub.microsoft.com;transport=tls | 0 | 1
2 | sip:sip2.pstnhub.microsoft.com;transport=tls | 0 | 2
2 | sip:sip3.pstnhub.microsoft.com;transport=tls | 0 | 3
I was going to implement dispatcher failover as usual ds_select_domain (alg 8)
with failure routes but checking the SRV of the first domain I see it already
includes 4 hosts:
host -t srv _sips._tcp.sip.pstnhub.microsoft.com_sips._tcp.sip.pstnhub.microsoft.com has SRV record 10 0 5061
sip.pstnhub.microsoft.com.
_sips._tcp.sip.pstnhub.microsoft.com has SRV record 20 0 5061
sip2.pstnhub.microsoft.com.
_sips._tcp.sip.pstnhub.microsoft.com has SRV record 30 0 5061
sip3.pstnhub.microsoft.com.
_sips._tcp.sip.pstnhub.microsoft.com has SRV record 40 0 5061
sip4.pstnhub.microsoft.com.
So... If I have dns srv failover enabled in kamailio... what would be the point
of the dispatcher failover? In case I only want failover in case 408 or 5XX
wouldn't the tm module do it for me?
cheers,
Jon
--
PekePBX, the multitenant PBX solution
https://pekepbx.com
Hello ,
i would like to know if there is a way to change the default 477 response code generated by kamailio in some cases.
for example if kamalio generates 477 because its not able to reach a peer i would like to change it to another code before to forward it.
Thanks.
Hello,
I'd like to start tracking a call history/log as soon as I receive a call.
I'd like the customer to be able to see that there's an incoming call to
one of their numbers in real time.
I'm thinking of using the RABBITMQ Module to manually emit an event from my
main route when I receive an INVITE. Is that a bad idea? What if the broker
isn't located on the same host (latency/availability)? I don't want to
negatively affect the call processing.
I was looking at the Dialog Module and it has three event routes:
* event_route[dialog:start]
* event_route[dialog:end]
* event_route[dialog:failed]
It's really close to what I want, but I'd like to capture the dialog before
it starts (Unconfirmed or Early). Maybe another option is to scan the
Dialog table with an external process and emit events from there.
Has anyone had success in creating a realtime call history? Is there a
better way to go about doing so?
Thanks!
--
Anthony Wittig
Mango Voice Developer
Hello,
a quick note to the community forums to announce that the registration
for the next Kamailio World Conference (June 5-7, 2022, in Berlin,
Germany) is now open! The event returns to an in-person conference
format, at the same wonderful location in the city center of Berlin!
More details are available at:
* https://www.kamailioworld.com/k2023/registration/
Call for presentations is also open, there is already a group of very
interesting submissions, we aim to publish details about them in the
near future.
Looking forward to meeting many of you in Berlin!
Cheers,
Daniel
--
Daniel-Constantin Mierla -- www.asipto.comwww.twitter.com/miconda -- www.linkedin.com/in/miconda
Kamailio World Conference - June 5-7, 2023 - www.kamailioworld.com
Kamailio Advanced Training - Online - March 27-30, 2023 - www.asipto.com
Hi
Having this situation while elaborating topos in lab.
* Kamailio Registration Instance with topos enabled where customers are
registered.
* Kamailio Core Instance with Dialogue enabled and handling
interconnections.
Calls in transit from customer to IC work flawlessly, topos does what
it should, hides and restores headers needed on the core.
But I have run into an issue with customer calling another customer on
same registrar instance. To generate a CDR with diaglogue and for
decision where to route the calls to (registrar is kept simple and only
handles registrations and locations), those calls are also routed via
core.
This works as long as PRACK is disabled.
When PRACK is enabled and CPE B is requesting 100rel, the PRACK send
from CPE A has no route set (it was removed by topos). Therefore the
PRACK only makes it to the core who then does not know where to route
that PRACK.
It looks like topos on the REG only restores ONE Route pointing to the
core (maybe because the 2nd one pointed to itself?) header when
restoring them.
I have attempted to spam more record_route() here and there in the
config of the core and the registrar to try to force creation of route
headers, but failed.
Is this a known limitation of using topos?
--
Mit freundlichen Grüssen
-Benoît Panizzon- @ HomeOffice und normal erreichbar
--
I m p r o W a r e A G - Leiter Commerce Kunden
______________________________________________________
Zurlindenstrasse 29 Tel +41 61 826 93 00
CH-4133 Pratteln Fax +41 61 826 93 01
Schweiz Web http://www.imp.ch
______________________________________________________
Hi Jon,
you could of course try to add some heuristic, in the end the used IPs are a smaller sub-set. But to just quote from the official docs, it seems to be pretty clear:
"You need to open ports for all these IP address ranges in your firewall to allow incoming and outgoing traffic to and from the addresses for signaling."
Cheers,
Henning
________________________________
From: Jon Bonilla (Manwe)
Sent: Monday, February 20, 2023 15:49
To: Henning Westerholt; Kamailio (SER) - Users Mailing List
Subject: Re: [SR-Users] OT: MS Teams source IP address ranges
El Mon, 20 Feb 2023 13:06:30 +0000
Henning Westerholt <hw(a)gilawa.com> escribió:
> Hello,
>
> correct me if I am wrong, but the second group of addresses ("/16") is
> included in the first group ("/14"), right?
>
> Regarding the large IP scope, this is the way Microsoft designed it,
> unfortunately. There is not that much what you can do about.
>
>
Right. Didn't check the masks. they all were 16 in my mind :)
So, if I add those ranges in the permissions table my only way of avoiding
spoofed calls is certificate validation? I'm already doing that and also
checking the company domain and ms account email address. Just wanted to be
sure that nothing "essential" was missing.
--
PekePBX, the multitenant PBX solution
https://pekepbx.com
Hi,
maybe I'm stupid, but I can not find out how to send 4 byte UDP NAT
packets to the sip server.
loadmodule "nathelper.so"
modparam("nathelper", "natping_interval", 15)
modparam("nathelper|registrar", "received_avp", "$avp(s:rcv)")
I'm a absolute beginner with kamailio and the page about the nathelper
Module is not really helpful.
At the moment no pings are sendet.
But I receive 4 byte packets from the sip server.
After 15 minutes my calls are cancelled because of the missing pings.
Without proxy, the phone send the pings directly to the sip server and
the call stays alive.
When I experiment with some other nathelper settings, kamailo start
results in errors.
Any help would be appreciated.
Best regards,
Bernd
Hello ,
im using kamailio with two interfaces external and internal.
i need a way either to :
* enable topoh hiding only when outgoing interface is external ( mask contact and Via ip only when ougoing interface is external
* or if it is not possible to enable it only in one direction.i want to know how to configure dynamic(for example in xavp or avp) ip to put in Contact and Via when topoh is enabled.
i see that the 'mask_ip' parameter of topoh module is a string. so we can not set a dynamic value here unfortunately.
Thanks
Hey all
I have started using the uac module to be able to mirror username
changes on both legs of a call.
But now I found an issue:
Assume this situation:
Call IC => Customer
IC is e164, Customer wants 'local' numbers.
IC From: +41991234567 => Customer From: 0991234567
uac_replace_from("sip:" + $avp(from_local) + "@" + $(fu{uri.host}));
Customer is absent, after timeout in failure_route call is dispatched to
Voicemail Server, which is configured for e164 numbers:
uac_replace_from("sip:" + $avp(from_e164) + "@" + $(fu{uri.host}));
But then uac complains:
replace_uri(): Already called uac_replace for this dialog
Why isn't just the most from version kept and used?
--
Mit freundlichen Grüssen
-Benoît Panizzon- @ HomeOffice und normal erreichbar
--
I m p r o W a r e A G - Leiter Commerce Kunden
______________________________________________________
Zurlindenstrasse 29 Tel +41 61 826 93 00
CH-4133 Pratteln Fax +41 61 826 93 01
Schweiz Web http://www.imp.ch
______________________________________________________
Hi,
I can log incoming SIPS TLS version and cipher with PV $tls_version
and $tls_cipher_info.
How can I log these variables on incoming HTTP/WebSocket.
Thanks
Michal H.
Hello colleagues.
I'm starting to use Kamailio for educational purposes, as an IMS test zone.
Registration of subscribers, calls go successfully, but the following
errors are constantly pouring into the log:
Feb 16 14:40:46 ct-pcscf /usr/local/sbin/kamailio[2849]: ERROR: <core>
[core/rvalue.c:1378]: int_intop2(): rv div by 0
Feb 16 14:40:46 ct-pcscf /usr/local/sbin/kamailio[2849]: ERROR: <core>
[core/rvalue.c:1378]: int_intop2(): rv div by 0
Feb 16 14:40:46 ct-pcscf /usr/local/sbin/kamailio[2849]: ERROR: <core>
[core/rvalue.c:2381]: rval_expr_eval(): rval expression evaluation failed
(735,15-735,55)
Feb 16 14:40:46 ct-pcscf /usr/local/sbin/kamailio[2849]: ERROR: <core>
[core/rvalue.c:2381]: rval_expr_eval(): rval expression evaluation failed
(735,15-735,55)
Feb 16 14:40:46 ct-pcscf /usr/local/sbin/kamailio[2849]: ERROR: <core>
[core/lvalue.c:386]: lval_assign(): rval expression evaluation failed
(735,15-735,55)
Feb 16 14:40:46 ct-pcscf /usr/local/sbin/kamailio[2849]: ERROR: <core>
[core/lvalue.c:386]: lval_assign(): rval expression evaluation failed
(735,15-735,55)
Apparently they don’t carry anything critical, but they clog the log,
natively I can’t understand the meaning of the errors.
Please tell me what they mean and how to eliminate their cause? If
necessary, I will provide the pcscf config.
When you do "kamcmd uac.reg_reload" frequently enough, you'll get an error:
# kamcmd uac.reg_reload
error: 500 - Failed to shift records - check log messages
Logs:
ERROR: uac [uac_reg.c:416]: uac_reg_ht_shift(): shifting in-memory table
is not possible in less than 150 secs
What is the reason behind 150 sec limitation for how frequent reloads
can be done?
Is it configurable in any way?
Use case:
Remote app needs to disable uac registration. It deletes record in DB
and calls kamcmd uac.reg_reload to activate the change. With 150 sec
limit it can't apply DB changes immediately.
Please advise.
Thanks,
Dmytro
Hello all,
I am using the sca module in kamailio script.so when i subscribe
with my ip phone for SCA Presence i get all the information in a
sca_subscriptions table for the first time. When I reboot the device I get
a new record-route header in trace but It does not update *record-route *Filed
in sca_subscriptions table.
Can anyone help me out with this issue ?
*Here's modparam configuration *
modparam("sca", "db_update_interval", 10 )
modparam("sca", "db_url", DBURL_LOCAL)
modparam( "sca", "line_seize_max_expires", 30)
modparam( "sca", "purge_expired_interval", 1800)
--
--
* <https://www.ecosmob.com/itexpo/>
*
*Disclaimer*
In addition to generic
Disclaimer which you have agreed on our website, any views or opinions
presented in this email are solely those of the originator and do not
necessarily represent those of the Company or its sister concerns. Any
liability (in negligence, contract or otherwise) arising from any third
party taking any action, or refraining from taking any action on the basis
of any of the information contained in this email is hereby excluded.
*Confidentiality*
This communication (including any attachment/s) is
intended only for the use of the addressee(s) and contains information that
is PRIVILEGED AND CONFIDENTIAL. Unauthorized reading, dissemination,
distribution, or copying of this communication is prohibited. Please inform
originator if you have received it in error.
*Caution for viruses,
malware etc.*
This communication, including any attachments, may not be
free of viruses, trojans, similar or new contaminants/malware,
interceptions or interference, and may not be compatible with your systems.
You shall carry out virus/malware scanning on your own before opening any
attachment to this e-mail. The sender of this e-mail and Company including
its sister concerns shall not be liable for any damage that may incur to
you as a result of viruses, incompleteness of this message, a delay in
receipt of this message or any other computer problems.
Hello I have a query regarding the record-route field update in DB for SCA
SUBSCRIBE. Here are my test cases *Initial SCA subscription,* We got the
below SUBSCRIBE packet in kamailio SUBSCRIBE sip:1234.xyz.com:5060 SIP/2.0
Via: SIP/2.0/UDP kam-ip:5060;branch=z9hG4bK2sansay1081381rdb66
*Record-Route*
: <sip:sansay1081381rdb66spid17urcvjtr139807186744464nat0@kam-ip:5060;lr;transport=udp>
To: <sip:372427@1234.xyz.com:6060> From: "708"
<sip:372427@1234.xyz.com:6060>;tag=CFFBAF19-19A68CBC
Call-ID: bd4b50d9384523c14ea05c532d895bf2 CSeq: 2 SUBSCRIBE Contact: <
sip:372427@192.168.1.3> Expires: 3600 Allow:
INVITE,ACK,BYE,CANCEL,OPTIONS,INFO,MESSAGE,SUBSCRIBE,NOTIFY,PRACK,UPDATE,REFER
Event: call-info User-Agent: PolycomVVX Accept-Language: en Max-Forwards:
69 Content-Length: 0 also in the sca_subscriptions table record-route
header is updated as per Initial SUBSCRIBE record-route. *record_route:
<sip:sansay1081381rdb66spid17urcvjtr139807186744464nat0@kam-ip:5060;lr;transport=udp>
* But After rebooting the device, we got a new record-route in SUBSCRIBE
Packet but in DB Record-route Field not updated after getting an updated
record-route in Trace. *Kamailio Trace *SUBSCRIBE sip:1234.xyz.com:5060 SIP/2.0
Via: SIP/2.0/UDP kam-ip:5060;branch=z9hG4bK2sansay1081415rdb48
*Record-Route*:
<sip:sansay1081415rdb48spid17urcvjtr139807186744464nat0@kam-ip:5060;lr;transport=udp>
To: <sip:372427@1234.xyz.com:6060> From: "708"
<sip:372427@1234.xyz.com:6060>;tag=35852031-CF749E20
Call-ID: 41fa031d79e35fae4a61c61984895bf2 CSeq: 2 SUBSCRIBE Contact: <
sip:372427@192.168.1.3> Expires: 3600 Allow:
INVITE,ACK,BYE,CANCEL,OPTIONS,INFO,MESSAGE,SUBSCRIBE,NOTIFY,PRACK,UPDATE,REFER
Event: call-info User-Agent: PolycomVVX Accept-Language: en Max-Forwards:
69 Content-Length: 0 as per logic it should update the record-route field
in sca_subscriptions table . but it didn't update it : record_route:
<sip:sansay1081381rdb66spid17urcvjtr139807186744464nat0@kam-ip:5060;lr;transport=udp>
So can you suggest to us how we can update the record-route field as per
SUBSCRIBE's packet new record-route ?
I am having an issue matching toll-free. I tested my regex on regex101.com,
and it looks good, but it does not match my if statement. Am I doing
something wrong?
if (method=="INVITE") {
xlog("L_INFO", "Checking Routes $rU");
if ($rU=~"^(\+?1)?(8(00|44|55|66|77|88)[2-9]\d{6})$") {
xlog("L_INFO", "Tollfree call");
};
};
Logs show "<script>: Checking Routes +18002211212" so I don't get why it
does not match.
><>
Nathan Stratton
Founder, CTO
Vocinity, Inc.
<https://www.vocinity.com/gabbi>
Hi
I have an existing kamailio config and I want to migrate to kemi. I want to
know what is the equivalent of this code in kemi javascript ?
$avp(s:contact) = $hdr(Contact);
$avp(s:contact_fix) = $hdr(Contact);
avp_subst("$avp(s:contact_fix)",
"/@([0-9]+).([0-9]+).([0-9]+).([0-9]+)/@$sel(cfg_get.kamailio.ss_ip)/gi");
remove_hf("Contact");
append_hf("Contact: $avp(s:contact_fix)\r\n");
t_on_reply("REG_FIX");
thanks for your attention.
What is the simplest way to return values from external application into
Kamailio config and assign it to a variable?
I'm looking for the most light weight mechanism to do it and to offload
some logic to external app. Something like this would be ideal:
$var(myVar), $var(err) = lua_run("lua_func1", "$rU");
OR
$var(encString) = exec_cmd("echo 'abc $rU' | base64");
There is this method:
http_client_query("http://...", "", "", "$var(result)");
but there is an overhead of networking and HTTP protocol.
Please advise.
Thanks, Dmytro
All,
I've been trying to chase down an issue with db_cluster and permissions in combination with something else, where with my full configuration using the same cluster in multiple modules has failures. I've been trying to create a simplified configuration to consistently reproduce the problem without much success, however I did stumble upon THIS particular problem. The configuration here works fine as is - avpops uses the cluster URL, and carrierroute uses the direct SQLite URL. If I define WITH_DBCLUSTER, then carrierroute fails fetching rows using the cluster connection. Note that AVPOPS is only used as a general test to see if the cluster config works. If I remove references to avpops , carrierroute still fails loading from the cluster URL. Thoughts?
#!KAMAILIO
loadmodule "db_sqlite"
loadmodule "pv"
loadmodule "db_cluster"
loadmodule "carrierroute"
loadmodule "avpops"
modparam("db_cluster", "connection", "db1=>sqlite:////etc/db.sqlite")
modparam("db_cluster", "cluster", "cl1=>db1=9s9s")
modparam("db_cluster", "inactive_interval", 30)
#!ifdef WITH_DBCLUSTER
modparam("carrierroute", "db_url", "cluster://cl1")
#!else
modparam("carrierroute", "db_url", "sqlite:////etc/db.sqlite")
#!endif
modparam("carrierroute", "config_source", "db")
modparam("avpops", "db_url", "cluster://cl1")
modparam("avpops", "avp_table", "usr_preferences")
request_route {
exit;
}
Failure log:
0(1) ERROR: carrierroute [cr_db.c:345]: load_route_data_db(): Fetching rows failed
0(1) ERROR: carrierroute [cr_data.c:179]: reload_route_data(): could not load routing data
0(1) ERROR: carrierroute [carrierroute.c:240]: mod_init(): could not prepare route data
0(1) ERROR: <core> [core/sr_module.c:942]: init_mod(): Error while initializing module carrierroute (/usr/lib/kamailio/modules/carrierroute.so)
Kaufman
Hi,
Some percentage of requests processed with async_route("REQ_PROCESS", "5") seem to end up with a resumed transaction, though most do. Not sure what the exact percentage is. The ones that don't
Is this due to excessive requests? Is there a limit on internal IPC queue depth? Is it conceptually similar to a generic shared blocking queue internally, along the lines of 'mqueue'? Is there any reasonable way to troubleshoot this?
Thanks!
-- Alex
--
Alex Balashov
Principal Consultant
Evariste Systems LLC
Web: https://evaristesys.com
Tel: +1-706-510-6800
Hi,
Can DISPATCHER be used in conjunction with ENUM?
E.g., to avoid sending requests to SIP destinations that are returned by ENUM, but, which DISPATCHER knows are down?
Thanks,
Jawaid
I have a multi-homed kam with a uas behind one private interface and a
public interface for the uac+sip provider.
When the uac initiates a call, kam sends the invite to the private uas
which sets up a b-leg call back to kam with a Contact header that has the
uas' private ip address. I want to change that private ip address to be
Kamailio's advertised/public ip address before it gets forwarded to the sip
provider.
I am rewriting Contact in a route from request_route like this:
> if ($rP != $null) {
> $var(ct) = ";transport=" + $rP;
> }else{
> $var(ct) = "";
> }
> $var(cr) = "<sip:" + $fU + "@" + $RAi + ":" + $RAp + $var(ct) + ">";
>
> remove_hf("Contact");
> append_hf("Contact: $var(cr)\r\n");
This seems to work fine for the INVITE going to the provider.
There's also the 200 OK that the uas sends for the uac (a-leg) with a
private ip address in Contact -- I want to rewrite that before sending it
to the UAC, too.
Using the same method as above (but inside onreply_route), what happens is
the UAC receives the modified OK and sends back an ACK with the modified
Contact (kam's public ip addr) in the ACK r-uri, and kam gets in a loop of
sending an ACK from its private ip address to its public ip address and
replying to itself.
call flows: https://imgur.com/a/Yj2DJpn
Is there a right way to do this?
Hello,
https://www.kamailio.org/docs/modules/devel/modules/htable#htable.p.htable says for
modparam('htable', 'htable', '…autoexpire … updateexpire…')
autoexpire -time in seconds to delete an item from a hash table if no update was done to it. If is missing or set to 0, the items won't expire.
updateexpire - if set to 1 (default), the time until expiration of an item is reset when that item is updated. Certain uses of htable may dictate that
updates should not reset the expiration timeout, however, in which case this attribute can be set to 0.
My reading is that, when a value is updated and autoexpire is positive, autoexpire will reset the timer, but updateexpire may or may not reset the
same timer.
That is:
modparam('htable', 'htable', 'a=>autoexpire=5;updatedelete=1')
modparam('htable', 'htable', 'b=>autoexpire=5;updatedelete=0')
If b was not updated for 5s, will it be removed, as the documentation for autoxpire suggests, irrespective of updatedelete?
Greetings
Dilyan
Hello,
when I use
dns_try_naptr=on
corelog=-1
debug=-1
enable_tls=yes
use_dns_cache=off
dns_cache_init=off
modparam("topoh", "mask_key", "TEAI32l)- eauiDEUIA!?()")
and run Kamailio under valgrind, Kamailio logs:
20(21) ERROR: kemix [kemix_mod.c:229]: ki_kx_get_ruri_attr(): failed to parse the R-URI
20(21) ERROR: rr [loose.c:1011]: loose_route_mode(): failed to parse Request URI
The workflow is: I start Kamailio. A UDP-client registers. Then a websocket client calls the UDP-client. Finally the websocket client hangs up.
Valgrind does not report anything suspicious.
When I use instead
modparam("topoh", "mask_key", "TEAI32l")
for the same workflow, with the same configuration, valgrind logs:
==14== Invalid read of size 4
==14== at 0x4867E5: atomic_cmpxchg_int (atomic_x86.h:224)
==14== by 0x486830: futex_get (futexlock.h:99)
==14== by 0x490CE4: dns_hash_get (dns_cache.c:673)
==14== by 0x4972A6: dns_get_entry (dns_cache.c:2001)
==14== by 0x499288: dns_srv_get_he (dns_cache.c:2455)
==14== by 0x597AAD: no_naptr_srv_sip_resolvehost (resolve.c:1599)
==14== by 0x598332: naptr_sip_resolvehost (resolve.c:1675)
==14== by 0x5983C5: _sip_resolvehost (resolve.c:1707)
==14== by 0x49943B: dns_srv_sip_resolvehost (dns_cache.c:2516)
==14== by 0x49B3DD: dns_sip_resolvehost (dns_cache.c:2738)
==14== by 0x59846A: sip_hostport2su (resolve.c:1727)
==14== by 0x4CB951: forward_request (forward.c:515)
==14== by 0x99993CD: t_relay_to (t_funcs.c:300)
==14== by 0x99EBA32: _w_t_relay_to (tm.c:1764)
==14== by 0x99F4DEB: ki_t_relay (tm.c:2917)
==14== by 0xA80A94B: sr_kemi_lua_exec_func_ex (app_lua_api.c:1022)
==14== by 0xA81237D: sr_kemi_lua_exec_func (app_lua_api.c:1706)
==14== by 0xA81B93F: sr_kemi_lua_exec_func_209 (app_lua_kemi_export.c:1717)
==14== by 0xA8383C0: luaD_precall (in /lib64/kamailio/modules/app_lua.so)
==14== by 0xA84C4CA: luaV_execute (in /lib64/kamailio/modules/app_lua.so)
==14== by 0xA838C90: luaD_callnoyield (in /lib64/kamailio/modules/app_lua.so)
==14== by 0xA837029: luaD_rawrunprotected (in /lib64/kamailio/modules/app_lua.so)
==14== by 0xA8391DF: luaD_pcall (in /lib64/kamailio/modules/app_lua.so)
==14== by 0xA8333DE: lua_pcallk (in /lib64/kamailio/modules/app_lua.so)
==14== by 0xA806F0C: app_lua_run_ex (app_lua_api.c:773)
==14== by 0xA825F06: sr_kemi_config_engine_lua (app_lua_mod.c:119)
==14== by 0x5048BE: sr_kemi_route (kemi.c:3784)
==14== by 0x588909: receive_msg (receive.c:502)
==14== by 0xA609ADF: ws_frame_receive (ws_frame.c:644)
==14== by 0x4BCAAB: sr_event_exec (events.c:299)
==14== Address 0x0 is not stack'd, malloc'd or (recently) free'd
==14==
==14==
==14== Process terminating with default action of signal 11 (SIGSEGV): dumping core
==14== Access not within mapped region at address 0x0
==14== at 0x4867E5: atomic_cmpxchg_int (atomic_x86.h:224)
==14== by 0x486830: futex_get (futexlock.h:99)
==14== by 0x490CE4: dns_hash_get (dns_cache.c:673)
==14== by 0x4972A6: dns_get_entry (dns_cache.c:2001)
==14== by 0x499288: dns_srv_get_he (dns_cache.c:2455)
==14== by 0x597AAD: no_naptr_srv_sip_resolvehost (resolve.c:1599)
==14== by 0x598332: naptr_sip_resolvehost (resolve.c:1675)
==14== by 0x5983C5: _sip_resolvehost (resolve.c:1707)
==14== by 0x49943B: dns_srv_sip_resolvehost (dns_cache.c:2516)
==14== by 0x49B3DD: dns_sip_resolvehost (dns_cache.c:2738)
==14== by 0x59846A: sip_hostport2su (resolve.c:1727)
==14== by 0x4CB951: forward_request (forward.c:515)
==14== by 0x99993CD: t_relay_to (t_funcs.c:300)
==14== by 0x99EBA32: _w_t_relay_to (tm.c:1764)
==14== by 0x99F4DEB: ki_t_relay (tm.c:2917)
==14== by 0xA80A94B: sr_kemi_lua_exec_func_ex (app_lua_api.c:1022)
==14== by 0xA81237D: sr_kemi_lua_exec_func (app_lua_api.c:1706)
==14== by 0xA81B93F: sr_kemi_lua_exec_func_209 (app_lua_kemi_export.c:1717)
==14== by 0xA8383C0: luaD_precall (in /lib64/kamailio/modules/app_lua.so)
==14== by 0xA84C4CA: luaV_execute (in /lib64/kamailio/modules/app_lua.so)
==14== by 0xA838C90: luaD_callnoyield (in /lib64/kamailio/modules/app_lua.so)
==14== by 0xA837029: luaD_rawrunprotected (in /lib64/kamailio/modules/app_lua.so)
==14== by 0xA8391DF: luaD_pcall (in /lib64/kamailio/modules/app_lua.so)
==14== by 0xA8333DE: lua_pcallk (in /lib64/kamailio/modules/app_lua.so)
==14== by 0xA806F0C: app_lua_run_ex (app_lua_api.c:773)
==14== by 0xA825F06: sr_kemi_config_engine_lua (app_lua_mod.c:119)
==14== by 0x5048BE: sr_kemi_route (kemi.c:3784)
==14== by 0x588909: receive_msg (receive.c:502)
==14== by 0xA609ADF: ws_frame_receive (ws_frame.c:644)
==14== by 0x4BCAAB: sr_event_exec (events.c:299)
The stacktrace with the values of the variables is available at https://github.com/kamailio/kamailio/issues/3350 . Or at least these things seem very
similar to me.
Any idea?
I can share the OCI-image and the full configuration.
Greetings
Дилян
Hello,
The latest debian packages are built without autocomplete for kamcmd.
Do we have the libreadline-dev package installed on the build machine?
I know that we have kamctl rpc and kamcli, but if we are still
shipping kamcmd, it should have the autocomplete feature enabled.
Regards,
Ovidiu Sas
--
VoIP Embedded, Inc.
http://www.voipembedded.com