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/

Reply via email to