Hello,
I am trying to get json RPCs running. simpleequests seem to work, but I can't figure out how to pass parameters. For example
curl --header 'Content-Type: application/json' --data-binary '{"id": 1,"jsonrpc": "2.0", "method": "ul.db_users" }' http://localhost:8081/RPC/
{
"jsonrpc": "2.0",
"error": {
"code": 500,
"message": "Not enough parameters (table to lookup)"
},
"id": 1
}
According to http://www.kamailio.org/docs/docbooks/3.2.x/rpc_api/rpc_api.html#rpc.gettin… parameters dont have names and according to http://www.kamailio.org/docs/modules/devel/modules/usrloc.html#usrloc.r.db_… 1 parameter is required.
I guessed adding "params":"location" => no error anymore, but still no result:
curl --header 'Content-Type: application/json' --data-binary '{"id": 1,"jsonrpc": "2.0", "method": "ul.db_users", "params":"location"}' http://localhost:8081/RPC/
{
"jsonrpc": "2.0",
"result": {
},
"id": 1
}
Same result (no error) if I pass "params":"nonsense", so "params" seems to be kind of ignored ...
What's the correct json syntax here or in general?
Best regards,
Volker
Hello all,
While using KEMI with app_jsdt I noticed the following possible
regression between 5.5 and 5.6.
The following config is working ok on 5.5 but throws an error on 5.6:
ERROR: app_jsdt [app_jsdt_api.c:555]: app_jsdt_run_ex(): js loading
state not initialized (call: ksr_htable_event)
kamailio.cfg:
debug=2
children=1
log_facility=LOG_LOCAL0
log_name="k"
mpath="/home/osas/src/kamailio/src/modules"
loadmodule "htable/htable.so"
modparam("htable", "event_callback", "ksr_htable_event")
modparam("htable", "event_callback_mode", 1)
loadmodule "kemix/kemix.so"
loadmodule "app_jsdt/app_jsdt.so"
modparam("app_jsdt", "load", "/usr/local/etc/kamailio/kamailio.js")
cfgengine "jsdt"
kamailio.js:
function ksr_htable_event(evname) {
KSR.info("ksr_htable_event(" + evname + ")\n");
}
function ksr_request_route() {
KSR.x.exit();
}
If we load the htable module after app_jsdt, then the error is gone.
Is there something new during init in 5.6 that requires specific
module loading order?
-ovidiu
Hi,
I’ve got a situation where I catch a 302 redirect in a failure_route (branch #1), and use the Contact to set a custom header (append_hf()).
This custom header is utilised on the subsequent branch (branch #2), but if that branch fails (e.g. due to 4xx-5xx response), the custom header is not preserved on subsequent branches (branch #3+).
What’s the best way to preserve it across subsequent branches? The documentation for msg_apply_changes() says it cannot be used once the transaction is already created, and in any case, I have other branch-level changes in branch #2 that I _would_ like to revert on subsequent branch attempts (i.e. branch #3).
I can certainly devise a transaction-persistent vehicle for this value which can be checked on every branch, but I wondered if there’s an easier and more best-practical way.
Thanks!
— Alex
--
Alex Balashov
Principal Consultant
Evariste Systems LLC
Web: https://evaristesys.com
Tel: +1-706-510-6800
Hello,
I am using kamailio to register the webrtc client and routes the calls to
asterisk using pjsip. I am having no voice on both ends. Logs are attached
witht this email.
Mar 24 13:06:58 debian rtpengine[7345]: INFO: [8asmubtpv46ac7nrfk57]:
[control] Received command 'offer' from 10.13.1.127:59841
Mar 24 13:06:58 debian rtpengine[7345]: NOTICE: [8asmubtpv46ac7nrfk57]:
[core] Creating new call
Mar 24 13:06:58 debian rtpengine[7345]: INFO: [8asmubtpv46ac7nrfk57]:
[control] Replying to 'offer' from 10.13.1.127:59841 (elapsed time 0.016067
sec)
Mar 24 13:06:58 debian rtpengine[7345]: INFO: [8asmubtpv46ac7nrfk57]:
[control] Received command 'answer' from 10.13.1.127:52045
Mar 24 13:06:58 debian rtpengine[7345]: INFO: [8asmubtpv46ac7nrfk57]:
[control] Replying to 'answer' from 10.13.1.127:52045 (elapsed time
0.000997 sec)
Mar 24 13:06:58 debian rtpengine[7345]: INFO:
[8asmubtpv46ac7nrfk57/223df8fa-8106-48af-844f-33f97530a0d8/1 port 10940]:
[ice] ICE negotiated: peer for component 1 is 10.13.1.170:15634
Mar 24 13:06:58 debian rtpengine[7345]: INFO:
[8asmubtpv46ac7nrfk57/223df8fa-8106-48af-844f-33f97530a0d8/1 port 10940]:
[ice] ICE negotiated: local interface 10.13.1.127
Mar 24 13:06:58 debian rtpengine[7345]: ERR:
[8asmubtpv46ac7nrfk57/223df8fa-8106-48af-844f-33f97530a0d8/1 port 10940]:
[core] SRTP output wanted, but no crypto suite was negotiated
Mar 24 13:06:58 debian rtpengine[7345]: INFO: [8asmubtpv46ac7nrfk57]:
[control] Received command 'answer' from 10.13.1.127:52045
Mar 24 13:06:58 debian rtpengine[7345]: INFO: [8asmubtpv46ac7nrfk57]:
[control] Replying to 'answer' from 10.13.1.127:52045 (elapsed time
0.000786 sec)
Mar 24 13:06:58 debian rtpengine[7345]: INFO:
[8asmubtpv46ac7nrfk57/223df8fa-8106-48af-844f-33f97530a0d8/1 port 10940]:
[crypto] DTLS: Peer certificate accepted
Mar 24 13:06:58 debian rtpengine[7345]: INFO:
[8asmubtpv46ac7nrfk57/223df8fa-8106-48af-844f-33f97530a0d8/1 port 10940]:
[crypto] DTLS-SRTP successfully negotiated using AES_CM_128_HMAC_SHA1_80
Mar 24 13:06:58 debian rtpengine[7345]: INFO:
[8asmubtpv46ac7nrfk57/223df8fa-8106-48af-844f-33f97530a0d8/1 port 10940]:
[crypto] DTLS-SRTP successfully negotiated using AES_CM_128_HMAC_SHA1_80
Mar 24 13:06:58 debian rtpengine[7345]: INFO:
[8asmubtpv46ac7nrfk57/223df8fa-8106-48af-844f-33f97530a0d8/1 port 10940]:
[ice] ICE negotiated: peer for component 1 is 10.13.1.170:15634
Mar 24 13:06:58 debian rtpengine[7345]: INFO:
[8asmubtpv46ac7nrfk57/223df8fa-8106-48af-844f-33f97530a0d8/1 port 10940]:
[ice] ICE negotiated: local interface 10.13.1.127
Mar 24 13:07:02 debian rtpengine[7345]: INFO:
[8asmubtpv46ac7nrfk57/223df8fa-8106-48af-844f-33f97530a0d8/1 port 10940]:
[core] Confirmed peer address as 10.13.1.170:15634
Mar 24 13:07:02 debian rtpengine[7345]: INFO:
[8asmubtpv46ac7nrfk57/223df8fa-8106-48af-844f-33f97530a0d8/1 port 10940]:
[core] Kernelizing media stream: 10.13.1.170:15634 -> 10.13.1.127:10940 |
10.13.1.127:10960 -> 192.168.30.200:53489
Mar 24 13:07:02 debian rtpengine[7345]: WARNING:
[8asmubtpv46ac7nrfk57/223df8fa-8106-48af-844f-33f97530a0d8/1 port 10940]:
[core] No support for kernel packet forwarding available (encryption cipher
or HMAC not supported by kernel module)
Mar 24 13:07:02 debian rtpengine[7345]: NOTICE:
[8asmubtpv46ac7nrfk57/223df8fa-8106-48af-844f-33f97530a0d8/1 port 10940]:
[core] Setting 'non-forwarding' flag for kernel stream due to lack of sinks
Mar 24 13:07:03 debian rtpengine[7345]: ERR:
[8asmubtpv46ac7nrfk57/223df8fa-8106-48af-844f-33f97530a0d8/1 port 10940]:
[rtcp] SRTCP output wanted, but no crypto suite was negotiated
Mar 24 13:07:03 debian rtpengine[7345]: INFO:
[8asmubtpv46ac7nrfk57/223df8fa-8106-48af-844f-33f97530a0d8/1 port 10940]:
[core] Removing media stream from kernel: local 10.13.1.127:10940
Mar 24 13:07:03 debian rtpengine[7345]: INFO:
[8asmubtpv46ac7nrfk57/223df8fa-8106-48af-844f-33f97530a0d8/1 port 10940]:
[core] Kernelizing media stream: 10.13.1.170:15634 -> 10.13.1.127:10940 |
10.13.1.127:10960 -> 192.168.30.200:53489
Mar 24 13:07:03 debian rtpengine[7345]: WARNING:
[8asmubtpv46ac7nrfk57/223df8fa-8106-48af-844f-33f97530a0d8/1 port 10940]:
[core] No support for kernel packet forwarding available (encryption cipher
or HMAC not supported by kernel module)
Mar 24 13:07:04 debian rtpengine[7345]: INFO: [8asmubtpv46ac7nrfk57]:
[control] Received command 'delete' from 10.13.1.127:52045
Mar 24 13:07:04 debian rtpengine[7345]: INFO: [8asmubtpv46ac7nrfk57]:
[core] Scheduling deletion of call branch '9693uq66f0' (via-branch '') in
30 seconds
Mar 24 13:07:04 debian rtpengine[7345]: INFO: [8asmubtpv46ac7nrfk57]:
[core] Scheduling deletion of call branch
'223df8fa-8106-48af-844f-33f97530a0d8' (via-branch '') in 30 seconds
Mar 24 13:07:04 debian rtpengine[7345]: INFO: [8asmubtpv46ac7nrfk57]:
[core] Scheduling deletion of entire call in 30 seconds
Mar 24 13:07:04 debian rtpengine[7345]: INFO: [8asmubtpv46ac7nrfk57]:
[control] Replying to 'delete' from 10.13.1.127:52045 (elapsed time
0.001463 sec)
Mar 24 13:07:17 debian /usr/local/sbin/kamailio[13362]: INFO: <script>:
10.13.1.170 authentication bypassed for sip:developer@10.13.1.127
Mar 24 13:07:34 debian rtpengine[7345]: INFO: [8asmubtpv46ac7nrfk57]:
[core] Final packet stats:
Mar 24 13:07:34 debian rtpengine[7345]: INFO: [8asmubtpv46ac7nrfk57]:
[core] --- Tag '9693uq66f0', created 0:36 ago for branch ''
Mar 24 13:07:34 debian rtpengine[7345]: INFO: [8asmubtpv46ac7nrfk57]:
[core] --- subscribed to '223df8fa-8106-48af-844f-33f97530a0d8'
Mar 24 13:07:34 debian rtpengine[7345]: INFO: [8asmubtpv46ac7nrfk57]:
[core] --- subscription for '223df8fa-8106-48af-844f-33f97530a0d8'
Mar 24 13:07:34 debian rtpengine[7345]: INFO: [8asmubtpv46ac7nrfk57]:
[core] ------ Media #1 (audio over UDP/TLS/RTP/SAVPF) using unknown codec
Mar 24 13:07:34 debian rtpengine[7345]: INFO: [8asmubtpv46ac7nrfk57]:
[core] --------- Port 10.13.1.127:10960 <> 192.168.30.200:53489, SSRC
0, in 0 p, 0 b, 292 e, 36 ts, out 0 p, 0 b, 0 e
Mar 24 13:07:34 debian rtpengine[7345]: INFO: [8asmubtpv46ac7nrfk57]:
[core] --- Tag '223df8fa-8106-48af-844f-33f97530a0d8', created 0:36 ago for
branch ''
Mar 24 13:07:34 debian rtpengine[7345]: INFO: [8asmubtpv46ac7nrfk57]:
[core] --- subscribed to '9693uq66f0'
Mar 24 13:07:34 debian rtpengine[7345]: INFO: [8asmubtpv46ac7nrfk57]:
[core] --- subscription for '9693uq66f0'
Mar 24 13:07:34 debian rtpengine[7345]: INFO: [8asmubtpv46ac7nrfk57]:
[core] ------ Media #1 (audio over UDP/TLS/RTP/SAVPF) using opus/48000/2
Mar 24 13:07:34 debian rtpengine[7345]: INFO: [8asmubtpv46ac7nrfk57]:
[core] --------- Port 10.13.1.127:10940 <> 10.13.1.170:15634, SSRC
1ada0b2b, in 292 p, 40137 b, 1 e, 30 ts, out 2 p, 1449 b, 0 e
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
______________________________________________________
Dear everyone,
I am wondering if there is a way to print the Global Parameter values such as debug, children, flags, etc. just to make sure that they have been changed. I am aware that I can use the `kamcmd cfg.get core debug` command to check the value of the debug parameter for example, but I am wondering if there is a way to do this in the configuration file of Kamailio.
Additionally, I would like to know if there is a way to print in the log of Kamailio that it received a JSONRPC request over UDP. I have been able to print some logs when using HTTP and JSONRPC to know that the server has received a JSONRPC request, but I am unsure how to do this when using UDP.
I would greatly appreciate it if someone could provide some guidance.
Thank you in advance for your time and assistance.
Best regards.
Hello,
Thank you very much! I've used your suggestion to accomplish some amazing things. However, I'm having an issue when calling the procedures over jsonrpc with http. 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 iscausing Kamailio to treat it as a "200" http responses code as "200" SIP codes. Could you advise on how to avoid this issue?
Is there any further configuration that needs to be done?
Best regards.
Hello everyone,
I'm trying to store the call statistics in my Kamailio server. I'm using SQLite just to understand what type of information i can store.
I'm using the dialog module with the classic parameters:
enable_stats => 1
dlg_flag => 4
hash_size => 4096
db_url => sqlite:///usr/local/etc/kamailio/kamailio.sqlite
db_mode => 1
I'm able to open the DB but everything is empty, am i using the wrong modules? or i didn't configure the server well?
The goal is to store CALL CDR in the DB, so that i can see who called & how many times etc
Hi, is this expected behavior?
I have two target hosts in a dispatcher set, 10.20.20.118 (prio 5) and 10.20.20.252 (prio 10).
When I have 10.20.20.252 turned off, dispatcher still tries to send packets to that host, even when the status flags are IP.
root@vs-rs01:/etc/kamailio# kamcmd dispatcher.list
{
NRSETS: 1
RECORDS: {
SET: {
ID: 1
TARGETS: {
DEST: {
URI: sip:10.20.20.252:5060
FLAGS: IP
PRIORITY: 10
LATENCY: {
AVG: 0.000000
STD: 0.000000
EST: 0.000000
MAX: 0
TIMEOUT: 62
}
}
DEST: {
URI: sip:10.20.20.118:5060
FLAGS: AP
PRIORITY: 5
LATENCY: {
AVG: 3.876000
STD: 2.965000
EST: 5.058000
MAX: 14
TIMEOUT: 0
}
}
}
}
}
}
Hi
I am using advertise in the listen interface for our NATed setup within AWS.
Using following listen statement in kamailio: -
version: kamailio 5.5.1
listen=udp:10.0.1.4:5060 advertise 3X.1XX.1XX.2XX:5060
dispatcher.list
1 sip:10.0.4.23:5060 8 10 weight=11 #FreeSwitch 1
We are seeing that kamailio (10.0.1.4) is sending
two SIP INVITEs via dispatcher to FreeSwitch at 10.0.4.23 which seems strange or is it expected behaviour? (As seen below)
SIP INVITE Request: -
WAN Address >> Kamailio AWS NATed address >> FreeSwitch 1
1X.2X.2X.2X >> 3X.1XX.1XX.2XX
10.0.1.4 >> 10.0.4.23
10.0.1.4 >> 10.0.4.23
Many thanks
Regards
Muhammad Zaka
I am looking to configure Kamailio and RTPEngine to play a wav file for any new calls during a scheduled asterisk server maintenance. I have set up the following within route{} to send the call to a early_media route based on a variable that I can set on the server using kamcmd.
route {
...
if ($sht(config=>maint)=="1") {
if (is_method("INVITE") && !has_totag()) {
xlog ("L_INFO","Ongoing maintenance. Call-ID:$ci | Method: $rm");
route(early_media);
}
}
...
}
route[early_media] {
xlog("Maintenance: handling early_media\n");
rtpengine_manage("direction=external direction=external");
$var(body) = $(rb{re.subst,/(IP4.).*/\1##server IP redacted##/g});
set_reply_body($var(body), "application/sdp");
t_send_reply("183", "Session Progress");
sleep(2);
unblock_dtmf("all");
play_media("file=/etc/kamailio/media/maintenance.wav");
sleep(21);
rtpengine_delete();
t_reply("480","Temporarily Unavailable");
}
This mostly works as I hear the recorded message in place of the ringing tone when a call is processed by kamailio and then a busy signal is heard as part of the 480 reply at the end. The sleep's are in place to match the duration of the recorded message as otherwise the 480 is sent immediately following the start of the play_media. Feel free to let me know if there is a better solution to wait the duration of the media file and then proceed with processing instead of using sleep().
Is there a way to instead send a CANCEL or a BYE instead of a 480 after the wav file is played? I tried using t_cancel_callid("$ci", "$cs", "0") as well as a dlg_bye("all") at the end of the early_media route and neither seemed to send any headers out.
hello,
I have issue of no voice on kamailio configured for webrtc. I have
configured rtpengine with public and private interface. My kamilio has two
interface of pubic and private ip. Somebody has suggested me that there is
no ice trickling happens. I am using jssip webrtc client. Kindly suggest me
or help me with this. I have send another email for same issue to this
group and didnt get any reply. Kindly help me
I need a help on issue with rtpengine configuration and I didn't get any
repy for it. Kindly check about it and help me. If i won't get any help
kindly let me know, so I can stop waiting for your reply
On Mon, Mar 13, 2023 at 12:50 PM <sr-users-bounces(a)lists.kamailio.org>
wrote:
> Your mail to 'sr-users(a)lists.kamailio.org' with the subject
>
> webrtc audio issue
>
> Is being held until the list moderator can review it for approval.
>
> The message is being held because:
>
> The message is larger than the 150 KB maximum size
>
> Either the message will get posted to the list, or you will receive
> notification of the moderator's decision.
>
Hi All
I have setup kamailio using dispatcher to proxy registrations from the UAC to asterisk
but when asterisk sends an incoming call it does not seem to keep the path header and therefore kamailio sends 404
is there anyway around this?
Thanks
Sent with [Proton Mail](https://proton.me/) secure email.
Hi,
I have been working on setting up the database with the Kamailio server.
But facing a problem when my db user has configured with SSL required. But
I learnt that there is no support to enable the SSL in mariadb connector.
So I am thinking of using the MySQL connector instead. Is there anyway I
could configure the kamailio to use MySQL instead of Mariadb?
Thanks and regards,
Suchendra
Hi
We are using advertise in the listen interface for our NATed setup within AWS.
Using following listen statement in kamailio: -
version: kamailio 5.5.1
listen=udp:10.0.1.4:5060 advertise 3X.1XX.1XX.2XX:5060
dispatcher.list
1 sip:10.0.4.23:5060 8 10 weight=11 #FreeSwitch 1
We are seeing that kamailio (10.0.1.4) is sending two SIP INVITEs via dispatcher to FreeSwitch at 10.0.4.23 which seems strange or is it expected behaviour? (As seen below)
SIP INVITE Request: -
WAN Address --> Kamailio AWS NATed address --> FreeSwitch 1
1X.2X.2X.2X --> 3X.1XX.1XX.2XX
10.0.1.4 --> 10.0.4.23
10.0.1.4 --> 10.0.4.23
[cid:image001.png@01D955CE.9F0C2EE0]
Many Thanks
Regards
Muhammad Zaka
Muhammad Zaka
UCaaS Solutions Engineer
Tel: 03330147908
Email: Muhammad.Zaka(a)gamma.co.uk
This is an email from Gamma Telecom Ltd, trading as “Gamma”. The contents of this email are confidential to the ordinary user of the email address to which it was addressed. This email is not intended to create any legal relationship. No one else may place any reliance upon it, or copy or forward all or any of it in any form (unless otherwise notified). If you receive this email in error, please accept our apologies, we would be obliged if you would telephone our postmaster on +44 (0) 808 178 9652 or email postmaster(a)gamma.co.uk
Gamma Telecom Limited, a company incorporated in England and Wales, with limited liability, with registered number 04340834, and whose registered office is at The Scalpel, 18th Floor, 52 Lime Street, London EC3M 7AF and whose principal place of business is at Kings House, Kings Road West, Newbury, Berkshire, RG14 5BY.
Hello
I have an issue with Rx in my VolTE call Flow. Please refer to picture
and pcap in annex.
I am using same rtp engine at origination and termination.
I am sending rtpmanage for invite and 183 session progress at both
origination and termination.
My issue is that Rx is not sending for the proper media flow component to PCRF.
At origination it is considering a media flow between A 50034 and
RTPEngine 49186 (instead of considering RTP Engine Port 49152)
At Termination it is considering a media flow between B 50054 and
RTPEngine 49132 (instead of considering RTP EnginePort 49170)
Any idea why?
Hi,
I had the intention to route calls to some SRV destinations via
dispatcher and to other SRV destinations via DNS lookup and
'use_dns_failover=on'.
Currently in a route block using dispatcher two out of three targets
within the SRV destination are unavailable (by intention).
During my tests to the dispatcher destination I have found that:
A) If I have 'use_dns_failover=on' this setting "overrules" the
dispatcher routing and the unavailable targets are also tried before DNS
failover finds the available target.
B) If I have 'use_dns_failover=off' the dispatcher routing logic works
as expected and the call is always routed to the only available target
directly, making use of the result of the dispatcher OPTIONS pinging.
--
So my conclusion is now that you have to choose: Either use dispatcher
routing, or use DNS failover based routing.
- I'm fine with this, but I just would like to know if my conclusion is
correct, or if there is actually a way to use dispacther for some SRV
destinations and DNS failover for other SRV destinations.
Regards,
Lars
Hi
CPE registering with TCP (or TLS).
2nd leg is UDP.
Within one transaction (INVITE to OK including all ACK and PRACK)
transport is kept as desired for both legs.
But when the B side disconnects (sending BYE, new reverse transaction),
this is sent via UDP to the A CPE which initially talked TCP and thus
ignored.
record_route() is called on each leg.
What could I be missing?
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,
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
(adding sr-users)
Hello,
maybe because you're spelling it wrong? Compare e.g., to here:
https://kamailio.org/docs/tutorials/5.6.x/kamailio-kemi-framework/modules/#…
Cheers,
Henning
-----Original Message-----
From: agural5(a)gmail.com <agural5(a)gmail.com>
Sent: Freitag, 10. März 2023 08:32
To: sr-dev(a)lists.kamailio.org
Subject: [sr-dev] KEMI python 'KSR' has no attribute 'sanity'
Hello,
I am trying to use KEMI KSR.sanity in python but got error: AttributeError: module 'KSR' has no attribute 'sanity'
appreciate your help for solve this.
Thanks!
_______________________________________________
Kamailio (SER) - Development Mailing List To unsubscribe send an email to sr-dev-leave(a)lists.kamailio.org
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