Hello
would like to see if I'm not reinventing the wheel:
scenario: some old powerdialler/predictive calls kamailio as call
dispatcher, kamailio then dials carrier.
But this dialler does many calls to the same B number with 404 response
(from carrier) in short (retry is < 600s) time, so no need to bother
PSTN/carrier with retry.
Should I simply use htable, cache 404 hit, use some reasonable value
modparam("htable", "db_expires", 1)
put there like 600 s TTL
or something like that?
Any hints/thoughts? Maybe this scenario is common and being used with
success somewhere (and yes, this powerdialer is not very clever, and I
do know it should not be needed for this)
Thanks,
--
*Krzysztof Drewicz*
Senior Infrastructure Administrator
CLUDO | ul. Grochowska 306/308, 03-840 Warszawa
t+48221223977
kdrewicz(a)cludo.pl | www.cludo.pl <http://www.cludo.pl/>
Hi,
I wanted to get clarity on a rather basic question:
When using Kamailio with TCP, is it possible to end up with fragments of
multiple SIP messages in a single "on-the-wire" packet?
>From what I understand, the purpose of Kamailio's setting TCP_NODELAY is
to prevent such bundling--as much as it is possible to control the
fragmentation/packetisation behaviour of the transport protocol from a
user-space application.
-- Alex
--
Alex Balashov | Principal | Evariste Systems LLC
Tel: +1-706-510-6800 / +1-800-250-5920 (toll-free)
Web: http://www.evaristesys.com/, http://www.csrpswitch.com/
Dear Community,
I am facing an issue with using the usrloc and registrar module to save
registration informations in database.
It works for me but when tested yesterday with around 1500-1600 users i got
a lot of queries on database mostly SELECT. I figured out that
changing db_mode to 0 resolves the issue because it works totally in memory
(almost no select query on DB).
So i think its location module.
I tried db_mode=3 and db_mode=2 but both create a lot of load on database.
The only function i need is to store some information of REGISTER in DB to
know the count of registered users and the source IP / user-agent /
username data.
It needs to be saved in table on successfull REGISTRATION and removed when
registration is expired or somebody UN-REGISTER.
When used location module for that there was lots of queries like this
(20000-50000 per second):
select
`contact`,`expires`,`q`,`callid`,`cseq`,`flags`,`cflags`,`user_agent`,`received`,`path`,`socket`,`methods`,`last_modified`,`ruid`,`instance`,`reg_id`,`server_id`,`connection_id`,`keepalive`
from `location` where `username`='xxxx' order by q
update `location` set `expires`='2020-01-08 18:51:39',`q`=-1.000000
,`cseq`=2042,`flags`=0,`cflags`=64,`user_agent`='n/a',`received`='sip:xxxx:5060',`path`=NULL,`socket`='udp:xxxx:20051',`methods`=NULL,`last_modified`='2020-01-08
18:50:39',`callid`='1205705227@xxxx
',`instance`=NULL,`reg_id`=0,`server_id`=0,`connection_id`=-1,`keepalive`=1,`contact`='sip:1019@xxx:5060'
where `ruid`='uloc-5e1642a3-2b90-0161'
Looking up for ideas how to resolve this issue.
I was thinking of implementing INSERT UPDATE and DELETE based on SQLops.
But how to recognize that REGISTER was expiered?
I would like location module to work mostly like in-memory.
For each new registration INSERT entry to DB, each REGISTER re-new an
UPDATE or DELETE should be triggered.
So i would expect for 1000 users around 2000 operations per minute.
Best regards,
Tom
Hello,
Kamailio SIP Server v5.3.2 stable release is out.
This is a maintenance release of the latest stable branch, 5.3, that
includes fixes since the release of v5.3.1. There is no change to
database schema or configuration language structure that you have to do
on previous installations of v5.3.x. Deployments running previous v5.3.x
versions are strongly recommended to be upgraded to v5.3.2.
For more details about version 5.3.2 (including links and guidelines to
download the tarball or from GIT repository), visit:
* https://www.kamailio.org/w/2020/01/kamailio-v5-3-2-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 - April 27-29, 2020, in Berlin -- www.kamailioworld.com
Hello,
not so many fixes since the release of 5.3.1, but it looks enough to
release a new minor version from branch 5.3. I am planning to do in on
Thursday, Jan 9, 2020, if there are no new reports of relevant issues
that make us to reconsider and postpone.
Soon after we should probably do a release from branch 5.2 as well as
the last one from branch 5.1.
Cheers,
Daniel
--
Daniel-Constantin Mierla -- www.asipto.comwww.twitter.com/miconda -- www.linkedin.com/in/miconda
Kamailio World Conference - April 27-29, 2020, in Berlin -- www.kamailioworld.com
Greetings,
I'm testing some portability scenarios with carriers and i've ran into some
issues.
Take this example URI from ETSI TR 184 003 (
https://www.etsi.org/deliver/etsi_tr/184000_184099/184003/03.01.01_60/tr_18…
)
- Sip:+49234598765;npdi;rn=+49-D123@provider5.net;user=phone
In this case i need to parse user, user's parameters, domain and uri
parameters.
In order to that i'm using uri's transformations like {uri.user},
{uri.domain}, etc.
However, when "user=phone" is present, Kamailio's parser works differently.
Without "user=phone" -> {uri.user} is equal to
"+49234598765;npdi;rn=+49-D123"
With "user=phone" -> {uri.user} is equal to "+49234598765" .
I really need to access "rn" and "npdi" parameters in those cases. How can
i do it when "user=phone" is present?
Is there a way to disable the "user=phone" exception for parsing?
Best Regards,
Duarte Rocha
Hi List,
History:
* In the past, I had deadlock which was, most probably, related to ssl1.1.
We have discussed this issue, and a fix is supposed to workaround the
issue that was detected.
* With latest 5.2.X, I have experienced ONCE a similar behavior with TCP
and TLS being mostly stuck. I have not been using this version much, but
the fix was supposed to be in the core of kamailio.
The status of the server this night:
* I'm today running version: kamailio 5.3.1 (x86_64/linux),
* Installed on stretch using http://deb.kamailio.org/kamailio53 repository.
* This versions use libssl1.1
* A user reported that he can't connect with TCP
* An average of 5000 IPs per 10 minutes are being banned by the pike module
(could be twice the same)
Yesterday/Today:
* at the end of the outage, I had 2479 IP in my ipban htable. (which is
equivalent to my statistics showing 2 bans/IP every 10 minutes = 5000)
* looking at my logs, it appears that most (ALL?) ip being banned... are my
regular users.
* looking at my logs, I can't understand why pike would block them.
This is a graph for statistics on my service for the last 24 hours:
https://www.antisip.com/sip-antisip-com-register/status2.html
Yesterday, at 22:18:39, kamailio started to BAN some IPs. 52 IPs were
banned in a period of 10 minutes. I can confirm this from my logs.
My pike configuration is this one:
modparam("pike", "sampling_time_unit", 2)
modparam("pike", "reqs_density_per_unit", 64)
modparam("pike", "remove_latency", 4)
When detecting the issue, this morning, I typed:
$> sudo kamctl stats
$> sudo kamcmd htable.dump ipban
//FAILURE (answer too large...)
$> sudo kamctl trap
Then, I started an agent with TCP and it worked...???
Then, a few seconds, may be a minute after:
$> sudo kamcmd htable.dump ipban
//SUCCESS and shows 2479 banned ip.
and... everything is back to normal in a few minutes.
I haven't restarted kamailio, and all statistics are as expected, as usual.
Thus, it looks that " sudo kamctl trap" has triggered something. I already
experienced a similar behavior -when testing my ssl1.1 deadlock last year-.
2 questions:
1/ I beleive my "pike" configuration should not ban users. Is my pike
configuration wrong?
As an example, pike has banned an IP sending one message/second. I believe
my configuration should accept that?
2/ Could there still be a TLS issue with libssl1.1?
This is the result of the "kamctl trap":
https://sip.antisip.com/kamailio-pike-or-tls-issue-13-12-2019.kamctl-trap
Sorry for the long story & hoping to find a long term solution or at least
a workaround!
Regards
Aymeric
--
Antisip - http://www.antisip.com
Dear Kamailio team,
Greetings from Multiicon.
We setuping kamailio sip server and all thing are done but when we going to
add user we are getting Command not found.
Using below command. I also check the server status by using systemctl
status kamailio is showing active
Please advise on this.
Thanks & Regards,
VIVEK AGHERA
#technical department
IND : +91 63548 23958
<mailto:vivek@multiicon.in> vivek(a)multiicon.in
MULTIICON IDEOTECHNOLOGY PVT.LTD.
3rd Floor, Rumi Plaza, Airport Road, Rajkot - 360 001, Gujarat (INDIA)
Please consider the environment before printing this e-mail.
Hello,
I am trying to set up a WebRTC2SIP Gateway by using Kamailio and rtpengine.
So far, everything is working fine, I'm able to register an extension and
make a call, but for some reason, when i'm trying to call a WebRTC
extension from any SIP Extension Kamailio is sending INVITE, WebRTC
extension is sending back 200 OK, and then Kamailio is trying to send an
ACK through UDP protocol, and not through wss, as it's supposed to do. This
is how invite is looking:
INVITE sip:nl7oe4ss@vjbh7r4im6j7.invalid;transport=wss SIP/2.0
Record-Route: <sip:my-company.net
;transport=udp;ftag=as1789445c;lr=on;nat=yes>
Via: SIP/2.0/WSS 123.123.123.123:10443
;branch=z9hG4bKe655.29d7c135a302f3eb803902d4f5a8da7e.0
Via: SIP/2.0/UDP 192.168.50.237:5060
;received=192.168.50.237;branch=z9hG4bK7d2e534e;rport=5060
Max-Forwards: 70
From: "WebRTC" <sip:11@my-company.net>;tag=as1789445c
To: <sip:15@192.168.50.210:5060>
Contact: <sip:11@192.168.50.237:5060>
Call-ID: 7fc800de060197fa2315c93763873092(a)my-company.net
CSeq: 102 INVITE
User-Agent: Proxy
Date: Wed, 03 Apr 2019 17:11:41 GMT
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO,
PUBLISH, MESSAGE
Supported: replaces, timer
Alert-Info:
Content-Type: application/sdp
Content-Length: 596
Server: SIP Proxy
and then WebRTC app is replying with 200 OK:
SIP/2.0 200 OK
Record-Route: <sip:my-company.net
;transport=udp;ftag=as1789445c;lr=on;nat=yes>
Via: SIP/2.0/WSS 123.123.123.123:10443
;branch=z9hG4bKe655.29d7c135a302f3eb803902d4f5a8da7e.0
Via: SIP/2.0/UDP 192.168.50.237:5060
;received=192.168.50.237;branch=z9hG4bK7d2e534e;rport=5060
To: <sip:15@192.168.50.210:5060>;tag=dk4fa8ftt6
From: "WebRTC" <sip:11@my-company.net>;tag=as1789445c
Call-ID: 7fc800de060197fa2315c93763873092(a)my-company.net
CSeq: 102 INVITE
Contact: <sip:nl7oe4ss@vjbh7r4im6j7.invalid;transport=wss>
Allow: ACK,CANCEL,INVITE,MESSAGE,BYE,OPTIONS,INFO,NOTIFY,REFER
Supported: outbound
User-Agent: Proxy-WEBRTC
Content-Type: application/sdp
Content-Length: 901
and finally, Kamailio is trying to send this ack through UDP protocol:
ACK sip:nl7oe4ss@22.22.22.22:57421;transport=wss SIP/2.0
Via: SIP/2.0/UDP 192.168.50.237:5060;branch=z9hG4bK56363ddf;rport
Route: <sip:my-company.net;transport=udp;ftag=as1789445c;lr=on;nat=yes>
Max-Forwards: 70
From: "WebRTC" <sip:11@my-company.net>;tag=as1789445c
To: <sip:15@192.168.50.210:5060>;tag=dk4fa8ftt6
Contact: <sip:11@192.168.50.237:5060>
Call-ID: 7fc800de060197fa2315c93763873092(a)my-company.net
CSeq: 102 ACK
User-Agent: Proxy
Content-Length: 0
If i'm trying to force it through TLS, i'm receiving error:
get_send_socket2(): protocol/port mismatch (forced tls:123.123.123.123:10443,
to udp:22.22.22.22:23317)
Can someone point me in the right direction, please?
Thank you.