I have completed the first pass at extending the SipXecsService class so that it does the following for the C++ services (it covers the registrar, proxy, park, rls, saa, presence (ACDAgentStatus), sipstatus (Voicemail MWI) - all the C++ services except ACD, which is different enough and likely to change, so I did not attempt to convert it): - install the proper signal handlers - install a StdinListener so that it will be notified of configuration changes by the supervisor - initialize the logfile - load the <serviceName>-config file - set the log level appropriately - reload the <serviceName>-config file and adjust the log level automatically when this resource changes (no restart required)
There is still more to do: - forward the modified config DB to the application to allow other parameters to be changed live - forward other modified resources to the application - change sipXconfig so that it does NOT mark the services a Restart Required when the log level is changed - two config files changed names; not sure if this means upgrade code is required - do something like SipXecsService for Java-based services (or at least StdinListener). - possibly add a SHUTDOWN command (this would be especially useful for the Java services, which don't have very good signal handling) I have opened three reviews to which anyone is welcome to add comments: http://code.sipfoundry.org/cru/XECS-61 (the SipXecsService extensions) http://code.sipfoundry.org/cru/XECS-62 (the stdin pipe between supervisor and the child processes) http://code.sipfoundry.org/cru/XECS-63 (migrate the services to use SipXecsService) Carolyn _______________________________________________ sipx-dev mailing list [email protected] List Archive: http://list.sipfoundry.org/archive/sipx-dev Unsubscribe: http://list.sipfoundry.org/mailman/listinfo/sipx-dev sipXecs IP PBX -- http://www.sipfoundry.org/
