Yes, you can use Asterisk as your IVR system. You can use softphone/deskphone to login Agents to the call center.
Why would you want Agent to click on a query? ACD will automatically distribute the queued calls to the available agents. Agents can simply answer the call from the softphone/deskphone (first come, first serve basis).
Asterisk ACD will take care 95% of your contact-center solution.
You just need to write JAVA program that can relay the query information to the Agents.
Actually we already have a workflow solution; and are building the Contact Center solution on top of that. We want to cater to three input channels: mail, chat and voice; and want all these queries to be listed in one place. Therefore I want an entry to be made in our BPM system as soon as the call comes. Then that list will be visible on agents’ dash-board and whoever is free will pick up the call.