I suspect that there may be compatibility issues between the new version of the TCP model
and the old ndd_redis module during module initialization. I suspect that the processing
logic triggered by this event occurred in the main process, which did not initialize the
relevant context. I have attempted to modify the following code:
···
file:ndb_redis/ndb_redis_mod.c
151 if(rank == PROC_INIT || rank == PROC_MAIN || rank == PROC_TCP_MAIN)
modify:
151 if(rank == PROC_INIT || rank == PROC_MAIN )
···
Based on the above tests, it can be basically determined that the event_route event was
triggered in the TCP main process, rather than in the expected child process, which is
also the reason why it cannot obtain the context normally. I'm not sure if this
handling is reasonable and won't cause any other problems, but it can indeed run
normally. Is there any other better way? I speculate that the related issues should be
quite common, whether it is better to solve them from the framework level rather than the
module itself. And all operations are handled by the main process, and its performance is
also worrying.
--
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/issues/3768#issuecomment-1963728833
You are receiving this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/issues/3768/1963728833(a)github.com>