Am Dienstag, 12. März 2019, 12:46:57 CET schrieb Mojtaba:
I just ask this question for more understanding during
developing new
module in Kamailio,
A you know better than me, we could use register_procs and fork_process
functions to create new fork process in Kamailio project. I just did the
same things for first handover interface in hiops module. Finally you could
see list of all process with "kamctl ps" command.
I want to do the same things for third handover interface in hiops module,
But i think it would not be nice to see a lot of list of process in
output! This conditions would be occurred if someone set the
hi3_worker_process parameter in hiops module to 100.
Am i right? Don't you think it is better to use nested fork process instead?
What do you think?
Hi Mojtaba,
normally you only need to fork one or two processes in a kamailio module, e.g.
like for a dedicated timer process etc.. You should not fork many processes,
as all of them will hold the configured PKG memory. Because of the multi-
process architecture of Kamailio I would also not suggest to use a nested
fork. Kamailio with its initialization structure (mod_init for the init before
the fork, child_init for the init after the fork) was not designed for that in
my opinion.
If you see a need for one or many dedicated process(es) for e.g. handover
interface handling, then I would suggest to use a dedicated separate daemon,
like e.g. the sipcapture or rtpproxy/rtpengine modules. Kamailio could
communicate over a socket or a similar interface with this daemon.
Best regards,
Henning
--
Henning Westerholt -
https://skalatan.de/blog/
Kamailio services -
https://skalatan.de/services
Kamailio security assessment -
https://skalatan.de/de/assessment