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 …
[View More]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
[View Less]
Hi,
Is there any command to get the runtime configuration from kamailio? I
tried "kamctl monitor" but there was not a lot of information.
For example I need information about what tcp_conn_wq_max is set to.
Best regards,
Magnus Nordström
> Hello,
>
> look at:
>
> http://kamailio.org/docs/modules/stable/modules/tm.html#tm.p.cancel_b_method
>
> Maybe one or another value for that parameter is suiting better your use
> case.
Thank you for the suggestion.
This looked promising, but the cancel_b_method parameter is already at the default value of one. I also tried changing the value to two and got a similar result.
This may sound crazy, but it almost seems like the problem happens only when kamailio is …
[View More]processing unrelated INVITES at the same time.
[View Less]
Hey Guys,
I was wondering how does enable/disable flag for uac registration gets
persistence, since I could not spot it in the mysql tables. Is that just
temporary in-memory and on next restart/refresh does not longer take effect?
Thanks,
DanB
Hello,
based on a recent discussion with Alex Balashov (at Kazoocon this week),
I pushed a patch that enables the execution of
event_route[core:worker-one-init] when kamailio is started. It would be
more like an alternative for event_route[htable:mod-init], for the cases
when htable is not used, but also should ensure that all the modules are
initialized. Moreover, because most of the modules close connection in
mod init, I though of doing it when child one (udp receiver)
initialization for …
[View More]all modules is finished, which means that all is
ready for runtime, still this is before receiving any packet.
On the other hand, forking is done by main process, so other children
can start listening for sip.
More or less what I want to ask here is whether the forking of the other
children should wait until the event_route[core:worker-one-init] is
finished (e.g., what is done in this event route is important before any
sip packet is routed) or just leave it like it is.
Worth to say that some modules do special processing in child init of
worker one, like usrloc module loads the records from database to
memory, which means that overall start of kamailio could be slower.
Also, if there are time consuming actions in the
event_route[core:worker-one-init], getting to the stage of routing sip
packets will take longer.
What would you find important, fork the other processes so routing sip
will happen as soon as possible, or block until execution
ofevent_route[core:worker-one-init] is finished.
I guess that making it cusomizable in some way would be a solution, but
knowing what use cases would be important may help in reducing the
complexity to get it enabled.
Cheers,
Daniel
--
Daniel-Constantin Mierla
http://twitter.com/#!/miconda - http://www.linkedin.com/in/miconda
Book: SIP Routing With Kamailio - http://www.asipto.com
[View Less]
Hi All,
I am new to Kamailio world. I am trying to initialize some details at
Kamailio startup, this requires some database queries from a few tables.
I have read about the htable event, however sql queries are not working in
this route.
I have come upon following errors. Please suggest a solution for this.
Route used:
event_route[htable:mod-init] {
xlog("L_INFO", "********Initailising the startup route ******\n");
sql_xquery("cb","SELECT id, media_server_port, name FROM domains","ra");
}
…
[View More]error :
Oct 8 13:28:32 P172 /usr/local/kamailio/sbin/kamailio[28735]: INFO:
<script>: ********Initailising the startup route ******
Oct 8 13:28:32 P172 kamailio: ERROR: <core> [daemonize.c:303]:
daemonize(): Main process exited before writing to pipe
Thanking You,
Sunil More
Ph : 9503338275
[View Less]
Hi,
I found some existing topics on this but failed to get a solutions out
of them.
We're running into some issues with client devices connecting to our
private addresses. The way it is setup now:
CLIENTS <-> (NAT) <-> INTERNET <-> KAMAILIO(4.2.5) with
RTPPROXY(v1) <-> PRIVATE LAN <-> ASTERISK (v1.8)
Our Kamaialio and Asterisk are in a private address range, but Kamailio
also has a public interface. Most of the clients (about 95%) work well
with this …
[View More]setup, but a couple don't. We have one case now where the
CLIENT tries to connect to the private address of ASTERISK. And of
course, that doesn't work.
I'm kind of stuck as to where I need to fix this. I tried using the
externaddr option in Asterisk to solve it on that end. But that didn't
help anything. The NAT options in Kamailio are not really suited for
this, as they tend to fix client NAT problems.
Any pointer or help would be greatly appriciated.
Cheers,
Dirk
[View Less]
Hi Guys,
I have a question regarding pua module parameter 'db mode'.
I run Kamailio (4.3.2) with sqlite and I tried to set the parameter to 0
but even then I received:
> ERROR: db_sqlite [dbase.c:489]: db_sqlite_commit(): sqlite commit failed: NOT NULL constraint failed: pua.call_id
> ERROR: db_sqlite [dbase.c:138]: db_sqlite_cleanup_query(): finalize failed: NOT NULL constraint failed: pua.call_id
> ERROR: pua [pua.c:1179]: db_update(): while inserting in db table pua
>
> As …
[View More]far as I checked the documentation, it says that '0' means:
> high speed memory based storage
Does it still writes to DB anyway (on timer or whatever?) or just keep it
in memory? Is there any way to disable writing to DB?
The second thing is the reason of the ERRORs above. Why does pua think that
my call_id is null?
If you need any more information please let me know.
Best regards and have a good weekend,
Maciej
[View Less]