Hi,
I need to use a database that may sometimes timeout and I'd like to give a
conditional sip response based on whether there was a timeout or not. I'm
using sqlops with mysql modules. Does anyone know if that's possible ?
Thanks,
Leon
Hi List
Cisco-SPA112 does reply to an invite containing Record-Route header
with one Route: Header containing a comma separated list of those hops.
It looks like kamailio fails to parse them and correctly route for
example an ACK to a 200 OK.
Is this a known issue? Is there a solution?
--
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
______________________________________________________
Hello,
We have a Kamailio 5.2.7 server with WebRTC enabled. However, a WebRTC
client at https://tryit.jssip.net/ is unable to connect on either Chrome or
Firefox. In the Kamailio log we see the lines below. In tls.cfg we have
"verify_certificate = no" and "require_certificate = no" for both
[server:default] and [client:default]. Would anyone be able to help us with
this?
Mar 22 01:25:28 br /sbin/kamailio[25259]: DEBUG: tls [tls_domain.c:1159]:
tls_lookup_private_key(): Private key lookup for SSL_CTX-0x14baf1cbb090:
(nil)
Mar 22 01:25:28 br /sbin/kamailio[25259]: DEBUG: tls [tls_domain.c:749]:
sr_ssl_ctx_info_callback(): SSL handshake done
Mar 22 01:25:28 br /sbin/kamailio[25259]: DEBUG: tls [tls_domain.c:737]:
sr_ssl_ctx_info_callback(): SSL handshake started
Mar 22 01:25:28 br /sbin/kamailio[25259]: DEBUG: tls [tls_domain.c:741]:
sr_ssl_ctx_info_callback(): SSL renegotiation initiated by client
Mar 22 01:25:28 br /sbin/kamailio[25259]: DEBUG: tls [tls_domain.c:749]:
sr_ssl_ctx_info_callback(): SSL handshake done
Mar 22 01:25:28 br /sbin/kamailio[25259]: DEBUG: tls [tls_domain.c:737]:
sr_ssl_ctx_info_callback(): SSL handshake started
Mar 22 01:25:28 br /sbin/kamailio[25259]: DEBUG: tls [tls_domain.c:741]:
sr_ssl_ctx_info_callback(): SSL renegotiation initiated by client
Mar 22 01:25:28 br /sbin/kamailio[25259]: DEBUG: tls [tls_domain.c:749]:
sr_ssl_ctx_info_callback(): SSL handshake done
Mar 22 01:25:28 br /sbin/kamailio[25259]: DEBUG: tls [tls_server.c:424]:
tls_accept(): TLS accept successful
Mar 22 01:25:28 br /sbin/kamailio[25259]: DEBUG: tls [tls_server.c:431]:
tls_accept(): tls_accept: new connection from xx.xx.xx.xx:39816 using
TLSv1.3 TLS_AES_256_GCM_SHA384 256
Mar 22 01:25:28 br /sbin/kamailio[25259]: DEBUG: tls [tls_server.c:434]:
tls_accept(): tls_accept: local socket: yy.yy.yy.yy:8443
Mar 22 01:25:28 br /sbin/kamailio[25259]: DEBUG: tls [tls_server.c:445]:
tls_accept(): tls_accept: client did not present a certificate
Mar 22 01:25:28 br /sbin/kamailio[25259]: DEBUG: tls [tls_server.c:1189]:
tls_read_f(): Reading on a renegotiation of connection (n:532) (0)
Mar 22 01:25:28 br /sbin/kamailio[25259]: DEBUG: <core>
[core/tcp_read.c:1527]: tcp_read_req(): EOF
Mar 22 01:25:28 br /sbin/kamailio[25259]: DEBUG: <core>
[core/io_wait.h:602]: io_watch_del(): DBG: io_watch_del (0x562ffde66d00,
17, -1, 0x10) fd_no=4 called
Mar 22 01:25:28 br /sbin/kamailio[25259]: DEBUG: <core>
[core/tcp_read.c:1680]: release_tcpconn(): releasing con 0x14baf4cc1ec8,
state -1, fd=17, id=665 ([xx.xx.xx.xx]:39816 -> [xx.xx.xx.xx]:8443)
Mar 22 01:25:28 br /sbin/kamailio[25259]: DEBUG: <core>
[core/tcp_read.c:1684]: release_tcpconn(): extra_data 0x14baf289ea30
Mar 22 01:25:28 br /sbin/kamailio[25291]: DEBUG: <core>
[core/tcp_main.c:3320]: handle_tcp_child(): reader response= 14baf4cc1ec8,
-1 from 1
Mar 22 01:25:28 br /sbin/kamailio[25291]: DEBUG: tls [tls_server.c:683]:
tls_h_close(): Closing SSL connection 0x14baf289ea30
Thanks very much,
--
David Cunningham, Voisonics Limited
http://voisonics.com/
USA: +1 213 221 1092
New Zealand: +64 (0)28 2558 3782
Hi All
I would like to avoid having run away calls as good as possible.
For this, I would like to require timers and set the maximum expires
timer to say 1800
I had a look at the sst module, but I see no way to require timers or
to set a max timers value.
Do my intentions make sense? How did others accomplish this task?
Thanks for any hints!
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, we have faced an issue which appears when TOPOH module is enabled, call is made from WebRTC client, then transferred by callee.
We have WebRTC client behind load balancer. We make call to softphone from WebRTC, call from softphone is transferred to external number using Asterisk.
When call is hanged up on external number side, it doesn't hangs up on WebRTC client side.
If TOPOH is not enabled, this issue doesn't occur.
We have the following TOPOH-related sections of kamailio.cfg:
<...>
#!ifdef WITH_TOPOH
loadmodule "topoh.so"
#!endif
<...>
<...>
#!ifdef WITH_TOPOH
modparam("topoh", "mask_key", "xxxxxxxxxxxxxxxx")
modparam("topoh", "mask_ip", "10.0.0.1")
modparam("topoh", "mask_callid", 0)
modparam("topoh", "sanity_checks", 1)
modparam("topoh", "uparam_prefix", "")
modparam("topoh", "vparam_prefix", "")
modparam("topoh", "callid_prefix", "1337")
#!endif
<...>
<...>
#!ifdef WITH_DIALOG
modparam("dialog", "db_url", DBURL)
modparam("dialog", "db_mode", 1)
modparam("dialog", "db_fetch_rows", 800)
modparam("dialog", "track_cseq_updates", 1)
modparam("dialog", "ka_interval", 30)
modparam("dialog", "ka_timer", 30)
modparam("dialog", "send_bye", 0)
modparam("dialog", "dlg_filter_mode", 1)
#!ifdef WITH_TOPOH
modparam("dialog", "lreq_callee_headers", "TH: dlh\r\n")
#!endif
#!endif
<...>
<...>
#!ifdef WITH_DISPATCHER
event_route[dispatcher:dst-up] {
sql_query("ds_dburl", "select description from dispatcher where destination='$ru'", "ds_dbresult");
xlog("L_WARN", "Destination up: $ru, found name: $dbr(ds_dbresult=>[0,0])\n");
prom_gauge_set("trunk_reachability", "1", "$ru", "$dbr(ds_dbresult=>[0,0])");
}
event_route[dispatcher:dst-down] {
sql_query("ds_dburl", "select description from dispatcher where destination='$ru'", "ds_dbresult");
xlog("L_WARN", "Destination down: $ru, found name: $dbr(ds_dbresult=>[0,0])\n");
prom_gauge_set("trunk_reachability", "0", "$ru", "$dbr(ds_dbresult=>[0,0])");
}
#!endif
#!ifdef WITH_TOPOH
event_route[topoh:msg-sending] {
if(is_reply() and $rs=="302") {
drop;
}
}
#!endif
(can provide the full config, if needed)
We are receiving the following errors:
On transfer:
https://pastebin.com/H3FQ4Kpj
On hangup from external number side:
https://pastebin.com/wgfRzGbd
On hangup from WebRTC client side:
https://pastebin.com/sE0yhBae
There are also differences in SIP traffic when TOPOH is disabled and when it is enabled. With TOPOH enabled, apparently, ACK from Asterisk is not reaching kamailio:
asterisk INVITE -> kamailio -> WebRTC
WebRTC 200 -> kamailio -> asterisk
asterisk ACK -> kamailio -> -> ->
(SIP flows attached - topoh_on.csv, topoh_off.csv)
kamailio -v
version: kamailio 5.6.1 (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_BLOCKLIST, 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 on 09:11:15 Nov 15 2022 with gcc 9.3.0
We have dockerized kamailio running on Ubuntu 16.04.3 LTS
Docker version 18.03.1-ce, build 9ee9f40
Please advise where to start looking.
Hello,
It's off-topic, but it was several times discussed here on the list.
It seems that the upcoming 18.17 and 20.2 asterisk version seems to properly support path headers. From the announcement:
* [ASTERISK-30100<https://issues.asterisk.org/jira/browse/ASTERISK-30100>] -
res_pjsip: Path is ignored on INVITE to endpoint
(Reported by Yury Kirsanov)
This bug has been many years open. have not tried it yet, but it looks promising.
Cheers,
Henning
--
Henning Westerholt - https://skalatan.de/blog/
Kamailio services - https://gilawa.com<https://gilawa.com/>
Hello everyone,
I am following up on my previous email regarding printing Global Parameter values and logging JSONRPC requests over UDP in Kamailio. I understand that everyone might be busy, but I would greatly appreciate any guidance or suggestions you can provide on these topics.
To recap my questions:
1)Is there a way to print the Global Parameter values, such as debug, children, flags, etc., within the Kamailio configuration file, to ensure they have been changed?
2°How can I log in Kamailio that it has received a JSONRPC request over UDP? I have been successful in logging this information when using HTTP and JSONRPC but am unsure how to do it with UDP.
Any input or advice would be truly valuable. Thank you in advance for your time and assistance.
Best.
Hi,
what can be the reason why usrloc module sometimes can read from database, sometimes not?
Normal operation looks ok, the location table is kept up to date. The problem seems to be related with RPC (kamcmd or jsonrpc). For example,
kamcmd ul.dump # ok
kamcmd ul.lookup location 6351*1 # ok
kamcmd ul.db_users location # error: 500 - Failed to use table
Error 500 correlates with syslog entry: ERROR: <core> [db.c:481]: db_use_table(): invalid connection parameter
Who connects where? In my understanding usrloc via core to mysql. I suppose RPC calls do not fail if usrloc can operate on kamailio memory, does that make sense? If so, what usrloc parameter can I tweak to fix error 500 ? I don't find any usrloc parameter regarding db connection.
(Opening another mysql session as user kamailio is no problem, so we re not running out of connections.)
Thanks in advance!
Volker
[cid:fb71bb9b-ad4f-4110-824b-d6805406bf6a]
Volker Denneberg
Development
Telefon: +49 241 980 986 41
Web: www.m3connect.de<https://mx.scientific.de/owa/redir.aspx?C=RW1TSCipXQC6K0Yw1m69CGqyTwJHXjiiN…>
E-Mail: v.denneberg(a)m3connect.de<https://mx.scientific.de/owa/redir.aspx?C=BjBXIUrD2WCryLRZ2IrAAwEu0b0W0ciUY…>
m3connect GmbH | Pascalstr.18 | 52076 Aachen | DE/Germany | Amtsgericht Aachen | HRB 8773 | USt.- ID: DE219 664 658 | Geschäftsführer/CEO: Emilio Dragas
Hi
We have two registrars.
Today I observed a CPE doing this:
CPE REGISTER (no auth) => Registrar 1 => 407 Challenge NONCE A
CPE REGISTER (auth to NONCE A => Registrar 2 => 407 Challenge NONCE B
CPE REGISTER (auth to NONCE B => Registrar 1 => 407 Challenge NONCE A
and so on.
Time on both registrars is in sync (I tought NONCE was based on time)
Is there a way to sync the NONCE so that both would accept
authentication based on the same NONCE?
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
______________________________________________________