Hello,

currently there is a known issue with the processes initialized for processing MI commands when using event_route[tm:local-request]. Since the child init function for other modules is not executed for such processes, functions from various modules (especially with database interaction) cannot be executed, for example: calling acc_db_request() for BYE generated through MI dlg_end_dlg.

On another hand, MI functions cannot be called properly via RPC (through mi_rpc module) when using XMLRPC. The reason is that XMLRPC is handled by SIP workers, which do not execute mi_child_init function.

These may render obsolete the mi_init_child function, since it should be merged in the normal child_init function. Moreover, the rank PROC_RPC applies to SIP worker processes when XMLRPC module is loaded. Thus I think some RPC commands don't work properly over XMLRPC (cc-ed Jan and Andrei for more comments here). It should be also like a RPC flag per process than only type

One option to solve is to add a new parameter to child init function, flags, where to tell whether the process is going to handle MI/RPC requests. Based on that, call mi_child_init if still requires. PROC_RPC needs to stay also as rank for specially forked processes.

This change will require to touch all modules, and they are a lot, so maybe somebody here finds other solution.

Cheers,
Daniel

--
Daniel-Constantin Mierla -- http://www.asipto.com
Kamailio Advanced Training, Oct 10-13, Berlin: http://asipto.com/u/kat
http://linkedin.com/in/miconda -- http://twitter.com/miconda


_______________________________________________
sr-dev mailing list
[email protected]
http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-dev

Reply via email to