Hi,
Am using Kamailio 5.1.9 version
My Setup : client1 -> kamailio server 1 ( IP : 10.211.160.172) ---->
kamailio server 2( IP : 10.211.160.176) -> client2
I have a scenario where kamailio server 1 has to initiate an outgoing tls
connection to kamailio server 2, i have set the server_name and server_id
in the client profile in tls.cfg like below on kamailio server 1
[client:default]
verify_certificate = no
require_certificate = no
server_name = mahesh.client.com
[client:10.211.160.172:5061]
method = TLSv1+
verify_certificate = yes
require_certificate = yes
private_key = /root/mahesh_openssl/profile2/btip_172_server_private.key
certificate = /root/mahesh_openssl/profile2/btip_172_server_public.crt
ca_list = /root/mahesh_openssl/profile2/btip_ca_public.crt
cipher_list = RSA
verify_depth = 9
server_name = btip.176.com
server_id = btip.176.com
And in sar.cfg
$xavp(tls=>server_name)="btip.176.com";
$xavp(tls=>server_id)="btip.176.com";
$du = "sip:10.211.160.176:5061;transport=tls";
....
t_relay();
What i observe is that , when client hello is sent by 10.211.160.172 to
10.211.160.176, i dont see Extension server_name being sent. Am i missing
anything. Please help !
Hi All!
I have moved from kamailio 5.2.X to 5.3.X and I have now an error
with calling "sr.err" from my lua script:
sr.err("ERROR: param $tU [" .. tu .. "]\n")
app_lua [app_lua_api.c:626]: app_lua_runstring(): error from Lua:
/etc/kamailio/lua/my-script.lua:69: attempt to index global 'sr' (a nil
value)
I do understand that I should add this to continue with old way:
loadmodule "app_lua_sr.so"
modparam("app_lua_sr", "register", "sl")
However, I would prefer to fix my script to use the NEW way but can't find
it.
Thanks a lot.
Aymeric
--
Antisip - http://www.antisip.com
Dear all,
Not a direct question on kamailio, but on rtpengine, so feel free to ignore
:)
I have a farm of rtpengine servers , supporting our set of kamailio's.
On recent decent hardware (hp dl360 gen9/10 servers), I typically push my
systems upto 2500 channels per machine. Then I tend to see the load of the
machine go up in a logarithmic manner. E.g. a load of 3 supports 2500
channels, but when its at 3000 channels, load can be at 8. etc.
I have the kernel module running, and I have a good impression it's being
used too. No transcoding is going on, no recording, ... I've tried on
different OS'es, different network cards, and I always end up at that 2500
channels +-.
Is that what I can expect from rtpengine? Or am I really overlooking
something? What numbers do you push out of your systems?
kind regards and happy 2020!
I have a Debian server running Kamailio and i have all my users regiatering
and talking to each other. I do create/remove users from Siremis. I have
followed the guide from here:
https://www.powerpbx.org/content/kamailio-v5-siremis-v5-debian-v9-mariadb-a…
I would like to add freeswitch to the same server and add conference,
voicemail, supplementary services for my users.
I have given it a try to install freeswitch and tried to configure it
accordingly to
https://kb.asipto.com/freeswitch:kamailio-3.1.x-freeswitch-1.0.6d-sbc
But.now the Siremis gui shows a lot of errors and i cannot login any more.
Since it is a Virtual machine i reverted it back and it works without
freeswitch.
How could i integrate freeswitch to my system please?
Dear Users
Can you please name some of VoLTE/IMS Clients (Like IMSDroid for Android) for Windows/Linux/MAC to test IMS Network. IMSdroid available clients on the internet are not working with android v8,9 and 10. or if someone can guide me to create a working APK from IMSDroid available code on Github<https://github.com/DoubangoTelecom/imsdroid>.
Regards
Hamid
Hi All,
Am using Kamailio 5.1.9 version.
*Below is my tls.cfg*
[server:default]
method = TLSv1+
verify_certificate = no
require_certificate = no
private_key = server.key
certificate = server.crt
ca_list = bundle.crt
cipher_list = RSA
verify_depth = 9
[client:default]
verify_certificate = no
require_certificate = no
[server:10.211.160.172:5061]
method = TLSv1+
verify_certificate = yes
require_certificate = yes
private_key = /root/mahesh_openssl/profile2/btip_172_server_private.key
certificate = /root/mahesh_openssl/profile2/btip_172_server_public.crt
ca_list = /root/mahesh_openssl/profile2/btip_ca_public.crt
cipher_list = RSA
verify_depth = 9
server_name = btip.172.com
[server:10.211.160.172:5061]
method = TLSv1+
verify_certificate = yes
require_certificate = yes
private_key = /root/mahesh_openssl/profile1/ctip_172_server_private.key
certificate = /root/mahesh_openssl/profile1/ctip_172_server_public.crt
ca_list = /root/mahesh_openssl/profile1/ctip_ca_public.crt
cipher_list = RSA
verify_depth = 9
server_name = ctip.172.com
My Kamailio server ip is 10.211.160.172
i)When i initiate a tls connection from remote server(which is also a
kamailio server) say 10.211.160.176 to 10.211.160.172
In the client hello am setting sni name as btip.172.com => so on
10.211.160.172 side it is picking up the server profile with serve_name
btip.172.com for the tls handshake.*// Working as expected*
ii)When i initiate a tls connection from another remote server(Which is
also a kamailio server) say 10.211.160.163 to 10.211.160.172
In the client hello am setting sni name as ctip.172.com => so on
10.211.160.172 side it is picking up the server profile with serve_name
ctip.172.com for the tls handshake.*// Working as expected*
iii)When i initiate a tls connection from another remote server(Which is
also a kamailio server) say 10.211.160.175 to 10.211.160.172
In the client hello am NOT setting sni name => so on 10.211.160.172 side
should it pick up the server default profile or the first profile to which
IP and port matches ?
what i observe from logs is that it is picking up the server profile with
server_name ctip.172.com for the tls handshake.
I had a look at the code in function tls_lookup_cfg, from the debug
prints i understand it is trying to match profile for IP and port
if ((p->port==0 || p->port == port) && ip_addr_cmp(&p->ip, ip))* // IP and
port matched*
{
if(sname && sname->len>0) *//Incoming Client hello dint have
sname, so it will hit the else part*
{
if(p->server_name.s && p->server_name.len==sname->len
&& strncasecmp(p->server_name.s, sname->s, sname->len)==0)
{
LM_DBG("socket+server_name based TLS server domain
found\n");
return p;
}
}
else
{
return p; *// so it is returning the first profile to which IP and
port matched.*
}
}
Am i missing anything or is this a bug ? if in the clienthello there is no
sni , what needs to be done to make use of the default profile for the tls
handshake ? Or is this something fixed in latest.
I just Tried and Modified the code as below, after which it is giving the
server default profile when no sni in Incoming Client Hello.
if ((p->port==0 || p->port == port) && ip_addr_cmp(&p->ip, ip))
{
if(sname && sname->len>0)
{
if(p->server_name.s && p->server_name.len==sname->len
&& strncasecmp(p->server_name.s, sname->s, sname->len)==0)
{
LM_DBG("socket+server_name based TLS server domain
found\n");
return p;
}
}
else
{
if( (type & TLS_DOMAIN_SRV) && (p->server_name.s) )
{
LM_DBG("Inside %s at %d\n",__FUNCTION__,__LINE__);
return cfg->srv_default;
}
else
{
LM_DBG("Inside %s at %d\n",__FUNCTION__,__LINE__);
return p;
}
}
}
Regards,
Mahesh.B
Good morning,
I am a telecommunication engineer from the National Establishment of Aerial
Navigation (Algeria). First of all i would like to thank you for making the
SIP sever Kamailio available.
But actually i have got issues during the installation process. I was using
the steps described on the link below :
https://www.kamailio.org/wiki/install/devel/git
The issue was encountered at the step #make all, an error was found, and
here is what was displayed on the terminal:
*linux-vd3w:/usr/local/src/kamailio-devel/kamailio # make allmake -C src/
all make[1]: Entering directory
'/usr/local/src/kamailio-devel/kamailio/src'generating core/autover.h ...CC
(gcc) [kamailio] core/ver.oLD (gcc) [kamailio]
kamailiowhich: no mysql_config in
(/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin)which: no
mysql_config5 in
(/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin)which: no
mariadb_config in
(/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin)which: no
mysql_config in
(/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin)which: no
mysql_config5 in
(/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin)which: no
mariadb_config in
(/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin)CC (gcc) [M
db_mysql.so] my_res.oIn file included from
my_res.c:24:0:my_cmd.h:27:10: fatal error: mysql.h: No such file or
directory #include <mysql.h> ^~~~~~~~~compilation
terminated.make[2]: *** [../../Makefile.rules:100: my_res.o] Error
1make[1]: *** [Makefile:511: modules] Error 1make[1]: Leaving directory
'/usr/local/src/kamailio-devel/kamailio/src'make: *** [Makefile:30: all]
Error 2linux-vd3w:/usr/local/src/kamailio-devel/kamailio #*
Actually my knowledge on linux (opensuse leap) that i am using is very
limited. Hopefully i will be able to use the server once installed and it
will be used for ip recording tests purpose.
Thank you for reading this email.
Good bye.
I want proxy MSRP data on kamailio for SIP call (not websocket).
To do this need update connection information for "message" media in SDP.
How i can properly do it only for one media (other medias will be proxed
using rtpproxy or rtpengine ).
Looks as fix_nated_sdp fix for all medias in SDP.
Sergey
Hi,
First off please forgive my lack of knowledge on how TCP works.
We are using Kamailio 5.0.7 and we have an issue where clients are
connecting via TCP and their NAT devices are closing up. Because of this we
want to send TCP keep alives every so often.
1) When restarting Kamailio it's sends a RST. Is this Kamailio sending it
out or is it linux sending it when the application is killed? The issue we
have is if say we need to do a restart 2-3 times (yes we should normally do
that) then we end up with 3x registrations in the db (since when using db
mode if the connection goes away it won't remove the reg from the db (as
per -
https://kamailio.org/docs/modules/5.0.x/modules/usrloc.html#usrloc.p.handle…
)
2) I haven testing with the following settings.
a. tcp_crlf_ping=yes
b. tcp_keepcnt = 3
c. tcp_keepidle = 5
With the above I see the TCP keep alives coming in every 75 seconds. If I
tcp_keepintvl = 10 then I see TCP keep alives going out from Kamailio to
the phone. As per
https://www.kamailio.org/wiki/cookbooks/5.0.x/core#tcp_keepintvl it says
"Time interval between keepalive probes, when the previous probe failed".
Looking at my captures Kamilio sends out the TCP keep alive and gets it
back. Is Kamailio not seeing it? With the above it seems to be working the
way I want it but I want to make sure that I am doing it right.
3) For the devs on here how hard would it be to implement handle_lost_tcp
for DB-Only?
TIA and a happy new year to all.
Regards,
Dovid