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/1963728...@github.com>
_______________________________________________
Kamailio (SER) - Development Mailing List
To unsubscribe send an email to sr-dev-le...@lists.kamailio.org