Help needed in designing a Contact Center solution


I am working on a Contact Center solution. It will support mail, chat and call queries.

The requirements are:

  1. An end-customer calls, the call is redirected to an IVR system (can this be Asterisk?).
  2. Customer makes IVR selection, his call is put on hold and an entry is made in my system’s database for incoming queries.
  3. These queries are shown to agents handling calls.
  4. And agent clicks on a a query, he is connected to the customer (through Softphone?).
  5. He talks to the customer and resolve his queries.

Please guide me on how can do it. The application will be written in Java.

I am an experienced programmers in Java/J2EE; but doesn’t have much knowledge of VoIP/Asterisk. Please guide about the opimum architecture for this.



You can use ACD function of Asterisk to achieve your goal. … k-ACD.html

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.

Hi dev_shah,

Thanks for your reply.

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.

How it can be achieved?

Thanks and Regards