Hello Members,
I have kamailio setup backed with mysql db, using db_cluster module for
spliting read and write..
Lisiting on three different virtual ips are bind with same/single udp port
*1* for processing calls.
One static IP is bind with udp port*2* to for processing/response to
option messages send from keepalived external script after every few
seconds and for DMQ messages from other kamailio node.
General configuation details:
children=16
fork=yes
listen=udp:VIP:SIP_PORT1
listen=udp:VIP2:SIP_PORT1
listen=udp:VIP3:SIP_PORT1
listen=udp:StaticIP3:SIP_PORT2
listen=tcp:SIP:RPC_PORT
SH_MEM=5012
PRIV_MEM=264
System Specification : 24 GB RAM, 12 CPUs
Sometimes kamailio radomly stop processing the requests or give no
response on new requests recevied on virtual ips and as well it did't show
any error in syslog.
To monitor the kamailio memory I used promethues (
https://github.com/florentchauveau/kamailio_exporter)
The moment kamailio stop processing the requests it also stop responding to
kamailio exporter and scrap request get timeout. i.e error log on console
debian prometheus-kamailio-exporter[83440]: 2021/05/20 12:15:27 [error]
cannot read header: read unix @->/tmp/kamailio__ctl: i/o timeout
After getting first timeout occurrence of kamailio-exporter scrap request,
kamailio processed sip messages for almost 30 seconds then completly stop
replying to any message. But it keep replying to option message arrive on
different port from keepalived script.
Stats :
Active dialog: 75
Shared memory used: 150 MB
Kamailio Installed version :
kamailio -v
version: kamailio 5.4.1 (x86_64/linux) 2ca223
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_BLACKLIST,
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: 2ca223
compiled on 12:51:24 Sep 21 2020 with gcc 6.3.0
Is anyone else face similar issue or idea why kamailio is showing such
behaviour.?
Please guide me on what I should do to find and fix the issue.
Thanks
--
Regards
M Arqum
I have a SIP video doorbell device that is only capable of sending H264 and MJPEG video. The site is using 3CX and its associated mobile app, which only supports VP8 and VP9.
Without properly reading the documentation, I went ahead and set up kamailio and rtpengine to sit in between the doorbell and 3CX. I has assumed rtpengine was capable of transcoding video as well as audio, however upon proper inspection it appears that isn't the case.
Is there a kamailio module that is capable of video transcoding, even if it isn't real time, or at a reduced framerate? As the application is a doorbell, it doesn't need to be perfect.
Many thanks,
Luke Kenny
Hi!
I use lxc containers with asterisk wich their are connecting to
kamailio, so far so good they work when i put the containers with
public ips, but when i switched to private ip I have one-way audio.
I tried to with rtpengine but no luck:
rtpengine --table=42 --listen-ng=127.0.0.1:2223
--interface=56.12.19.100 --tos=184 --pidfile=/run/rtpengine.pid
--no-fallback --log-level=7 --log-facility=local3
the setup looks like this:
VM-KAMAILIO-(public ip 56.12.19.100 with static routes for the private
IP) --> LxC(n) (with private class 192.168.0.n)
The problem i think is when LxC asterisk is sending back the 200 OK
from Invite it puts his private ip in the sdp filed:
v=0
o=- 2171376102 3 IN IP4 192.168.0.2
s=Asterisk
c=IN IP4 192.168.0.2
t=0 0
m=audio 11336 RTP/AVP 8 101
a=rtpmap:8 PCMA/8000
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-16
a=ptime:20
a=maxptime:150
a=sendrecv
i've loaded the modules, but after this i am stuck....
loadmodule "nathelper.so"
loadmodule "rtpengine.so"
modparam("nathelper", "received_avp", "$avp(RECEIVED)")
modparam("nathelper", "nortpproxy_str", "a=sdpmangled:yes\r\n")
modparam("nathelper", "natping_interval", 30)
modparam("nathelper", "ping_nated_only", 1)
modparam("nathelper", "sipping_bflag", FLB_NATSIPPING)
modparam("nathelper", "sipping_from", "sip:pinger@proxy")
# params needed for NAT traversal in other modules
modparam("nathelper|registrar", "received_avp", "$avp(RECEIVED)")
modparam("usrloc", "nat_bflag", FLB_NATB)
modparam("rtpengine", "rtpengine_sock", "udp:localhost:2223")
modparam("rtpengine", "rtpengine_retr", 2)
modparam("rtpengine", "hash_table_size", 256)
modparam("rtpengine", "hash_table_tout", 600)
Hello,
I am simply trying to parse a SDP body, read it line by line and save the line into a variable for further processing. It seems when using a newline \n as the delimiter it breaks down with errors. How should I treat this issue and properly managed the newline as delimiter?
May 17 12:00:00 ip-10-120-120-12 kamailio[12878]: 0(12878) ERROR: pv [pv_trans.c:2326]: tr_parse_string(): invalid select transformation: select,$var(i),$var(delimeter)}!!
May 17 12:00:00 ip-10-120-120-12 kamailio[12878]: 0(12878) ERROR: <core> [core/pvapi.c:1717]: tr_lookup(): error parsing [{s.select,$var(i),$var(delimeter)}]
Block extracted from .cfg
sdp_get("$avp(sdp)");
$avp(lines) = $(avp(sdp){line.count});
$var(delimeter) = "\n";
$var(i) = 0;
while($var(i) < $avp(lines)) {
# This works
xlog("L_INFO", "==> Position $var(i): $(avp(sdp){s.select,$var(i),\n}) \n");
# This fails
$var(l1) = $(avp(sdp){s.select,$var(i),$var(delimeter)});
# This fails
$var(l2) = $(avp(sdp){s.select,$var(i),\n});
# This fails
$var(l3) = $(avp(sdp){s.select,$var(i),\\n});
# Supposed to do something funny with the $var(line) here
$var(i) = $var(i) + 1;
}
/M
Hi guys,
I'm trying to build a deb file of kamailio 5.4 and when doing
dpkg-buidpackage it gave a bunch of dependency warnings.
I was able to take care a good number of them until I ran into this:
*dpkg-checkbuilddeps: **error*: Unmet build dependencies: gcj-jdk
libval-dev libxmlrpc-c3-dev
None of these packages are in the "apt-cache search" output.
Below is a list of modules currently loaded in 5.2.5 and want to use them
again:
INCLUDE_MODULES="exec rtpengine topoh carrierroute statsd dialplan kex tm
tmx sl rr pv maxfwd usrloc textops sdpops siputils xlog sanity ctl acc
dispatcher cfgutils permissions domain presence presence_xml nathelper
dialog tls htable pike db_mysql userblacklist sqlops websocket xhttp
siptrace tcpops jsonrpcs rtimer"
Thanks
--
Andy Chen
Sr. Telephony Lead Engineer
415 516 5535 (M)
achen@ <achen(a)thinkingphones.com>fuze.com
--
*Confidentiality Notice: The information contained in this e-mail and any
attachments may be confidential. If you are not an intended recipient, you
are hereby notified that any dissemination, distribution or copying of this
e-mail is strictly prohibited. If you have received this e-mail in error,
please notify the sender and permanently delete the e-mail and any
attachments immediately. You should not retain, copy or use this e-mail or
any attachment for any purpose, nor disclose all or any part of the
contents to any other person. Thank you.*
Hello all,
I am having some trouble with Permissions module of Kamailio, regarding the allow_source_address_group() function. In 99.9% of the cases the IP of our partner is allowed as expected, but randomly it can fail (returning -1 for the same IP address that was allowed for many other calls in the meantime).
I can’t understand why it fails and why only « sometimes » - I confirm this append on the same Kamailio box, with same IP and Port of the partner.
In my custom logs:
« X.X.X.X:YYYY is allowed through group Z » —> as expected
and sometimes (like 1% of the cases): « X.X.X.X:YYYY is not allowed - allow_source_address_group returned -1»
It is maybe to note that in the address table, this range is defined as /24 and not /32. Until now it never happened on /32 defined address but I don’t know if it can be correlated.
Would someone have a clue on this?
Versions:
- kamailio 5.5.0 (x86_64/linux) d4c1a1
- debian 9 stretch
- postgresql 11.7
Many thanks!
Romain Untereiner
Co founder at Cantoo
www.cantoo.co
Hi,
I have been investigating distributing incoming/outgoing SIP traffic to
behind Kamailio SIP servers in order to scale and other advantages too!.
SRV type distribution is not a good option, it is already tested.
So, I am trying to deploy Kamailio as a *LoadBalancer* in Tier1 , so it
distributes traffic backbone Kamilio servers in Tier 2. There is a good
presentation as follows, actually I want to implement it.
https://www.kamailio.org/events/2013-KamailioWorld/23-Daniel-Constantin.Mie…
However, I could not find sample configurations and sample study ! Would
you show me sample configurations that Kamailio uses as a Load Balancer if
you have it.
Current Kamailio responsibilities in my system are:
1. Registar Server
2. Presence Server
3. Sip proxy server
4. WebSocket
Maybe it will be very good to separate *Registar *Server & *Presence *Server,
but could not find sample configurations too.
Best Regards
Melek
P.S. If we could collect such configurations, I would share them for
community on Github.
Hi,
I have been investigating distributing incoming/outgoing SIP traffic to
behind Kamailio SIP servers in order to scale and other advantages too!.
SRV type distribution is not a good option, it is already tested.
So, I am trying to deploy Kamailio as a *LoadBalancer* in Tier1 , so it
distributes traffic backbone Kamilio servers in Tier 2. There is a good
presentation as follows, actually I want to implement it.
https://www.kamailio.org/events/2013-KamailioWorld/23-Daniel-Constantin.Mie…
However, I could not find sample configurations and sample study ! Would
you show me sample configurations that Kamailio uses as a Load Balancer if
you have it.
Current Kamailio responsibilities in my system are:
1. Registar Server
2. Presence Server
3. Sip proxy server
4. WebSocket
Maybe it will be very good to separate *Registar *Server & *Presence *Server,
but could not find sample configurations too.
Best Regards
Melek
P.S. If we could collect such configurations, I would share them for
community on Github.
Hello,
I am new to kamailio. And I Am following the work of Franz Edler.
I would like to test it in a local environment without internet connection
on ubuntu. What I don't understand is, to download the packages I
necessarily need the internet. Do I have to use two network interfaces for
the same virtual machine in order to access the internet and make the DNS
configuration locally with the second interface?
Cordially,
*SOUMANA** DJIBO **Ibrahim*
*Ingénieur Réseaux & Télécoms*
*5 Avenue Emile Baudot, 91300 Massy*
+33 07 61 80 20 35
[image: Résultat de recherche d'images pour "logo paris saclay"]
https://www.universite-paris-saclay.fr/
Hi
Using Kamailio 5.4.4 on Debian Buster. I am trying to get feedback of
the MOS scores at call end. However the variables are always <null>.
I have the modparams set as follows:
# ----- rtpengine params -----
modparam("rtpengine", "rtpengine_sock", "udp:localhost:2223")
modparam("rtpengine", "rtpengine_disable_tout", -1)
modparam("rtpengine", "rtpengine_tout_ms", 2000)
modparam("rtpengine", "rtpengine_allow_op", 1)
modparam("rtpengine", "mos_min_pv", "$avp(s:mos_min)")
modparam("rtpengine", "mos_max_pv", "$avp(s:mos_max)")
modparam("rtpengine", "mos_average_pv", "$avp(s:mos_avg)")
modparam("rtpengine", "mos_average_packetloss_pv",
"$avp(s:mos_avg_packetloss)")
modparam("rtpengine", "mos_average_jitter_pv", "$avp(s:mos_avg_jitter)")
modparam("rtpengine", "mos_average_roundtrip_pv",
"$avp(s:mos_avg_roundtrip)")
I am trying to log the values from within the dialog:end event_route:
event_route[dialog:end] {
rtpengine_delete();
xlog("L_INFO","mos_avg=$avp(mos_avg),
packetloss_avg=$avp(mos_avg_packetloss),
jitter_avg=$avp(mos_avg_jitter), latency_avg=$avp(mos_avg_roundtrip),
sip_last_reply=$rs - $ci\n");
return;
}
Am I missing something? I have tried rtpengine_query and
rtpengine_manage in place of the _delete and also tried placing this in
the BYE handling section of WITHIN_DIALOG but no joy.
Any assistance much appreciated!
-Barry
--
-Barry