I have kamailio behind a TLS termination proxy so the sockets are correctly
deduced to be TCP. However the clients only talk TLS to the proxy and are
confused when the top Via header added by Kamailio is TCP. Is there a way
for Kamailio to forcibly pretend its protocol is TLS? Like
advertised_address but "advertised_protocol" instead.
(With pjsip testing: it has a flag use_tls which ignores TCP from Kamailio
and continues to use the persistent TLS transport to proxy. Linphone fails
because it tries to honor TCP in Via and is unable to establish TCP
transport).
BTW I am using t_relay_to_tcp so Kamailio will return traffic to the proxy
as TCP even though the contact addresses specify transport=TLS.
Hi everybody,
I'm just testing Kamailio 5.4.1 with dialog replication over DMQ. This
seems to work very good. Dialogs are replicated without problems.
When I'm restarting one node I would have expected, that all dialogs are
synced again, just like in dmq_usrloc.
But this does not happen. After a restart the nodes dialog-list is empty.
Did I miss somethin? Is there a special parameter that I have to set?
BR, Björn
--
Björn Klasen, Specialist
TNG Stadtnetz GmbH, Network Management (VoIP)
Projensdorfer Straße 324
24106 Kiel
Germany
T +49 431/ 530530
F +49 431/ 7097-555
mailto: bklasen(a)tng.de
http://www.tng.de
Register: Amtsgericht Kiel HRB 6002 KI
Executive board (Geschäftsführung): Dr.-Ing. Volkmar Hausberg,
Sven Schade, Carsten Tolkmit, Dr. Sven Willert
Tax-Id (Steuernr.): 2029047020, VAT-Id (USt-Id): DE225201428
Hi All,
I am facing an issue in understanding how the min_se should be working in
kamailio. As per the SST documentation, it seems like if the min_se is
configured as 500, then any value of Session-Expires OR MIN-SE if lower
than 500, can be responded to by a 422.
However, I strangely see the reverse happening. To investigate further, I
looked in to the ki_sst_check_min() code in the master, and these seems
like a potential issue.
Ref Code: Inside ki_sst_check_min(), there is an if condition like below:
if (sst_min_se < MIN(minse, se.interval)) {
However, shouldn't it be the other way around? ie
if (sst_min_se > MIN(minse, se.interval)) {
because we need to send 422 if the received value(in INVITE etc) is
smaller than the sst configure min_se value?
I also found a different documentation, at
https://git.sgu.ru/oldssu/ex-opensips/blob/cb9df8d59dbb254a9d862569fd5d11f6…
where
the check is as below?
if (sst_min_se > MIN(minse, se.interval)) {
Can someone confirm if this is broken, or my understanding is incorrect?
Regards,
Harneet
--
"Once you eliminate the impossible, whatever remains, no matter how
improbable, must be the truth" - Sir Arthur Conan Doyle
On Mon, May 07, 2018 at 04:44:14PM +0200, Daniel Tryba wrote:
> Sure. Attached. Problem appears to be that the topos query can't find
> callid-totag (from the response).
>
> I'll try the same scenario with the mysql backend to see if it behaves
> different.
Config works fine with mysql as topos backend. So the bug is restricted
to topos-redis.
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
Hello!
Due to I still experience irregular Kamailio 5.4 crashes (like 1/month)
related to SSL (using websockets and SIPS) I'm wondering, could openSSL
upgrade change the situation?
As of now in CentOS 7 I have 1.0.2k version.
Does anyone have experience to fix crash-related to TLS problems with
openSSL upgrade?
Or maye some tuneup of TCP parameters can help here?My current setup is
quite simple:
children=4
enable_tls=yes
tcp_accept_no_cl=yes
tcp_connection_lifetime=600
tcp_max_connections=998976 # 1000000 - 1024, so we're leaving 1k for system
reserve
tls_max_connections=998976
Number of clients ~ 200 constantly connected to websocket.
--
Best regards,
Igor
I am not sure what I have to look for and I didn't change the initial
config files (except for the 666 mode for kamailio_rpc.sock).
As far as Kamailio is concerned the socket files files do exist:
root@deb11srv1-kamailio:/var/www/siremis-5.3.x# ls -l /run/kamailio/
insgesamt 4
srw------- 1 kamailio kamailio 0 7. Jun 11:37 kamailio_ctl
-rw-r--r-- 1 kamailio kamailio 5 7. Jun 11:37 kamailio.pid
prw-rw---- 1 kamailio kamailio 0 7. Jun 11:37 kamailio_rpc.fifo
srw-rw-rw- 1 kamailio kamailio 0 7. Jun 11:37 kamailio_rpc.sock
When I look at siremis/log/ERR.log I repeatedly get:
'06/07/2022','09:43:29','ERR','ErrorHandler','socket_bind(): unable to
bind address [2]: No such file or directory',''
This disappears when I put the local file socket in /tmp:
<UnixSockLocal name="unixsocklocal" address="/tmp/siremis_rpc.sock"
timeout="3.0"/>
which was probably done this way in previous versions of Siremis (before
systemd private tmp config). In this case I get no error messages, but
still no answers (as expected). The next step seems to get UnixSockLocal
right.
Hello,
I have kamailio in local network behind NAT. Kamailio have one interface
eth1 with ip 10.130.0.23
UserAgent - (internet) - (178.0.0.169)router_with_NAT - (LAN) -
kamailio+rtpproxy - pbx
I made two listeners:
listen=udp:10.130.0.23:5070 #to pbx in lan (I don`t want to put via header
with 178.0.0.169)
listen=udp:10.130.0.23:5060 advertise 178.0.0.169:5060 #to internet
(UserAgent need to get via header with 178.0.0.169 )
mhomed = 1 # I think It not useful for my case
UserAgent send Register and Invite to 178.0.0.169:5060, Kamailio get it on
udp:10.130.0.23:5060
Kamailio Relay it to udp:10.130.0.23:5070
My pbx get requests from udp:10.130.0.23:5070 with via header 10.130.0.23
Responses to UserAgent go from udp:10.130.0.23:5060 with via 178.0.0.169
In RELAY block:
if ($Ru == «udp:10.130.0.23:5070») {
#set_send_socket(«udp:10.130.0.23:5060»);
$fs = «udp:10.130.0.23:5060»;
#force_send_socket(«udp:10.130.0.23:5060»);
} else {
#set_send_socket(«udp:10.130.0.23:5070»);
$fs = «udp:10.130.0.23:5070»;
}
#$fs = «udp:10.130.0.23:5070»;
if (!t_relay()) {
sl_reply_error();
}
route[REGISTRAR] {
if ($rd == "mydomain.ru" || $rd == "mydomain2.ru") {
set_send_socket("udp:10.130.0.23:5070");
}
}
It works for requests from UserAgent to PBX. But INVITE from my pbx to
UserAgent goes only through udp:10.130.0.23:5070 , Kamailio realy it to
internet from udp:10.130.0.23:5070
I get error in syslog: (pv [pv_branch.c:62]: pv_get_branchx_helper():
error accessing branch [0])
I tried set_send_socket(«udp:10.130.0.23:5070»); and $fs =
«udp:10.130.0.23:5070»;
Why I can`t relay outgoing requests to internet through another socket?
--
Best regards,
Alex
HI
I’m trying to get CDR function. I would like to have one CDR for whole call at the syslog.
I use:
……
loadmodule "db_text.so"
loadmodule "dialog.so"
loadmodule "acc.so"
……..
# -----Dialog module -----
modparam("dialog", "db_mode", 0)
# -----ACCounting module -----
modparam("acc", "early_media", 0)
modparam("acc", "report_cancels", 1)
modparam("acc", "log_facility", "LOG_LOCAL1")
modparam("acc", "detect_direction", 0)
modparam("acc", "log_level", ACC_LOG_LEVEL)
modparam("acc", "log_flag", FLAG_ACC_LOG)
modparam("acc", "log_missed_flag", FLAG_ACC_LOG_MISSED)
modparam("acc", "failed_transaction_flag", FLAG_ACC_LOG_FAILED)
modparam("acc", "log_extra", "ip_src=$si;ip_dst=$avp(ip_dst);sip_from=$fU;sip_to=$tU;ruri_user=$rU;spx_rs=$avp(spx_http_rs)") ## TODO
modparam("acc", "cdr_enable", 1)
modparam("acc", "cdr_enable_log", 1)
modparam("acc", "cdr_facility", "LOG_LOCAL1")
request_route {
if (is_method("INVITE")) {
setflag(FLAG_ACC_LOG);
setflag(FLAG_ACC_LOG_MISSED);
setflag(FLAG_ACC_LOG_FAILED);
}
At the kamailio.log I see only transaction for INVITE, but I wait for some CDR for all dialog. Whats wrong in my config?
--
--
Олег Подгуйко