On Sun, 2009-04-26 at 21:45 +0200, Paweł Pierścionek wrote:
> On 2009-04-26, at 20:54, Scott Lawrence wrote:
> 
> >
> >> It was "easy" to manage processes in 3.10 so my initial prototype was
> >> a single RPM with post-install script disabling all relevant original
> >> processes and enabling my own.
> >> But I have no idea how to approach 4.0
> >
> > It's actually even easier now.  You need to create a new-style process
> > description xml file that describes each of your processes and tells  
> > the
> > sipXsupervisor what the process needs and how to control it.
> 
> But how do I turn services on/off ?

Ultimately, that is the job of sipXconfig - it is accomplished by an XML
RPC call to sipXsupervisor, documented here:

http://sipxecs.sipfoundry.org/doc/sipxsupervisor/class_proc_mgmt_rpc_start.html

That call can be made for testing purposes using the 'sipxproc' rpc
client command.

> > How large is the delta, and what version have you been using as the  
> > base
> > for your development?
> 
> It's not based on sipXacd code.

That's not what I meant... I was referring to the general framework
(including the supervisor, etc).

> 3k lines of memory leaking PHP code at Your service. :(
> 
> This is just proof of concept that with some bugs ironed out FS can be  
> the base for ACD replacement in sipXecs.
> Once our FS JTAPI is finished and FS has all SIP/TCP and SIP/REFER  
> bugs fixed we'll code our ACD it in Java and make it a fully multi- 
> site / load-balancing cluster.
> 
> I opted for new code as I could not get around stability issues of the  
> current one. Also wanted some extra features for the installations we  
> are doing this year.
> 
> My goal was to replicate 100% of the functions of the current ACD.
> Apart from being able to put it on a distributed server or change the  
> default SIP and/or XML/RPC ports my code simulates all features of the  
> current ACD.
> 
> Some things behave differently - eg always on agents show as always  
> logged in, one cannot log out if marked as always logged-in.
> Presence is persistent across "reboots". There are no actual reloads  
> needed - new config comes online as soon as one clicks on "activate"  
> in sipXconfig.
> Lines & queues have priorities.
> 
> sipXconfig-agent /reported serves data directly from Postgres database  
> - no lag/ no memory hungry log processing.
> 
> The ACD server is a single threaded Finite State Machine that  
> processes FS events.
> 
> So generally not something that is an evolution of current product but  
> a proof that revolution is possible and something that will allow me  
> to build 500 seat custom ACD setups this year.

Very intriguing Pawel. 

It would be helpful if you had a writeup of the functionality from an
end-user/administrator point of view.  Certainly the additions of
transfer capability and HA would be very welcome.

Do you have any idea how much time/effort it will take to get from
"leaky PHP" prototype to production-ready?

I think the thing to do is probably to get you a branch that you can
check this in on, and someone who can help you with the process
management issues.  I'll see if we can rustle something up....


_______________________________________________
sipx-dev mailing list
sipx-dev@list.sipfoundry.org
List Archive: http://list.sipfoundry.org/archive/sipx-dev
Unsubscribe: http://list.sipfoundry.org/mailman/listinfo/sipx-dev

Reply via email to