i came across astercc which provides predictive dialing and ACD. it is built using asterisk,php and mysql. it allows you to upload a call list on a web portal and start predictive dialing that bridges answered calls to call queue or dedicated agents. the predictive dialer adjusts speed automatically by agent availability.
the astercc iteself has a free verison which restricts number of concurrent channels.
btw, we then customized it and delivered using SaaS model.