[SR-Users] Kamailio htable mod-init route: Main process exited before writing to pipe

George Diamantopoulos georgediam at gmail.com
Thu Sep 28 19:18:44 CEST 2017


Hello,

I've tested again, this time including a single sql_pvquery function in the
event-route. Kamailio will also exit with "daemonize(): Main process exited
before writing to pipe" in this simpler case.

In the documentation, it is stated that: The event route is executed only
once, after core and module initialization, <emphasis>but before Kamailio
forks any child processes</emphasis>.

Does this mean that I don't have (perhaps) access to pseudovariables
during execution of this route? Is this the reason why kamailio exits
prematurely?

Thanks,

George


On 26 September 2017 at 15:37, George Diamantopoulos <georgediam at gmail.com>
wrote:

> I forgot to mention, I'm using Kamailio 5.0.3 on debian "stretch".
>
> On 26 September 2017 at 14:40, George Diamantopoulos <georgediam at gmail.com
> > wrote:
>
>> Hello all,
>>
>> I've been trying to utilise event_route[htable:mod-init] in order to load
>> information from the database into an htable on startup. However, Kamailio
>> exits with an error for no obvious (to me) reason. Here's the log output:
>>
>> DEBUG: htable [htable.c:226]: child_init(): rank is (-127)
>> DEBUG: htable [htable.c:259]: child_init(): executing
>> event_route[htable:mod-init] (2)
>> DEBUG: <core> [core/parser/msg_parser.c:600]: parse_msg(): SIP Request:
>> DEBUG: <core> [core/parser/msg_parser.c:602]: parse_msg():  method:
>> <OPTIONS>
>> DEBUG: <core> [core/parser/msg_parser.c:604]: parse_msg():  uri:     <
>> sip:you at kamailio.org>
>> DEBUG: <core> [core/parser/msg_parser.c:606]: parse_msg():  version:
>> <SIP/2.0>
>> DEBUG: <core> [core/parser/parse_via.c:2639]: parse_via(): end of header
>> reached, state=2
>> DEBUG: <core> [core/parser/msg_parser.c:491]: parse_headers(): Via
>> found, flags=2
>> DEBUG: <core> [core/parser/msg_parser.c:493]: parse_headers(): this is
>> the first via
>> ERROR: <core> [core/daemonize.c:303]: daemonize(): Main process exited
>> before writing to pipe
>>
>> And here's the routing block in kamailio.cfg. What I need to do is get
>> the username for all non-expired contacts in the "location" table, perform
>> a query on another database for each one of them and store the result in an
>> htable:
>>
>> event_route[htable:mod-init] {
>>
>>     sql_pvquery("ck", "select username from location where now() <=
>> expires", "$avp(registered_ng)");
>>
>>     $var(i) = 0;
>>     while ( $(avp(registered_ng)[$var(i)]) != $null ) {
>>         sql_pvquery("ca", "select property from tablename where username
>> = $(avp(registered_ng)[$var(i)])", "$var(ng_property)");
>>         $sht(isnguser=>$var(ng_property)) = 1;
>>         $var(i) = $var(i) + 1;
>>         pv_unset("$var(ng_property)");
>>     }
>>
>>     pv_unset("$var(i)");
>> }
>>
>> Any hints as to what I might be doing wrong? Thanks!
>>
>> Best regards,
>> George
>>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.kamailio.org/pipermail/sr-users/attachments/20170928/bc399d8f/attachment.html>


More information about the sr-users mailing list