Hello,
3 crashes occurred today (we never seen crashes on this server before)
during a period of 20 minutes.
I had a look to the coredumps. Here is a quick overview of the first entries
of "bt full":
core.27671 : #0 0x00007f5577048d65 in run_trans_callbacks_internal
(cb_lst=0x7f5560abbd50, type=2, trans=0x7f5560abbce0, params=0x7fff3712acb0)
at t_hooks.c:286
core.27656 : #0 0x00007f557700a048 in free_cell (dead_cell=0x7f5560abbce0)
at h_table.c:175
core.27685 : #0 0x00007f5577048d65 in run_trans_callbacks_internal
(cb_lst=0x7f5560abbd50, type=2, trans=0x7f5560abbce0, params=0x7fff3712acb0)
at t_hooks.c:286
core.27689 : #0 0x00007f5577048d65 in run_trans_callbacks_internal
(cb_lst=0x7f5560abbd50, type=2, trans=0x7f5560abbce0, params=0x7fff3712acb0)
at t_hooks.c:286
core.27691 : #0 0x00007f5577048d65 in run_trans_callbacks_internal
(cb_lst=0x7f5560abbd50, type=2, trans=0x7f5560abbce0, params=0x7fff3712acb0)
at t_hooks.c:286
core.31977 : #0 0x00007f038e66fdee in free_cell (dead_cell=0x7f037811ebe0)
at h_table.c:157
core.31994 : #0 0x00007f038e6ab65a in t_forward_nonack (t=0x7f037811ebe0,
p_msg=0x7f038fdca438, proxy=0x0, proto=0) at t_fwd.c:1762
core.3700 : #0 0x000000000061697a in fm_insert_free (qm=0x7f19861fa000,
frag=0x7f19864d53e8) at mem/f_malloc.c:245
core.3727 : #0 0x00000000006167a4 in fm_extract_free (qm=0x7f19861fa000,
frag=0x7f19864f4cc8) at mem/f_malloc.c:208
I don't know how to proceed now. Can you help me to highlight the issue
here? Thank you.
Regards,
Igor.
Hello,
are there any error messages in the syslog?
Maybe setting debug level for auth modules to 3 and looking at logs will
help to reveal what is happening. Be sure syslog is in async mode,
otherwise it will slow down processing.
Cheers,
Daniel
On 16/10/15 08:42, Surendra.P wrote:
>
> Hello Daniel,
>
>
>
> I have a concern regarding auth module, I am running
> 2000 TPS for 1000000 subscribers, using SIPP. What I observed when
> you run small load like 500 TPS, everything get passed, but for 2000 TPS
>
> With same subscriber.csv file some of the subscribers getting
> challenged. May I this why auth module is behaving like this.. below
> are the parameters which I configured in auth module
>
>
>
> modparam("auth", "nonce_expire", 3600), rest all parameters default
> values.
>
>
>
> Regards
>
> Surendra
>
>
>
> _______________________________________________
> SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list
> sr-users(a)lists.sip-router.org
> http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
--
Daniel-Constantin Mierla
http://twitter.com/#!/miconda - http://www.linkedin.com/in/miconda
Book: SIP Routing With Kamailio - http://www.asipto.com
Hi.
I've got bunch of sip gateways to use and bunch of asterisk instances connecting to
my Kamailio over TLS (own CA used).
I'd like to match source with destination based on TLS authentication:
* all the calls from asterisk A (TLS cert A) allowed via provider A
* all the calls from asterisk B (TLS cert B) allowed via provider B
...
* all the incoming calls from provider A forwarded to asterisk A (TLS cert A)
* all the incoming calls from provider B forwarded to asterisk B (TLS cert B)
...
* calls not coming from provider X or via TLS dropped.
Providers are regular VoIP gateways (login:password, connection via SIP).
I'm pretty sure this is possible with Kamailio but I'd appreciate any examples and
pointers to modules I should use to implement this. Or detailed explanation of why
this is a bad idea.
Also, I'm not sure where it's better to place user database - should it be separate
on per-asterisk basis? Central in Kamailio? No user db needed at all?
cheers,
Max.
Hello Daniel,
I have a concern regarding auth module, I am running 2000
TPS for 1000000 subscribers, using SIPP. What I observed when you run small
load like 500 TPS, everything get passed, but for 2000 TPS
With same subscriber.csv file some of the subscribers getting challenged.
May I this why auth module is behaving like this.. below are the parameters
which I configured in auth module
modparam("auth", "nonce_expire", 3600), rest all parameters default values.
Regards
Surendra
Hi
I am trying to use the [client] directives in tls.cfg for the first time.
For my configuration I need to connect to 2 servers, both via TLS and both
using different certs.
I have defined an entry in tls.cfg like
[client:1.2.3.4:5061]
[client:5.6.7.8:5071]
and I also have an entry in dispatcher tables for each server using the URI
format
sip:1.2.3.4:5061;transport=tls
With this configuration, I expect dispatcher to send OPTIONS to each
server, and Kamailio to resolve the host in dispatcher to the correct
client section of tls.cfg and negotiate a connection.
However this is not happening. Dispatcher module is trying to send OPTIONS
as expected, and it is using TLS as expected but it is not using the
correct [client] section from tls.cfg. Instead it is always falling back to
[client:default], and if that is not present it then tries to look for some
internal Kamailio defaults.
Has anyone come across this issue before? Debug logs don't yield anything
useful, however my suspicion is that Kamailio may be trying to match
"sip:1.2.3.4:5061;transport=tls" from dispatcher module to "1.2.3.4:5061"
from tls.cfg.
Any help or advice would be appreciated
Regards
Pete
I originally sent this to sr-dev in error, I am resending to sr-users
instead, thanks
Hi All,
Quick question, is it possible to use variables in the setflag function,
I am trying to set a flag that is stored in a hash table using the
setflag function, but I keep getting syntax errors. I am using kamailio
4.3.3.
Here's what I am trying to do:
htable core_setid defines a dispatcher setid key and its value is
associated with a flag as follows:
id:key:key_type:value_type:value:expires
1:102:0:1:7:0
so, simple hash table type with an integer key of value 7 and no expiry
In dispatcher I have the following modparams set, so that
ds_is_from_list() will set them if found:
modparam("dispatcher", "setid_pvname", "$var(ds_setid)")
modparam("dispatcher", "attrs_pvname", "$var(ds_setid_attrs)")
Then in my routing logic I have the following code block:
if ( ds_is_from_list() ) {
if ( $sht(core_setid=>$var(ds_setid)) != $null ) {
setflag( $sht(core_setid=>$var(ds_setid)) );
return;
} else {
send_reply("403", "No flag set for source");
exit;
}
}
When I test this using kamailio -c -f <filename> I get the following error:
0(20629) : <core> [cfg.y:3432]: yyerror_at(): parse error in config
file /shared/kamailio/etc/routing_logic.cfg, line 175, column 21-52:
syntax error
0(20629) : <core> [cfg.y:3432]: yyerror_at(): parse error in config
file /shared/kamailio/etc/routing_logic.cfg, line 175, column 21-52:
missing '(' or ')'?
0(20629) : <core> [cfg.y:3432]: yyerror_at(): parse error in config
file /shared/kamailio/etc/routing_logic.cfg, line 175, column 21-52: bad
command: missing ';'?
0(20629) : <core> [cfg.y:3435]: yyerror_at(): parse error in config
file /shared/kamailio/etc/routing_logic.cfg, line 175, column 53: bad
command
ERROR: bad config file (4 errors)
If I change the setflag line to setflag(7), then I dont get the error.
I was wondering if its possible to have hashtable variables as
parameters to the setflag function, or am I going about this in the wron
way.
Any thoughts would be appreciated.
Thanks
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Hello. If you install mariadb instead mysql Oracle, and then, you want
to install kamailio with kamailio-mysql-modules:
No se satisfacen las dependencias de los siguientes paquetes:
mariadb-client-core-10.0 : Entra en conflicto: mysql-client-5.5 pero
se va a instalar 5.5.44-0+deb8u1.
Rompe: virtual-mysql-client-core que es un
paquete virtual.
mysql-client-5.5 : Rompe: virtual-mysql-client que es un paquete
virtual.
Rompe: virtual-mysql-client-core que es un paquete
virtual.
mariadb-server-core-10.0 : Rompe: mysql-client-5.5 pero se va a
instalar 5.5.44-0+deb8u1.
mariadb-client-10.0 : Rompe: mysql-client pero se va a instalar
5.5.44-0+deb8u1.
Rompe: mysql-client-5.5 pero se va a instalar
5.5.44-0+deb8u1.
Rompe: virtual-mysql-client que es un paquete
virtual.
mariadb-server-10.0 : Rompe: mysql-client-5.5 pero se va a instalar
5.5.44-0+deb8u1.
Las acciones siguientes resolverán estas dependencias
Eliminar los paquetes siguientes:
1) mariadb-client-10.0
2) mariadb-client-core-10.0
3) mariadb-server
4) mariadb-server-10.0
5) mariadb-server-core-10.0
Thanks
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)
iQIcBAEBAgAGBQJWGzvRAAoJEG5DH1ilMeeeLl4P/iLDNNIhW73Sducag6IuJaM6
VWeKhCpvkEGxUUiAfL5Byktme058W6d1y7KDUyBzzMLZysNBxm4kJAX4fZjOQBpO
6e1np/qYXC/1A54hAKrjynPIMFpofCG3W6I2wCGp9nKHhq/ail++SW7aFqht6nus
yF9h/0mJjv8wNkZuzf0BGuZdTJZUqVBbAOoWNNZHVfqQ20IjbAL2rgg/ahXLt8tv
BoYVBnCQAAActmiA2ETF13R0ioJY5gLUorn2IW/sq/TQyXiABaskmxY68d/z2svc
DmIB3JaCpOOMeccU4Ay2A6zmo+HuN5LcMuPu0b+sk3aHSWn6Wl4JWGozjdneiNpp
+ksNTJYhJm6dCvhsj4RIw+ALf0/mDF14YV+n0z6OiaG5V1pEt7Z7nGyVBY3uDHR3
Xm9oYkj3CKYW5nOgpimHir9f+1qD457AWMRkHyIJrOXbth0lSodUg+KbAw1mUci5
D1E5bf47M7+CbmAi0t7uOSKh2J+oQq4pW3SzZYQbrnWQnIkwpmFy72Oqp7GBiSD7
rxxKUt0xBIVjnzGQzCgQdLfeYJt3sZ8V9cHvnEe7Tte2hLRLdnqskOhmMkGxNavJ
ZKA7McTjWFyXJNJAJAowtBLHbarIxo5oREAma1nJ42xLv9KyIhXpVao472lVJZLz
V9kMzZksd4yhvAHH2eyi
=oZca
-----END PGP SIGNATURE-----
Hi,
I was asked some interesting questions yesterday by a rather techy client
related to Kamailio and RTPEngine performance.
Q1:
For Kamailio we have say 8 child processes, which means there are 8 threads
per listen address to process sip messages, i.e. for example 8 INVITE
messages at any instance of time can be processed by Kamailio. If say, one
INVITE takes 200ms to be processed and send out to destination, then we can
estimate processing power of kamailio to be 40 INVITE requests per second
per listen address, right?
Q2:
If so, then assuming each INVITE requires to engage RTPEngine. How can we
ensure that RTPEngine would be capable to handle these 40 INVITE requests?
The only relevant parameter I see in RTPEngine daemon script is
"NUM_THREADS" (default value 5). What does this represent? Does this
analogs to children as in Kamailio?
Q3:
How does RTPEngine manages SRTP <=> RTP translation (e.g. if one endpoint
is WebRTC and other is traditional SIP)? My understanding is that RTPEngine
has a kernel module (assuming kernel module is installed) which also
manages this conversion besides forwarding the media packets. The Linux
kernel already has encoders / decoders for nearly all encryption algorithms
which are utilized by RTPEngine for doing the conversion in kernel space,
right? if not then how it is done?
Q4:
Continuing to Q2, If these NUM_THREADS process actual media packets (RTP or
SRTP) then are these synchronous or asynchronous? I think these are
asynchronous, just want to confirm (otherwise RTPEngine won't process more
then e.g. 5 calls at a time). So, assuming asynchronous how many packets
can be queue to each thread? This would help estimating RTPEngine
throughput using various codecs in calls. (e.g. assuming G.711 codec we
have 50pps, if each thread queue size is 1000 then each thread can process
1000/50=20 concurrent calls and whole RTPEngine would process 20x5=100
concurrent calls).
Thank you.
Hello,
I'm exploring the evapi module for my kamailio to interface with an
external node.js app for third party stuff like AAA, billing engine tasks,
notifications and so on. I followed and took some ideas from the rtjson and
evapi tutorial found here(
http://kb.asipto.com/kamailio:k43-async-sip-routing-nodejs) to build the
node.js app consuming events.
When I stress tested the scenario using SIPp and tried sending a lot of
events at 300-350cps from Kamailio, I noticed that at times the client is
receiving 2-3 events in a single message together although I do
event_sync_relay once per SIP message received and have netstrings enabled.
I believe this is a typical behavior of TCP and needs to be handled by the
client using some kind of Netstring handler. Please correct me if I'm wrong.
And hence I'd like to know what particularly needs to be taken care of
while writing a client that is listening for events on raw tcp socket and
how does kamailio handle this situation while receiving messages over TCP
socket?? Does kamailio recognize the end of netstring properly on
evapi:message-received and give exactly one message to take care of on
every "message-received" event or should that be handled in the script
somewhere !!
I also referred cgrates client over evapi example which is written in GO,
but I couldnt find them handling TCP streams clearly either.
I'd really appreciate some expert suggestion here to make an informed
decision on using the evapi module for a large scale solution.
Thanks,
- Jayesh